Great summary of the coupling aspects that need to be considered in any 
integration effort (service oriented or otherwise).

The biggest challenge? Achieving the right amount of loose coupling. 
Not everything needs to be loosely coupled on all levels. And for the 
interactions that would benefit from such decoupling, time and expense 
tend to increase--it takes effort to properly abstract interfaces and 
define semantics such that they are amenable to change that occurs 
elsewhere.

I can't count the number of times designers have claimed "we used 
pub/sub so we are completely decoupled" yet the messages exchanged are 
passing around application specific identifiers and codes and a data 
model mismatch is handled by one or more of the end-points 
understanding the model of source and adapting. Change that source and 
one has a lot of target changes to do.

IMO, this is the danger spot of SOA expectations. Many who have 
implemented SO systems will try a big change for the first time 
expecting smooth sailing and run into these coupling issues. This will 
cause change ripples throughout the system--the very thing they thought 
they were avoiding by "doing SOA."

A good article to raise that awareness.

-Rob

Reply via email to