Edition 0 Updated to asp. Net core 0


Application specifications



Yüklə 11,82 Mb.
Pdf görüntüsü
səhifə88/288
tarix12.07.2023
ölçüsü11,82 Mb.
#136458
1   ...   84   85   86   87   88   89   90   91   ...   288
Application specifications 
The hypothetical application handles requests by executing business logic, accessing databases, and 
then returning HTML, JSON, or XML responses. We will say that the application must support various 
clients, including desktop browsers running Single Page Applications (SPAs), traditional web apps, 
mobile web apps, and native mobile apps. The application might also expose an API for third parties 


94 
CHAPTER 5 | Designing and Developing Multi-Container and Microservice-Based .NET Applications 
to consume. It should also be able to integrate its microservices or external applications 
asynchronously, so that approach will help resiliency of the microservices in the case of partial failures. 
The application will consist of these types of components: 

Presentation components. These components are responsible for handling the UI and 
consuming remote services. 

Domain or business logic. This component is the a
pplication’s domain logic.

Database access logic. This component consists of data access components responsible for 
accessing databases (SQL or NoSQL). 

Application integration logic. This component includes a messaging channel, based on message 
brokers. 
The application will require high scalability, while allowing its vertical subsystems to scale out 
autonomously, because certain subsystems will require more scalability than others. 
The application must be able to be deployed in multiple infrastructure environments (multiple public 
clouds and on-premises) and ideally should be cross-platform, able to move from Linux to Windows 
(or vice versa) easily. 
Development team context 
We also assume the following about the development process for the application: 

You have multiple dev teams focusing on different business areas of the application. 

New team members must become productive quickly, and the application must be easy to 
understand and modify. 

The application will have a long-term evolution and ever-changing business rules. 

You need good long-term maintainability, which means having agility when implementing new 
changes in the future while being able to update multiple subsystems with minimum impact on 
the other subsystems. 

You want to practice continuous integration and continuous deployment of the application. 

You want to take advantage of emerging technologies (frameworks, programming languages, 
etc.) while evolving the application. You do not want to make full migrations of the application 
when moving to new technologies, because that would result in high costs and impact the 
predictability and stability of the application. 

Yüklə 11,82 Mb.

Dostları ilə paylaş:
1   ...   84   85   86   87   88   89   90   91   ...   288




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin