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
Testimonials (1)
Odczucie bardzo pozytywne.
Piotr - Asseco Poland S.A
Course - Architektura systemowa dla analityków
Machine Translated