Posts
58
Comments
103
Trackbacks
10
SOA and Messaging

As if learning object-oriented analysis and design, test-driven development, and a large number of design and analysis patterns wasn't enough.  I've recently moved into studying messaging patterns.  This was done more out of need than desire (at least for right now).  Integration seems to be the major headache for the team I'm working with currently.

Getting back to messaging, if you're not sure what messaging is or how it differs from it's cousin RPC I would strongly recommend picking up a copy of Enterprise Integration Patterns.  I'm finding that between it and lots of reading on Udi's blog, I'm quickly picking up lots and lots of new ideas (most of which I can't take credit for).

Udi's blog holds a wealth of information and at this point, his ideas seems nothing short of revolutionary from my perspective.  His generic messaging implementation using a simple interface, IBus, along with a marker interface, IMessage, seems like quite the elegant solution.  It isolotes the application from both the actual communication transport/protocol (soap, http, msmq, etc), the communication infrastructure (wcf, asmx, etc), as well as from the application(s) it communicates with.  Pairing those concepts with task-based messaging for concurrency, asynchrounous message processing for performance, and competing consumers for scale out seems like a very hard-to-beat combination--and this is just the tip of the iceberg. 

I will also mention that I recently heard Juval Lowy give a presentation on WCF, and some of the items both in his presentation and on the IDesign website seem to follow closely to both Udi and EIP.  From where I am now, I can already see the huge learning curve I'm on, but that's ok, the work is fascinating and rewarding (both personally and financially).

posted on Thursday, April 12, 2007 1:07 AM Print