Skip to main content

Service-Oriented Architecture

Updated 2 min read

Share this page

Send the link, quote the definition with a link back, or show it as a card on your own site.

https://softwaredictionary.org/terms/service-oriented-architecture

In short

Service-oriented architecture builds enterprise software from reusable, network-accessible services that communicate with each other through standard contracts.

What is service-oriented architecture (SOA)?

Service-oriented architecture, or SOA, is a style of building software as a collection of services that other applications call over a network. It became popular in large organizations in the late 1990s and 2000s as a way to connect many separate systems, such as billing, customer records, and inventory, and to reuse their functions instead of rebuilding them in every application. Each service exposes a formal contract describing its operations and data.

Classic SOA implementations used SOAP web services described by WSDL documents, and often an enterprise service bus (ESB), a central piece of middleware that routes messages between services, transforms data formats, and coordinates multi-step processes. Services are typically large, cover a whole business capability, and share enterprise-wide data models so many applications can reuse them. Governance, meaning central rules for how services are designed, versioned, and secured, is a big part of SOA.

An analogy is a large company's shared departments: any team can send a request to payroll, legal, or IT through standard forms, instead of each team hiring its own accountant and lawyer. SOA is still common in banking, insurance, telecom, and government, where it wraps decades-old systems in services so newer applications can use them.

SOA is most often compared with microservices, which grew out of it. SOA aims at reuse and integration across a whole enterprise and often relies on a central bus with smart routing and shared data models, while microservices split a single application into small services that each own their data, deploy independently, and talk through simple protocols, an idea summed up as smart endpoints and dumb pipes. Both are service-based, so the difference lies mainly in scope, size, and how much is centralized.

Key takeaways

  • SOA builds systems from reusable services that communicate over a network through contracts.
  • Classic SOA used SOAP, WSDL, and a central enterprise service bus.
  • Its main goals are enterprise-wide reuse and integration of existing systems.
  • Microservices are smaller, own their data, and avoid a central bus.
  • SOA remains common in large organizations with many legacy systems.

Example

A SOAP request to a shared enterprise servicexml
<!-- A SOAP request to a shared CustomerService used by many applications -->
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
               xmlns:cus="http://example.com/services/customer">
  <soap:Body>
    <cus:GetCustomer>
      <cus:CustomerId>10452</cus:CustomerId>
    </cus:GetCustomer>
  </soap:Body>
</soap:Envelope>

Readers ask

What is the difference between SOA and microservices?

SOA focuses on sharing large, reusable services across an entire organization, often through a central enterprise service bus. Microservices split one application into small, independently deployable services that each own their data and communicate over lightweight protocols such as HTTP or messaging.

What is an enterprise service bus?

An enterprise service bus (ESB) is middleware that sits between services and handles message routing, data transformation, and protocol translation. It simplifies integration but can become a central bottleneck and a single point of failure.

Is SOA outdated?

Its original tooling is less popular for new projects, but its core ideas, such as service contracts, loose coupling, and reuse, live on in microservices and API-based designs. Many large organizations still run and maintain SOA systems.

Often compared

See also

Spotted a mistake or something missing on this page?Suggest an edit

Read a random page
Open today's review
Switch to the dark theme
Read this page in Türkçe

More

Settings