In simplistic terms service is logically grouped set of operations capable of performing related unit of work and operates over a message.
So service is units of processing logic, which are closely related.
Therefore service has two major components:
1. Message: Data required to complete partial or all parts of a unit of work.
2. Operation: The logic required to process message in order to complete a unit of work.
A well-designed service should have following attributes:
1. Service should be reusable
2. Service should exposes a formal interface contract
3. Service should abstract underlying logic
4. Service should be composable
5. Service should be autonomous
6. Service should be stateless
7. Service should be discoverable
8. Service should be available over network
In addition of these, if we consider SOA as confederation of services on more attribute is desired:
9. Services must be loosely coupled.
So how these attributes interact!!

Services may also be viewed from application perspective over which they are written or which they make in some composable fashion. The second perspective is process perspective, which view services from enterprise process perspective.
Application perspective of Service
Process perspective of Service
Hybrid perspective of services
No comments:
Post a Comment