One way to understand SOA is to
understand two ABC’s of SOA. The first ABC of SOA, ABC1 is “Autonomous Business Capability”. ABC1 is what an organization does, irrespective of the fact
how it perform it. Some examples of ABC1 are underwriting service in insurance industry, Loan approval in banking industry etc.. We need to
identify modular business capabilities and then expose them as a service. Autonomous services should not share or use resources from other services. A autonomous service remains stable and available, even when changes are done in other services or their resources are not available. of course, in real life, autonomy will be limited by trade off between autonomous and shared resources cost.
The
ABC2 of a service represents Address, Binding and Contract. The ABC2 of service defines how
service oriented interaction take place in service oriented IT world. This is shown in the figure given below.
A
service provider makes available a ABC1 as an IT service. Service provider publishes the service to well know DB location , called service registry. Any authorize service consumer can login to the registry and download the wsdl. From wsdl, service consumer can generate a service proxy . Using service proxy, service provider can interact with the service by sending and receiving messages as shown in following diagram:-
wsdl contains second ABC of SOA i.e. ABC2 whose details are given below:-
wsdl contains second ABC of SOA i.e. ABC2 whose details are given below:-
C for Contract or Interface of the service. Interface defines following
Operations supported by the services.
The Input message structure for each service
The output message structure for each service
For defining messaging structure, some standards are SOAP, JSON, XML, WS-* etc.
B stands for Binding
The transport protocol through which input and output messages should be exchanged. Some examples of transport are http, JMS, SOAP etc.
A stands for Address
Every service should have have an IP address on which service consumer can send the messages for invoking a particular operation provided by the service.
The interaction shown in above diagram in called service oriented interaction. Service oriented interaction is easier (from consumer perspective) and more agile(Stable service with less cost of change,if any, in terms of money and time,) due to following reasons.
The interaction shown in above diagram in called service oriented interaction. Service oriented interaction is easier (from consumer perspective) and more agile(Stable service with less cost of change,if any, in terms of money and time,) due to following reasons.
- There is a physical separation between ABC2(Implementation) and ABC2 interface (WSDL). This means ABC2 implementation can be changed without requiring a change in WSDL.
- Interface(WSDL) should be design in such a manner that they remain stable as any change in them is likely to break the consumers.
- Autonomous service are less likely to change due to changes in other services or in their resources
No comments:
Post a Comment