Service Oriented Architecture (SOA) is not simply a technology or a product: it's a style of design, with many aspects like architectural, methodological and organizational unrelated to the actual technology such as implementing an Enterprise Service Bus (ESB) in an application stack.

SOA is the new generation distributed computing platform whose components and sub-systems are a service provider to the enterprise and/or cross enterprise than a project. SOA design pattern(s) expects you to conceptualize, implement and manage re-usable business function(s) of an enterprise as a service.

Primarily, SOA services consumers and providers interacts using decoupled interfaces to promote the efficiency, agility and productivity in an enterprise for designing, implementing and managing business functions. In business terms, SOA enables an organization to leverage economies of scale and scope in their products and services offerings.

Service is a function that is well defined, self contained, and doesn't depend on the state of other service(s). In some cases, a service provider is a service consumer as well. If the services are consumed over HTTP(S), than it's called Web Services. HTTP(S) is the application protocol mostly used for SOA Services, also known as SOA Web Services. Usually, the request and response from the services is an XML.

An Enterprise SOA is expected to create a collaborative environment without worrying about underlying heterogeneous processes, tools, and technologies of other services. SOA services platforms are expected to be stateless, secure, scalable, available, backward compatible, and meet the Service Level Agreements (SLA), and Service Level Expectations (SLE).