Course Outline

Basics of Software Architecture

• What is architecture

• Who is an architect and what role do they play

• Risk management

System Parameters: What are system parameters

• How to correctly define non-functional requirements

• Description of system parameters:

• User convenience, Security, Performance,

• Availability, Reliability, Flexibility,

• Feasibility, Testability, Serviceability, Manageability

• System dimensions

• Prioritization of system parameters

Architectural Patterns

• Introduction to patterns

• Stable Dependency Principle

• Responsibility division patterns: MVC vs SPA, N-Tier and Layers

• Infrastructure patterns:

• Horizontal and vertical scaling, Modularity

• Load balancing, Network redundancy, Clusters, Clouds

• EAI patterns: Message Broker, SOA, ESB, and similar

• Microservices

• Presentation of selected pattern templates

Microservices in Detail

• How they relate to SOA

• And how do they compare to Monoliths

• Advantages and disadvantages of Microservices

• Cloud services: IaaS, CaaS, Paas, FaaS, SaaS

• When to choose them, when not to, and how to start

• Data in Microservices and the BASE approach

• Supporting patterns: CQRS and Event Sourcing

Client and Presentation Layer Architecture

• Session management

• Client division

• Thick client technologies: graphical libraries vs RCP

• Thin client support: for MVC, SPA (Angular, Vue, React)

• Advanced browser communication: AJAX, WebSocket

Business Layer Architecture

• Distributed processing

• Remote vs local communication

• Communication protocols:

• COBRA, SOAP, REST, GraphQL, Sockets, RMI, gRPC...

Integration and Resource Layer Architecture: Data persistence technologies:

• RDBMS, hierarchical databases, NoSQL, BigData

• Asynchronous communication

UML Architecture Review

• Component diagram (component diagram)

• Deployment diagram (deployment diagram)

 21 Hours

Number of participants


Price Per Participant (Exc. Tax)

Testimonials (1)

Provisional Courses

Related Categories