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.
“IBM, Microsoft and SAP used to host public UDDI servers a couple of years ago but that was discontinued.”
~ user159088 on stackoverflow
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)
- SOA Manifesto
- Service-oriented architecture
- Are there any public UDDI registries available?
- UDDI registries: Web service directories that can be referenced by bus-enabled web services
- Pattern: Microservice Architecture
- Container Orchestration in 2019
- Neo4j Container Orchestration with Kubernetes, Docker Swarm & Mesos
- Kubernetes vs. Mesos – an Architect’s Perspective
- Apache Mesos png 4
- SOA vs. Microservices: What’s the Difference?
- Enterprise service bus
- Enterprise application integration
- Service-Oriented Architecture (SOA) and Web Services: The Road to Enterprise Application Integration (EAI)
- Web services approach to a service-oriented architecture