I spent half of a day looking at what you can do
with IBMs
Websphere Message Broker (MB). I first thought that it was a simple
suite of programs which acted 'middleware' between systems. But it
quickly dawned on me that it was so much more.
Its clearly very useful. Putting it simply, you install a tube
between two applications, and this tube takes care of
transaction-based transport, caching, both low and high-level format
conversions, routing, monitoring, and more; pretty much everything you
can think of except the kitchen sink is included in this 'tube'.
So on one side of a transaction, you might have a legacy system
which can only import comma-separated data from a file in seven-bit
ASCII. On the other we might have a system which includes a Web
service which spits out XML in UTF-16. Between them you have this
'tube', which will connect to the webservice, get a bunch of data,
convert between the two formats (both hi and lo level) and deliver the
data as a file to the target system.
Very nice. Very tempting.
Question is if the old rule of the Internet "Keep the network dumb,
move intelligence out from the core towards to edges" applies
here.
I think it does.
By making the network smart, the edges will become more and more
dependent upon the network's smartness; And since the 'network' (in
the example above, the 'tube') is actually a product delivered from a
company, all the applications and thus organizations involved will be
tightly locked-in to this company... which in MBs case is IBM.
Once it has set its teeth into you organization, how do you rip
this code out without tearing your organization apart? But the
pragmatist would answer "But why would we want to tear it out in the
first place? Its so useful!"
True. But the path to hell is paved with good intentions...