SOA Definition
"SOA is the business operations strategy for leveraging information to meet their objectives, such as increasing overall revenue, increasing customer satisfaction, and improving product quality. Both business and IT stakeholders need to partner to define the strategy and the roadmap to achieve stated objectives"
Organizations MUST observer these laws if they want to maintain order while adopting SOA. These laws support both the local (departmental) and federated (enterprise) model.
SOA Postulates
by Yogish Pai
- A service is an indivisible unit of work
- A service is independent of the protocol or implementation
- There will be one and only one service producer
- There can be multiple instances of the same service
- An entity that utilized the service is called the service consumer
- There can be one or more service consumers for a given service
- A line between the services is the agreement between the producer and the consumer
- A service can invoke other services, thereby, creating a hierarchy of services
- A service not consumed by any producer is an orphan service
SOA Theorems
SOA Corollaries
Profile of a Business Service
by Surekha Durvasula
- A service should expose a single business function or business process in it’s' entirety
- A service should not make assumptions of the validity of the request and should validate the request for accuracy including checking that the requestor is authorized properly prior to honoring the call
- A service should delegate to the right enterprise resources to complete
the business function - A service should be responsible for notifying and dispatching the right requests/ information to all related services and/or applications on behalf of the requestor
- A service should be responsible for any call chaining, sequencing and aggregating of the requests and the intermediate responses in order to completely process the consumer’s original call
- A service should provide business information as a canonical document
that is consumable by both human actors and system actors - A service should return a response that has the business context built in along with the response to the question asked by the requestor
- A service should rely on enterprise worthy metadata information including the application of any algorithms, enterprise-wide business rules and strategies in order to process the requestors' call