Service-oriented architecture is a way to design software where the business services communicate through a standard communication protocol, usually Simple Object Access Protocol (SOAP), over a network. The main target of an SOA is to be independent of vendors, products, and technologies. The principal unit of an SOA is the service—a small unit of functionality that can be accessed remotely, and acted upon and updated independently.
The communication between services happens via direct exchange of data or it could involve two or more services that are coordinated by an orchestrator, Enterprise Service Bus (ESB) that is responsible for managing the execution flow.
There are two main roles in an SOA—a service provider and a service consumer. The first one is the service that's defined within the SOA while the second one is the point where consumers...