Calling services from the Orchestrating layer in SOA?

Posted by Martin Lee on Stack Overflow See other posts from Stack Overflow or by Martin Lee
Published on 2012-06-23T21:13:42Z Indexed on 2012/06/23 21:15 UTC
Read the original article Hit count: 252

The Service Oriented Architecture Principles site says that Service Composition is an important thing in SOA. But Service Loose Coupling is important as well.

Does that mean that the "Orchestrating layer" should be the only one that is allowed to make calls to services in the system?

As I understand SOA, the "Orchestrating layer" 'glues' all the services together into one software application. I tried to depict that on Fig.A and Fig.B.

The difference between the two is that on Fig.A the application is composed of services and all the logic is done in the "Orchestrating layer" (all calls to services are done from the "Orchestrating layer" only). On Fig.B the application is composed from services, but one service calls another service.

Does the architecture on Fig.B violate the "Service Loose Coupling" principle of SOA? Can a service call another service in SOA? And more generally, can the architecture on Fig.A be considered superior to the one on Fig.B in terms of service loose coupling, abstraction, reusability, autonomy, etc.?

My guess is that the A architecture is much more universal, but it can add some unnecessary data transfers between the "Orchestrating layer" and all the called services.

© Stack Overflow or respective owner

Related posts about architecture

Related posts about soa