Middleware, like middle age and mid-order batsmen, has the unshakeable aura of worthy dullness about it. Like the glue that held the WWII Mosquito wooden bomber aircraft together, it's of prime importance and takes immense ingenuity to produce, yet gets none of the limelight when things go well. If stuff comes unstuck at the seams, though, middleware is the first to get the blame.
All of this is old hat to the army of managers, designers and coders who rely on middleware for commercial transaction processing, database integration, Web service production and the rest of the panoply of modern business IT. But middleware is poised to move out of the office and into the home, becoming not so much the glue that holds the plane together as the strategic mainstay for the next global battle -- for your home.
That's the reason Bill Gates got up on stage at the recent Windows Hardware Engineering Conference and announced the Devices Profile for Web Services specification . This sets out some middleware standards through which the Babel of non-PC devices in your home and office can communicate and control each other. They can also link to your computer and, of course, the jolly old Internet: the vision of a smart house is almost here. Reliably, Microsoft is promoting this as a spiffy new idea born of much cleverness and ideal for its idea of having one big Microsoft box in the basement running your entire digital and media life via MS-enabled gizmos everywhere; just as reliably, that's not the whole story.
That vision is the best part of 50 years old by now, and has roots going back even further. Hobbyists and architects building show homes have been wiring up the place with a wide variety of ingenious devices ever since then -- there have even been standards, such as X-10, which had a chance of widespread non-technical acceptance. But nothing could wean consumer-electronics manufacturers away from proprietary systems and closed architectures -- and when the whole idea is to link lots of different things together, that's a reliably fatal poison.
Computer people were wiser to the ideas of interoperability and the invention of Tuplespace in the early 80s set the scene for most of the current work on interoperable smart devices. The idea here, first described in a programming language called Linda, is that devices send blocks of data, called tuples, into a shared space where other devices can read them. Devices can ask the space manager -- also called a broker -- for tuples with data that matches things they're interested in, or they can be told when information arrives.
It seems very simple, and it is. The key realisation is that this immediately removes many of the problems of addressing: devices don't need to know anything about the network except how to find the broker. It's a powerful concept, which is why it has been co-opted into Sun's Jini, IBM's WebSphere Business Integration Message Broker, and indeed into the WS-Discovery specification at the heart of the new Microsoft initiative.
Getting things to talk to other things isn't difficult. Rather, the trick is to make the process easy to use and secure, which is presumably why Microsoft is waiting for Longhorn before introducing WS-Discovery. Meanwhile, it's hoping to make its plan part of the Universal Plug and Play set of specifications: it has a good chance, as it is the leader of and has unique rights within the UPnP Forum.
You may have missed the UPnP Forum. It's been going for exactly five years, but with the exception of a few routers and an embarrassing security exploit in Windows, the standards it's produced have been widely ignored. However, it's a sleeping giant, with nearly 700 members committed to sharing their intellectual property in order to make the idea of universal device communication a reality. Everybody, including some hard-core Microsoft refuseniks like Sun, is playing -- everybody except Apple, a risky stance for a company in the throes of becoming a consumer-electronics vendor.
So should we be worried? Microsoft retains first-among-equals status -- including ownership of copyright of all the standards -- but seems committed to an equitable spread of control and access, within limits. There's a sufficiently broad set of prior art out there to knobble any daft patent grabs by any but the most cynical. The one small fly in the ointment is that while the UPnP standards are open, they're not free -- to use them, you must be a member (which doesn't cost any money) and abide by the co-licensing rules. These say that each member must grant all other members a licence to the appropriate IP on a non-royalty, but potentially one-off chargeable, basis. It's hard to see how you could develop UPnP software under the GPL.
By Microsoft's usual standards, its approach to device integration is uncommonly open and praiseworthy. By the standards of the modern world, however, it's unacceptable, locking out one of the major sources of innovation and competition. The risk is that by the time open source has finished its battle for the desktop and realises that the fight has moved to the living room, it may be too late -- and a whole market will have been lost.