Skip to content

Service Oriented Architecture (SOA)

Architectural style that focuses on discrete Services instead of [[monolithic design]].

Different services can be used in conjunction as a [[Service Mesh]] to provide the functionality of a large application ([[modular programming]]).

SOA integrates distributes, separately maintained and deployed software components. It is enabled by technologies and standards that facilitate components' communication and cooperation over a network, especially over an IP network.

SOA is related to the [[API]] idea, an interface or communication protocol between different parts of a computer program intended to simplify the implementation and maintenance of software.


Principles

There are no industry standards relating to the exact composition of a service-oriented architecture, although many industry sources have published their own principles.

Service Contract

Service Reference Autonomy

Service Location Transparency

Service Longetivity

Service Abstraction

Service Autonomy

Service Statelessness

Service Granularity

Service Normalization

Service Composability

Service Discovery

Service Reusability

Service Encapsulation


Patterns

Each SOA building block can play any of the three roles:

Service Provider

Service Broker

Service Consumer


Implementation Approaches

...

Organizational Benefits

...

Criticisms

...

Extensions and Variants

...

  • Conspect this
  • Add flashcards / review
  • implement an example project with this