Thanks Rob,
As always, great food for thought!
I agree that you can get decoupling and location transparency with IS. You can convert in and out of canonical document formats entirely within IS services. A canonical message strategy is important independent of message transport mechanism. I hope to back up that assertion below.
I would disagree that implementing a canonical strategy on the IS makes it a kind of “Broker” providing optimal location transparency and decoupling. A message broker is defined by it’s store-and-forward and pub/sub capabilities. (And as you point out, its design patterns don’t require much else). It delivers the messages reliably with high speed, filters them, and delivers them to client queues.
I agree that the adapters are the bottleneck. We scale by adding additional Integration Servers. In that situation, the capability of having multiple Integration Servers doing pub/sub through a common high-speed messaging component looks even better.
I’ve never had any problems with Broker administration adding any significant headaches. The Broker has always seemed like the “never breaks” part of the integration environment. It’s almost always the Integration server that I’ve seen getting bounced for one type of problem or another. (Witness the plethora of “graceful shutdown” scripts available on wmUsers) And as you say, the job the Broker does is conceptually much simpler than that of the Integration Server.
I have to admit that using the Broker and Integration Server together in an efficient manner was not intuitive until webMethods 6. And as we agreed before, there still needs to be more work in blending the 2 technologies, for instance:
The syntax rules need to be the same in both environments.
There should not be 2 places for filters.
IS/Broker document synchronization should be utterly transparent and invisible to developers.
As you point out, you can make the IS acquire store-and-forward and pub/sub capabilities with some clever configuration and development. But it’s the Broker that was designed for this. If you worked hard at it, you could build an entire e-commerce website entirely on the Integration Server. You’d be using less technology and fewer servers. Why not do it? I know you’d agree that while it might be technically possible to do it, the architectural “power curve” of the Integration Server is not in serving up general web site content or implementing large and complex business logic functions.
I’m not sure I understand what you are referring to when you mention the “extra layer of stuff to deal with” regarding the Broker. If you mean the occasional document type synchronization issues, then I’d agree. Hopefully, this will get fixed in the next major release. I really don’t care if the Broker disappears entirely as a “separate” entity. As long as there is some high-performance component providing scalable and reliable store-and-forward, and publish-subscribe (out-of-the-box) I’ll be happy.
While a business problem today looks like a point-to-point solution, over the years we’ve seen business environments change constantly, often within a few months. These days, it seems that management (much less technical types) cannot predict what the business will look like in a few years. Use pub-sub today to expose your order update process to your e-commerce website. Your company may add a new application in 6 months that needs visibility of that information. Why commit to rigidity when building in flexibility requires so little additional effort? I’ve gotten payback from this approach many times over the years.
Now the really exciting stuff coming along, i.e. Business Activity Monitoring, and Business Process Optimization, technologies like webMethods Optimize, depend on free access to th