Chapter 12. Creating applications over microservices

 

This chapter covers

  • Building an end user application on top of a microservice system
  • Understanding the composite application, API gateway, and the backend for frontend design patterns
  • Using server-side and client-side rendering in web applications

So far, we’ve concentrated on implementing business capabilities in microservices and exposing those capabilities through HTTP APIs. But end users don’t use HTTP APIs—they use web apps, mobile apps, desktop applications, smart TVs, VR glasses, and other applications on devices with interfaces geared to humans. To give end users access to all the capabilities of microservices, we need to implement applications on top of microservices. This chapter is about doing that: we’ll move from looking at designing single microservices to bringing all the microservices together in an architecture that supports building applications for end users.

We’ll start with a broad, nontechnical discussion of how to approach building applications on top of a microservice system. Then we’ll go into three specific architectural patterns for implementing applications: The composite application, API gateway, and backend for frontend patterns.

12.1. End user applications for microservice systems: one or many applications?

12.2. Patterns for building applications over microservices

12.3. Example: a shopping cart and product list

12.4. Summary