CTO Blog

You are in: CTO Blog

Subscribe

Recent Posts

Navigate


Search the blog

« Extract, Transform and Load – now available for MashUps | Main | Are eBay – changing their game? »

What is the definition of Middleware these days?

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.

TrackBacks

TrackBack URL for this entry: http://www.capgemini.com/cgi-bin/blog/mt-tb.cgi/427

Comments

A wee and banal input to your quest for a definition - one that fits the purpose for how my brain is wired:

"Middleware have one task; take data from vertical systems, try to strip the raw data from the logic applied at that system, forward the raw data to another vertical system that applies it's specific logic to the raw data. Rinse and repeat."

Which of course leads to the question: What value will the "raw" data have at the end? :D

yes my point that i started from and in connection with transactional systems and data integrity absolutely still true. However we seem to have 'mission creep' and the term is now certainly including integration of process, and in some cases seems to have been applied to mean any software than cannot be aligned to a traditional application. This last point is even more interesting as it takes us back to the first point ie applications have relationships to data!

perhaps an other input could be that middleware should be seen as a "commodities framework". "Commodities" could encompass any valuable services to a company delivered through a defined SLA.

i think that the term 'commodities' might be entirely accurate when i look at things such as application servers. i suspect the vendors would probably prefer us to think of these things as 'enabling platforms'.

Definition IMHO(now in a WOA world)

Middleware is a piece of infrastructure (software and hardware) that enables Mashup of different vertical applications and data to deliver a value added aggregate for end consumer. The middleware can be designed in various fashions including a hub spoke SOA, a Cloud based WOA or even a point to point integration using CORBA/RMI styles.

The key points being -

-infrastructure (includes AWS , App engine , project caroline -programming models)

- Mashup - Really talks about integration at two levels (business and technology)

- Value added - there is more to it than information delivery and integration.

Ah! the arrival of the users into the role of middleware! thanks Niraj for bring in the web 2.0 thoughts

I was taking to a Gartner analyst yesterday and they are developing a point of view on how mashups allow users to achieve personal stablity in thier working environment that can insulate them from all the changes in the rest of the business and the technology. Put that way then the new 'middleware' is indeed integrating users.

May be point 2 on the original post is becoming true faster than i perhaps thought.

Here's how I see things: The classic function of middleware is the provision of interoperability for components of a distributed system. Middleware allows serving components to advertise their services and consuming components (clients) to discover and use such services. Probably because of middleware, the Web has become the platform it is today, where everyone can 'mix' and advertise new services. To me it seems that middleware has "just" become more ubiquitous.

Hi Mark

Thats a really great explanation! totally recognisable as soon as i read it! Yup that works for me as the explanation i was looking for, Middleware as a the common services interoperability layer for machines and people, processes and services, to interact.

one other major change is happening due to ESB (Enterprise Service Bus) while moving towards SOA. More specifically Federated ESB's....I think this layer itself calls for a redefinment of middleware space.....

hi suneel

it interest me to see how all these elements are coming together within the 'loose coupled' model requiring a wider range of capabilities than i think was envisualised when we started on the shift.

Post a comment

Commenting Policy

Name:
Email Address:
URL:
Remember personal info?
Comments: (you can't use HTML tags for style)