Loose Coupling in SOA Defined

One of the key tenets of the Service-Oriented Architecture (SOA) approach to software system design is the idea of loose coupling. In some cases it is pragmatically obvious whether one service is loosely or tightly coupled to another, but in the general case it can be tricky to determine. With that in mind InfoQ have produced an article on the topic.

InfoQ: Loose Coupling in SOA Defined

One Comment

  1. Some of his additions to Meyer’s original principles are of a lower order – they are not fundamental. Perhaps “standardized protocol envelope” is an implementation detail, as is “document orientedness”?

    Decentralized administration is a good one. It is not a _fundamental_ property of loosely coupled systems, but a meta-property relating to the environment the systems run within. But it is still related to coupling in an abstract kind of way, so it gets my vote. The Introspection principle is also not _fundamental_ property of loosely coupled systems, but a meta-property relating to constraints that should not exist in a service oriented world. That’s very nice, and is somehow related to loose-coupling at design time, so it gets my vote. Remoteability is of course related to coupling, so that gets my vote too.

    A synchronicity is an odd one, because it conflicts with his “Document Orientedness” principle which calls for “no implicit state between invocations”. If tasks are asynchronous, the “getting-on-with-it” task must retain state for the “are-you-ready-yet” task, as far as I can see, so I’d have to hear more about that to be convinced.

    All in all, pretty good … it makes you think, anyway.

    Thanks Frank!

Comments are closed.