::Service-Oriented Architecture::

A service-oriented architecture (SOA) is an architectural pattern in computer software design in which application components provide services to other components via a communications protocol, typically over a network. The principles of service-orientation are independent of any vendor, product or technology.

Service Oriented Architecture (SOA) has several core ideas that should be addressed in your organization's SOA journey: A set of services that a business wants to provide to their customers, partners, or other areas of an organization An architectural style that requires a service provider, mediation, and service requestor with a service description A set of architectural principles, patterns and criteria that address characteristics such as modularity, encapsulation, loose coupling, separation of concerns, reuse and composability A programming model complete with standards, tools and technologies that supports web services, REST services or other kinds of services A middleware solution optimized for service assembly, orchestration, monitoring, and management.