Course Outline

Basics of Software Architecture

• What is architecture

• Who is an architect and what role 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

• Priorities 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 it relates to SOA

• And how does it compare to Monoliths

• Advantages and disadvantages of Microservices

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

• When to choose, 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 Overview

• Component diagram

• Deployment diagram

 21 Hours

Number of participants


Price Per Participant (Exc. Tax)

Testimonials (1)

Provisional Courses

Related Categories