I have been listening to presentations by some of the big vendors on their ‘Middleware’ strategies, products, and capabilities over the last month and I no longer think I understand the term Middleware in quite the absolute way that I did. What I can’t decide is if there is a generic redefinition that we should all be updating our understanding to grasp, or not.
The old definition was pretty clear and linked to the technology and the needs for interconnection between applications, and systems which were inherently separate vertical stacks. But now I see it being used to cover a much wider range of topics, and most, if not all, of them relate to what I would describe as ‘business’ activities. Take a look at Oracle Application Integration Architecture, AIA, to see what I mean the Oracle definition now includes Business Intelligence as an example.

Interestingly if you look up Middleware at IBM their definition is still based on technology but then they are separating this from SOA which is where they add in the business element. What is different if you look at the IBM view they tend to blur this around their other products covering information and content management. I guess they don’t have the business applications like Oracle. So the major vendors seem to be convinced that Middleware now embraces a lot of their products and has a new and wider role even if they haven’t got around to providing us with a new definition, or more correctly perhaps in this day and age of web 2.0 they are not editing the WiKipedia page! If you take a look you will see that it is still very much concerned with technology tasks.
My challenge in thinking this through is to try to get behind the ‘product stacks’ and identify the requirement for this change and the value it brings in order to understand what and how to build the right value into solutions. I can’t come up with one answer, so here are my possibilities, and your views are welcomed, though given how many of you are now using RSS to read this I do recognise the time consuming element of visiting the page to make a comment. So to make it easier here is the url in an experiment to see if this helps.

  1. It’s an extension of the value case of SOA which is now starting to move to a phase two around adding business tasks as services to allow ready integration into a wider range of business activities. As an example this means treating Business Intelligence not as an application delivered to a few users, but as a generic set of services that are integrated into other activities and used by many, most even, business processes and users.
  2. It’s a move towards a Web 2.0 environment by creating a new liberated environment to make things freely available as Web Services rather than as defined elements for defined orchestrations. Actually I am not at all sure currently that this is true but I suspect that this is the direction that things will move towards.
  3. The conspiracy theory; it’s part of a move to make these capabilities available in a different way that will permit a shift to charging on a Software as a Service basis, or / and, it’s a lock in model by bundling these things into Middleware packages.

Your thoughts on these options, or indeed any other options, are welcomed, but most of all how about coming up with a new definition for Middleware that we can post on WiKipedia? My suggestion?
Middleware provides the common shared environment for people, services, data, resources and indeed any other element where value is created by availability for simple integration ‘across’ an enterprise.