Service-Oriented Architecture (SOA), Web Services, and Microservices

Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)

Service-oriented architecture (SOA) can be fulfilled by web services or Microservices. The web services approach leads to the SOA, while the microservices architecture is an extension to the SOA. Enterprise application integration (EAI) based on SOA typically implements a shared enterprise service bus (ESB) for enterprise applications to exchange messages. Microservices are hosted in one or more containers collaborating under the orchestration of Google Kubernetes (K8S), Docker Swarm, or Apache Mesos.

Service-Oriented Architecture (SOA)

A service is a self-contained and loose-coupling logic. In SOA, traditional monolithic applications are divided into services collaborating to achieve common goals. Service providers register services to private or public service registries; service consumers find or discover services of interest against the registry to consume (bind and invoke) the services.

SOA's Find-Bind-Execute Paradigm
SOA’s Find-Bind-Execute Paradigm (Credit: Qusay H. Mahmoud)

“IBM, Microsoft and SAP used to host public UDDI servers a couple of years ago but that was discontinued.”

~ user159088 on stackoverflow

SOA meta-model, The Linthicum Group, 2007

Microservices

Microservices: A microservice is a basic element that results from the architectural decomposition of an application’s components into loosely coupled patterns consisting of self-contained services that communicate with each other using a standard communications protocol and a set of well-defined APIs, independent of any vendor, product or technology.

Microservices are built around capabilities as opposed to services, builds on SOA and is implemented using Agile techniques. Microservices are typically deployed inside Application Containers.

Source: NIST SP 800-180 (draft)

Container Orchestration

Mesos, Swarm, and Kubernetes
Mesos, Swarm, and Kubernetes (Credit: Nane Kratzke)
Kubernetes architecture
Kubernetes architecture (Credit: Dorothy Norris)

References

Leave a Reply