Solution

Microservices, forced by the very idea behind the concept, recommend granularization of services to improve reuse and to enforce single responsibility principle. While this improves maintainability, it also introduces the requirement of having an abstraction layer which can aggregate multiple Microservices to expose a business functionality which can be easily consumed by an application. Services Façade will play this role of this abstract layer which a client can integrate with, without knowing the complexity of invoking one or more Microservices behind the scene.

As defined by Gang of Four, the role of the façade pattern is to provide different high-level views of subsystems whose details are abstracted from the client. The subsystems in our case would be specialized Microservices deployed over heterogeneous environments.

Design Patterns: Elements of Reusable Object-Oriented Software is a considered to be an authoritative book describing software design patterns. The book's authors are Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. The book discusses 23 classic software design patterns which are regarded as an important source for object-oriented design theory and practice. The authors of the book are often referred to as the Gang of Four (GoF).

Service Façade can be visualized as an orchestration layer responsible for integrating one or more Microservices to achieve a specific business use case. The Service Façade either routes the request to a service or fans out the request to multiple services. The business logic of the system is encapsulated in the Service Façade and is thus abstracted from the client. The Façade itself can be a Microservice participating in the application.

The following diagram illustrates this pattern in action:

Service Façade (Solution)

Microsoft Azure API Management is a software as a service which enables orchestration, transformation and documentation of services. The service also provides other functionalities such as metering and analytics. API Management is a potential service to be considered to play the role of a Services Façade for Microservices based applications.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.254.111