Skip to content.

Manageability

Sections
Personal tools
You are here: Home » blog » stuff » Why Document Passing is Loosely Coupled

Why Document Passing is Loosely Coupled

If you take a look at the table I put together on loose coupling, you'll notice that on the messaging row, there's an entry that shows "document passing" as being a loosely coupled style.

Now ever since the WS-I interoperability folks have recommended this style you would think that it's obvious. However, I've got to admit, it really isn't that obvious to me, in fact, it's counter intuitive!

Document Passing is usually associated with an asynchronous form of messaging. Asynchronous messaging is a loosely coupled style. Some may argue that its loosely coupled because it reduces the number of round trip calls. That argument however seems more tied to performance issues.

But can Document Passing by itself, ignoring asynchronous calls and round-tripping, be more tightly coupled? Afterall, isn't it true that the more information you send the more details you need to interpreting it? One aspect of loose coupling is minimizing the amount of information that is shared, so it does seem counter intuitive.

Anyway, here's my simple explanation why document passing has lower coupling than procedure call invocation. Procedure call invocation tends require that the client maintain some kind of context and it tends to be dependent on a calling sequence. Document passing on the otherhand, removes the need to know a calling sequence because everything that you need to know is dumped on a single invocation.

One of the most difficult kinds of mediators that you can build is one that reconciles interactions where the sequencing doesn't match up. With document passing, you essentially hide the sequencing details. If fact, by choosing to communicate using even richer document content, you force yourself to remove any sequencing constraints. With Document Passing mediation boils down to Document Transformation

The Document Passing style of EDI based messaging of years past has always been a better interoperability model than the RPC based model proposed by the early Web Services proponents.

Created by admin
Last modified 2003-11-10 02:36 PM

visitors
reading
 
 

Powered by Plone

This site conforms to the following standards: