SOA is an evolution of distributed computing designed to allow the interaction of software components, called “services”, across a network.
Applications are created from a composition of these services and the services can be shared among multiple applications.
SOA is an approach that helps design, implement, and deploy large systems that are created from components that implement discrete business functions.
These components are called “Services”, which are distributed across geography, across enterprises and can be reconfigured into new business processes as needed.
What is a Service
A Service is a program that can be interacted with through and well-defined message exchanges.
Messages can be sent from one service to another without consideration of how the service handling those messages is implemented, thus providing interoperability and adaptability.
Services must be designed for both availability and stability.
Services are loosely coupled to help provide the most important benefit of SOA: Agility
Services are entities that are independently deployed, versioned, and managed.
Services interact through explicit message-passing over well-defined boundaries, published via WSDL.
Services communicate using XML, which is agnostic to both programming languages and platforms. The schema defines the structure and content of the messages, while the service’s contract defines the behavior of the service itself.
A Service decides what message it should process.
Example 1
A Human Resources Management application could be created from the following services:
An HR Department Portal Service provides a web browser-based user interface for members of the HR department presenting the functions of the above services.
Example 2
A travel application used on a mobile can use SOA to obtain all the below information from different service providers
Have questions? Contact the technology experts at InApp to learn more.