Overview

SOA is a design pattern where application components provide services to other components through a communication protocol, typically over a network. It emphasizes loose coupling and the use of standard interfaces.

Key Concepts

  • Service: A self-contained unit of functionality.
  • Enterprise Service Bus (ESB): A centralized tool that manages communication between services.
  • Loose Coupling: Services are independent and don't need to know the internal workings of others.

SOA vs. Microservices

While both use services, SOA often relies on a centralized ESB and can involve larger, more complex services, whereas microservices focus on small, independent, and decentralized components.

Related Terms