Symbols
.NET
communication facilities 112, 113
dealing, with microservices 112
.NET 6
design patterns 250
interoperability with .NET 6 55
SOA, dealing with 312
tips and tricks, for coding 553, 554
used, for creating scalable web app 38-45
used, for enabling availability 32, 33
used, for enabling resiliency 32, 33
used, for enabling scalability 32, 33
using, for code reuse 287
.NET Core 162
.NET Core projects 59
.NET Generic Host
reference link 250
.NET libraries
documenting, with DocFX 294
.NET Portability Analyzer
reference link 489
.NET SDK
gRPC support 313
.NET Standard
defining class libraries with 60
reference link 288
.NET Upgrade Assistant
reference link 489
.NET worker services
used, for implementing microservices 361
.yaml files 132
A
A* algorithm 509
absurd 511
Access Control 76
action methods 316
action preconditions 512
aggregates 268
Agile
Manifesto 8
software development models 8-10
Ahead-Of-Time (AOT) compilation 474
alpha-beta search 509
Analyze and Code Cleanup tool 557
anti-forgery token 433
API gateway 415
API key 310
API management systems 415
application architecture 416
application layer 418
data layer 417
domain layer abstraction 417
Application Insights 585
Application Performance Management (APM) 221
Application Services 264
application specifications 416
defining 416
app, migrating from Xamarin.Forms
reference link 496
Artificial Intelligence (AI)
Azure Cognitive Services, using 91
introduction to 508
Artificial Intelligence (AI) techniques
classification 508
truth maintenance systems (TMSs) 514, 515
artificial neuron 521
configuration data, using it with framework 379-383
controllers and ViewModels, defining 389-393
MVC and design principles 405
used, for implementing REST services 316-319
used, for implementing worker microservices 351
ASP.NET Core MVC, with response HTML
Razor flow, of control statements 395-397
Razor tag helpers, using 397-401
Razor View properties 397
ASP.NET Core pipeline 375
advantages 405
client-side validation 406, 407
server-side validation 406, 407
asynchronous programming
applying 22
ATMS algorithms 518
automated integration test 623, 624
autoscaling 153
Awesome Blazor project
axioms 510
Azure 3
private Docker registry, defining 125-127
scalable web app, creating 33-36
support, for microservice orchestration 125
used, for enabling availability 32, 33
used, for enabling resiliency 32, 33
used, for enabling scalability 32, 33
Azure account
Azure App Service 414
Azure Charts
reference link 4
Azure Cognitive Services 91
Azure Container Registry
reference link 107
Azure Cosmos DB 196
client 202
data, accessing 199
database consistency, defining 199-201
destinations/packages database, implementing with 204-208
Entity Framework Core provider 203
reference link, for capacity modes 197
Azure database
creating 574
continuous delivery 572
pipelines 74
system requirements managing 75
test plans 74
used, for organizing work 67, 68
Azure DevOps repository
Azure Durable Functions 222
Azure Functions
implementing, to send emails 224
pricing 213
templates 220
triggers and bindings 220
Azure Functions app 212
Consumption plan 213
Premium plan 213
Azure Functions, implementing to send emails
Azure queue storage, creating 225-227
Azure Storage Explorer, reference link 227
queue trigger function, creating 229-231
Azure Kubernetes clusters
Azure Machine Learning Studio 528
Azure Monitor 585
Azure Pipelines
Azure Queue Storage
output bindings reference link 228
Azure Service Bus 347
communication 113
Azure SQL database 189
creating 190
Azure storage accounts
creating 193
Azure Web App
B
B2B (Business to Business) 58
B2C (Business to Consumer) 58
back-propagation algorithm 522
bank language 254
bearer token 310
BenchmarkDotNet
URL 46
best practices, for reliable Azure Functions
reference link 213
best practices, in coding 540
cyclomatic complexity metric 541-544
depth of inheritance metric 545, 546
index, maintainability 541
number of lines metric 548
bi-dimensional maps 521
Binaron 362
binary serialization 338
Blazor
events 457
Blazor, advanced features 466
AOT compilation 474
communication, with server 472-474
globalization 469
JavaScript interoperability 467, 468
localization 469
references, to components and HTML elements 466, 467
Blazor components 448
HTML <head> content, modifying from 465, 466
Blazor Controls Toolkit
reference link 475
Blazorise project
reference link 475
Blazor pages 448
BlazorReview application
creating 444
root App component, using for simulating page changes 446-448
BlazorStrap
reference link 475
Blazor WebAssembly
architecture 442
third-party tools 475
Bounded Contexts 256
bulkhead isolation 105
bUnit open source project
reference link 475
business layer 263
application layer 263
domain layer 263
C
C#
dealing, with code reuse 289
functional tests, automating 637
performance issues, considerations 46
safe code, writing 549
used, for programming Azure functions 214-220
caching 22
C# Azure Functions, in isolated process
reference link 224
C# code
C#, dealing with code reuse
generics 291
object-oriented analysis 289-291
C# test projects
defining, in Visual Studio 631
certificate manager 141
change detection 460
choreography 350
CI/CD challenges, techniques
automated testing, utilizing 615-617
continuous production deployment, disabling 610, 611
Pull Requests (PRs), using 611-615
claims 310
clause resolution 510
clauses 511
cloud architecture availability patterns
reference link 33
cluster nodes 130
code analyze
extension tools, applying to 559
Code Metrics tool
in Visual Studio 540
code modularity 101
code quality
identifying 554
code reusability
principles 283
code reuse 286
.NET 6, using 287
advantages 284
C#, dealing with 289
not ready for reuse considerations 292
Code Style option 556
Command Query Responsibility Segregation (CQRS) 268, 272-275, 418
communication stack, factors
availability of tools and knowledge 301
compatibility constraints 301
development/deployment platform 301
flexibility versus available features 302
performance 301
service description 302
compiled models 174
composition files 107
connectors 161
constraint propagation 509
containers 106
Context Mapping 258
continuous delivery (CD) 583
with Azure DevOps 572
continuous feedback
defining 585
continuous integration (CI)
Continuous Integration and Continuous Deployment/Delivery (CI/CD) 46, 67, 606
risks and challenges 610
risks and challenges, dealing with 610-617
trigger, enabling 606
controlled application 637
control set 519
convolutionary 521
Cosmos DB emulator
reference link 208
Cosmos DB Entity Framework Core provider
use case 204
cross-platform technologies 493
.NET MAUI 496
customer 255
D
database access
obtaining 23
database approach
advantages 195
disadvantages 195
database consistency levels
bounded staleness 200
consistent prefix 200
eventual 200
session 200
strong 200
Database Transaction Units (DTUs) model 189
data-driven asynchronous communication
data layer
data storage use case 204
Data Transfer Objects (DTOs) 179, 267, 273
DB entities
DELETE operation 307
demo Guestbook application
Dependency Injection (DI) 374, 419, 553
Dependency Injection pattern 248, 249
Dependency Service 496
deployment modularity 101
Deployments 133
challenge 236
Dependency Injection pattern 248, 249
in .NET 6 250
principles 236
Publisher/Subscriber pattern 248
design techniques
using 20
Design Thinking 20
destinations/packages database
implementing, with Cosmos DB 204-208
DevOps 570
principles 571
distributed transactions 349, 350
two-stage protocol 349
DocFX
used, for documenting .NET libraries 294
Docker 107
Docker Compose 107
Docker file
Domain-Driven Design (DDD) 256-259, 416
Domain-Driven Design (DDD) entities 259-262, 271, 272
domain layer abstraction
domains
dotnet-install scripts
reference link 55
dynamic link libraries (DLLs) 101, 287
E
elicitation 15
emails
sending, by Azure Functions implementation 224
Entity Framework Core 271, 272
entity functions 222
envelopes 303
Epic work items 76
Erlang 361
exchanges 362
extension tools
applying, to analyze code 559
Extract-Transform-Load (ETL) 525
Extreme Programming (XP) 11, 12
TDD and Extreme Programming 626
URL 11
F
feature work items 76
feedback
enabling, with Test and Feedback tool 592-596
Figma
URL 16
FluentValidation 406
formatter 390
frontend microservices 414
function
creating, to send emails 227-229
functional tests 622, 625, 628-630
automating, in C# 637
function app timeout duration
reference link 214
Function as a Service (FaaS) 95
G
Gang of Four (GoF) 236
Garbage Collector (GC) 23
generic hosts
generics 291
GET operation 307
GitHub 3
GitHub Actions 607
GitHub flow 549
reference link 549
gRPC 313
reference link 314
GrpcMicroservice project
testing with fake purchase requests generator 358-361
H
headless Services 139
Helm
horizontal scaling (scaling out) 37, 38
hosted services 115
HTML <head> content
modifying, from Blazor components 465, 466
HTTPS certificates 141
HTTP trigger 215
hybrid applications
using 95
WWTravelClub architecture use case 96, 97
I
IDisposable interface 552, 553
image features 521
incremental model
induction-based learning 523, 524
Infrastructure as a Service (IaaS) 84
security responsibility 86
Infrastructure as Code (IaC) approach
reference link 574
infrastructure layer 265
Ingress Controller
installing 156
name-based virtual hosting 140
services 140
using as a web server and load balancing 414
integration tests 622
automating 623
interfaces
mocking, with Moq framework 635, 636
internal queues
replacing, with RabbitMQ 362-370
interoperability constraint 300
Inversion of Control (IoC) 249
isolated process model 223
iterative algorithm 519
J
Jasmine 630
K
Kanban 13
Karma 630
knowledge revision 516
Kolmogorov complexity 519
Kubectl
using 144
Kubelet 131
Kubernetes 130
.yaml files 132
advanced concepts 148
autoscaling 153
Deployments 133
ReplicaSets 133
requiring permanent storage 148, 149
Kubernetes cluster 130
L
labels 131
lazy loading 246
Lean principles 10
Lean software development 10
learning by being told 516
least commitment 509
Levenshtein algorithm 52
linear planners 512
Lines of Executable code 548
Lines of Source code 548
LINQ queries 161
Linux
service, creating 56
Lipschitz continuous 519
local queue 348
Lucidchart
URL 16
M
machine learning (ML) 508, 515
working 515
machine learning solution, delivering steps
data, preparing 525
data, providing 525
goal, defining 525
trained model feed back 529
trained model, testing 529
Machine Learning Studio 526
maintainability index 541
mapped collections
defining 166
mapping configuration
message brokers 347
used, for implementing microservices 361
Message Center 496
messages 338
micro-frontends 414
microservice orchestration
Azure support 125
Visual Studio support 125
microservices 100
architecture 351
communication channels 112
implementation of business and data layer, improving 110, 111
implementing, with message brokers 361
implementing, with .NET worker services 361
layered architectures 108, 109
specifications 351
tools, requisites 125
microservices, design principles 102
independence, from deployment environment 103
independence, of design choices 102
loose coupling 103
no chained requests/responses 103-105
middleware 375
Minimal API 388
Minimal APIs overview
reference link 316
minimum viable product (MVP) 20
ML.NET 529
ML project
software architect, role 525
modus ponens 510
Moq framework
used, for mocking interfaces 635, 636
Multi-Factor Authentication (MFA) 58
multistage environment 583
multi-tenant applications 195
multithreading environments
MVC framework 318
MySQL server
creating, on Azure 189
N
native development
technologies focused on 488
neural networks 513, 514, 521, 522
Document-Oriented Database 190
Graph Database 190
Key-Value Database 190
Wide-Column Store Database 190
nullable reference types
reference link 553
NUnit 634
O
object allocation
dealing with 23
object-oriented analysis 289-291
Object-Relational Mapping (ORM)
Ocelot 415
Online GUID / UUID Generator
URL 565
Open Web Application Security Project® (OWASP)
URL 57
orchestration 350
orchestrator function 222
orchestrators 107
organization
adapting, to service scenario 597
outermost layer 265
P
PATCH operation 307
Pencil Project
reference link 16
writing 626
PersistentVolumeClaim (PVC) 149
pipelines 74
pixel shaders 508
Platform as a Service (PaaS) 22, 84, 87
Azure Cognitive Services 91-94
web app 88
pods 130
Polly 360
possible world 515
POST operation 307
pre-deployment conditions
presentation layer
private Docker registry
Probable Approximate Correct (PAC)
fundamentals 516
Product Backlog items/User Story work items 76
Product Owner 12
progressive web apps (PWA) 492, 493
project
proof of concept (POC) 488
ProtoBuf binary format 338
ProtoBuf data description language 339-343
ProtoBuf deserialization 344
ProtoBuf serialization 344
prototypes 16
providers 161
reference link 161
public registry, Docker
reference link 107
public web APIs 415
Publisher/Subscriber pattern 248
Pull Requests (PRs) 612
PUT operation 307
Q
queued requests
queue trigger function
R
installing 361
messages 362
used, for replacing internal queues 362-370
Razor flow
Razor tag helpers
Razor View
properties 397
Redis 192
Redis cache
reductio ad absurdum 511
refactoring code
considering, reasons 292
relational databases 188
release
manual approval, adding for 579, 580
Release Flow 549
reference link 549
release stages, Azure DevOps
development/tests 583
production 583
quality assurance 583
reliability patterns
reference link 59
Remote Desktop Protocol (RDP) 86
Remote Procedure Calls (RPC) 337
usage, in microservices 345-347
render tree 453
Representational State Transfer (REST) 307
requirements
requirements engineering 15
requirements gathering process 15
cases impacting system results 21
requirements gathering process cases
usability of system not meeting user needs 24, 25
user needs not properly implemented 24
website is slow to open that page 21
requirements specification
reviewing 19
writing 18
resiliency
resiliency patterns
reference link 32
resilient task execution 114, 115
REST language
REST service
implementing, with ASP.NET Core 316-319
REST web services 304
type compatibility rules 305, 306
using, native HTTP features 306-308
reusability
in development life cycle 286, 287
reusable class library
robustness 19
route to code 388
S
SaaS solution
advantages 599
disadvantages 599
SAFe® 14
safe code
writing, in C# 549
saga pattern 350
saga transactions, using techniques
choreography 350
orchestration 350
scalability 19
scalable web app
scheduler 131
Scrum framework
URL 12
Scrum Master 12
security 19
achieving, by design 57
Selenium IDE
reference link 625
Selenium WebDriver
used, for testing staging application 639, 640
sensitive data 58
serverless solution 95
service
creating, in Linux 56
service design 300
service design thinking 597
Service-Oriented Architecture (SOA) 102, 598
.NET 6 deal with 312
Services, Kubernetes 131, 136-139
service scenario
organization, adapting to 597
solution, preparing for 599-601
technical implications 598
shard keys 194
simple application, in Blazor WebAssembly
ASP.NET Core REST APIs, implementing 477-479
business logic, implementing in service 479, 480
implementing 475
solution, preparing 476
user interface, implementing 480-483
Simple Object Access Protocol (SOAP) 303
client support 313
single-page application (SPA) 374, 443
frameworks 443
Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, or Dependency Inversion (SOLID) 623
applying, situations 521
requirement 521
SOA approach
SOAP web services 303
issues, associated with standard 304
SOA solutions
fundamental features 302
software architect
ML project, software architect’s role 525
Software as a Service (SaaS) 63, 84, 94, 508, 596
software deployment models 83
software development process model 6
software development project
steps 6
software requirements
gathering to design high-quality software 14
SonarAnalyzer
Sonar Cloud
SonarLint 560
source code analysis
reference link 560
Sprint 12
SQL
versus NoSQL document-oriented databases 193-195
SQL commands 174
SQL configuration
reference link 91
SQLite.NET 496
StackExchange.Redis client
reference link 192
staging application 637
testing, with Selenium WebDriver 639, 640
static code analysis tools 554
stored procedures 174
supervised learning 516
support vector algorithm 517, 523
Swagger
used, for documenting Web API 295
system requirements
managing in Azure DevOps 75
T
target framework moniker (TFM) 289
target frameworks, in SDK-style projects
reference link 289
Team Foundation Server (TFS) 95
tenants 195
Test and Feedback tool
using, to enable feedback 592-596
Test-Driven Development (TDD) 12, 626, 627
green stage 627
red stage 627
refactoring stage 627
test plans 74
theorem provers 510
third-party tools, Blazor WebAssembly 475
Timer trigger 215
traditional software development process models
reviewing 6
traditional software engineering 6
transactions
handling 182
truth maintenance systems (TMSs) 514, 515
try-finally statements 551, 552
turing test 508
U
Ubiquitous Language 256
Unified Modeling Language (UML) 16
unit tests 622
automating 623
unsupervised learning 516
constraints 517
usability
huge number of items, selecting from 53-55
selection logic, designing 51-53
use cases 16
presenting, in Azure DevOps 77-80
use-identify-modify-design-build process 287
user interface (UI) 50, 51, 628
user needs
user requirements techniques
interviews 16
observation 16
power of imagination 15
questionnaires 16
V
version control system
using 548
version control system, in teams
dealing with 548
vertical scaling (scaling up) 36, 37
view components 404
views
Visual Studio
C# test projects, defining 631
support, for microservice orchestration 125
Visual Studio 2022 Preview
reference link 497
Visual Studio solution
Visual Studio solution, projects
PackagesManagement 419
PackagesManagementDB 419
PackagesManagementDomain 419
W
waterfall model principles 6, 7
Web API
documenting, with Swagger 295
web applications
presentation layers 374
web development
technologies focused on 492
Windows Forms desktop app, migrating to .NET 5
reference link 489
Windows Presentation Foundation (WPF) 489, 490
work
organizing, with Azure DevOps 67, 68
worker microservices
implementing, with ASP.NET core 351
World Wild Travel Club (WWTravelClub) 25
requirements gathering process 25
WWTravelClub architecture use case 96, 97
WWTravelClub packages
WWTravelClub project
WWTravelClub sample project 563
C# code, evaluating before publishing application 564, 565
code writing, best practices 563
X
Xamarin Essentials 496
XSD specification 304
xUnit 631
xUnit test framework
advanced test preparation 633
3.21.39.142