Adrian Bateman chimes in on the debate with his toughts here, good stuff. For what it's worth, I agree with a lot of what Adrian says, I just view it in a different light.

Adrian points out that most ESB vendors will have you believe that you can get everything flowing neatly through a single messaging bus, and Adrian is skeptical about that. Well, I am, as well, truth be told. Personally, I'm of the opinion that what we might end up seeing are sort of integrated networks of connected applications, some of them possibly using common infrastructure, other using point to point connections, etc.

One key point I believe in the discussion is that a lot of these networks of connected applications will require some sort of messaging middleware infrastructure (be that an integration platform, an ESB or whatever). My personal reason for this is that, as I said in my previous entry on the matter, single protocol speak is gonna be hard to achieve. This is not a technological problem, mind you, it's a money and ROI problem which is a completely different story. Also, my experience from working on EAI projects is that connecting applications is in many cases not as simple as getting a message from A to B, even if A and B can talk webservices or offer some sort of services: Translations are needed, communication business rules have to be enforced, etc.

So, the problem is not always about connectivity, but about bridging disparate semantics.WS-* cannot fix that, my friends. That's a key reason why integration platforms have things like orchestration support, business rules engines, message transformation, and so on.

Looking at it from another perspective: Consider the spaghetti of connected applications that Adrian posted (cool figures, btw):

This a very real problem in enterprises today, and one not to be taken lightly. Now, consider the case in which all of those applications in the figure spoke WS-*. Would it be any less spaghetti by itself? It would certainly be a more loosely coupled and possible easier to maintain spaghetti, but it most certainly does not make it any easier to manage (and version, etc.).

As I said, I haven't made up my mind completely about this topic, I'm just begining to understand how it all fits together (and in a real sense most people are, I believe). This is a good discussion!

Tomas Restrepo

Software developer located in Colombia.