Course Outline
Overview
- System and Component Cohesion
- System/component Dependencies
- Software Architecture
- Technical Architecture
- Enterprise Architecture
- SOA and Micro services architecture
- Relationships between above concepts
- Logic redudancy vs dependency
- Data reduancy vs dependency
Software Architecture
Fundamentals
- clarification of terms: architecture, design, modeling
- orthogonality
- conways Law
Common Architectures
- modular decomposition
- hierarchical architecture
- centralised (Mediator Pattern)
- event-based architecture
- interrupt-based
- OSI
- client/server
- layer model
Principles of OO Design
- DRY, SRP
- encapsulation
- program against an interface
- Liskovs principle
- Law of Demeter
Design Patterns
- what are Design Patterns
- Creational Patterns
- Structural Patterns
- Behavioural Patterns
- Model-Controller-View (MCV)
Design Tools
- Domain specific language
- Lexical Analysis
- CRC cards
- scenarios
- Use Case descriptions
UML Graphical Representations
- Class Diagram
- Sequence Diagram
- aggregation diagram
- UML tools
Non-UML Graphical Representations
- ER-modeling
- State Machine
- data flow
- architectural model
Design and Maintenance
- Lehmanns Laws
- Architectural Antipatterns
- Refactoring Strategies
SOA and Integration Patterns
- Integration technologies and methods
- Synchronous/Asynchronous
- More details direct communication patterns
- Direct and brokered communication
- Message Queuing
- ESB
Deployment Patterns
- Code Deployment
- Immutable deployment
- Availability, Scaleability, High Performance, Fault tolerance patterns
- Data and messages replication and clustering (CAP theorem)
Testimonials
I found the course structure to be very well thought out. While some of my colleagues failed to see Kristin's intentions I feel that the way he presented the material and managed to connect basic concepts with a much broader set of complex issues was spot on.
Alexander Pavlovsky
I liked the fact that his questions where creating subjects on matters that required discussion with colleagues on real life situations.
Christakis Costa
I enjoyed the mixture of lectures and code practice.
- WRD Management Support GmbH
Getting an structured overview over existing best-practices in software design. The hands-on exercises. We could also ask questions and get detailed replies.
- WRD Management Support GmbH
Hands-on exercises The attentive trainer noticed whenever a problem occurred during the hands-on exercises and helped me to solve the problem.
- WRD Management Support GmbH
The great knowledge that Antonio has.
- General Organization for Social Insurance
Everything. The topics, the fact that Antonio, changed the curriculum in concordance with our needs. He focused on micro services, because we needed that part.
- eMAG IT Research SRL
The Event Storming exercise and how we transformed it into a "theoretically working" software architecture.
Sergiu Vulc - eMAG IT Research SRL
The entertaining style from the trainer
- PostNord
Good interactions between us in the audience and the trainer. Same kind of humour so we had a good tone. Modified the content of the seminar to our needs and wishes.
- PostNord
the training was very well structured and very useful. the deep knowledge of the trainer, I received correct and clear answers if I had any doubts or if there was anything not clear to me.
Payolution GmbH
In general it was a good general overview of micro-services patterns.
SAP UK
In general it was a good general overview of micro-services patterns.
SAP UK
The topic is a trend today