- Two Types of IT Projects
- What is In Scope for a Robust Microservices Design?
- Scoping Your Microservice via the Bounded Context
- Scoping Your Solution’s Microservices Architecture
- External / Shared and Internal Service Models
- General Architectural and Software Process Organizational Principles
- Loose Coupling, the OOD Perspective
- Crossing Process Boundary is Expensive!
- Cross Cutting Concerns
- More Cross Cutting Concerns
- To Centralize or Decentralize Client Access?
- Decentralized Client Access
- Centralized Client Access
- The Facade Pattern
- The Facade Service Conceptual Diagram
- The Naked Objects Architectural Pattern
- When to Use Naked Objects Pattern
- Dealing with the State
- How Can I Maintain State?
- Micro Front-ends (a.k.a. MicroUI)
- How can MicroUI Help Me?
- Your Clients Are Diverse
- The “Rich Client” – “Thin Server” Paradigm
- The “Rich Client” – “Thin Server” Architecture
- RIA as a Driving Force to Turn the “Thin Server” into a Set of Microservices
- Design for Failure
- Managing Failures Effectively
- The Immutable Infrastructure Principle
- Implementing Microservices
- JAX-RS
- Microservice-Oriented Application Frameworks and Platforms
- Embedding Databases
- Embedded Java Databases