Applying messaging in the enterprise and beyondI wrote these comments to a post about the Need for Messaging:
The comments are as follows:
The benefits of Messaging are in Asynchronous processing. The advantage of better dealing with Network Unreliability and Loose coupling of applications, comes with an overhead of extra processing(and possible delay in the results), and complex programming model(including troubleshooting and maintenance).
In my experience, the applications that well suit to Messaging include Web Applications to Legacy Integration(Loose couling, resource management), Distributed Workflow applications (Which are loosely coupled inherently and need the extended transaction support). Messaging is more a binding technology, rather than a enabling technology.
Some of the examples that are cited in the slides, do look applicable for messaging, but I would like to raise some caution over the side effects of some of those. eg. "Granting High priority to some clients": Would this come with a price of a much complex infrastructure to maintain. How about having a separate dedicated machine for high priority clients, and a router to route the traffic to the server(s). "Handling huge bursts": Messaging can potentially slow down the regular processing of requests, so the design should keep that in mind. "Remote Flaky connectivity": Most applications might need special applications to handle this situation in any case. It would probably take more than messaging for this one; such as A local datastore, sync features and more.
Excellent slides overall. Thank You.
Some additional thoughts on Trends in Messaging Infrastructure:
Having raised some items about the potential complexities and side-effets of messaging, I do feel that Messaging based applications will be growing exponentially in the enterprise and internet based applications(and websites). Integration of applications, tools, services, is a clear trend and direction that will make messaging more and more critical in order to build a seamless and robust experience for the end-user.
Messaging based frameworks and patterns will keep maturing(or so I hope) in order to make the overall management of message based applications robust and effective to manage.