• 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