In my time, I've seen too many standards bodies get subverted or run aground to expect much from public standards processes, but I'm always open to the possibility that -- this time -- things might actually work out for them. And the latest group to raise that hope for me is the Object Management Group, with its efforts to bring harmony to software development.
Object Management Group is a hoary veteran of the early 1990's vogue for groups of vendors agreeing specifications and agitating for adoption of particular technologies. While most of the other groups from that time died the death (the Open Group still exists in some limbo, but the work its component parts -- X/Open and OSF -- set out to do is pretty much lost).
OMG, meanwhile, still goes on. CORBA, its architecture for distributed processing is still reasonably well regarded -- the current fashion for Web services is based on very similar ideas. But the group has also played a role -- or at least cheered on -- as one of the industry's long-standing feuds got sorted out.
I'm talking about software engineering. Back in the 1980s, there were several gurus, each with their own method for object-oriented analysis and design. They were usually called "methodologies" rather than methods -- for no reason I could understand, except that "methodology" sounded more impressive. Coders working within one method would produce designs that were incomprehensible within another method - examples included Booch and Jacobsen.
Each method was a "cult" with "zealots", according to Andrew Watson, the technical director of OMG. But during the 1990s, commercial pressures began to tell. Users were fed up with training and retraining developers for no reason, so IS shops mostly refused to join any of the cults. Since none of the cults could take over the world, all the methods gradually folded into one, as their originators were absorbed by one company -- Rational Software. "Rational Software became the regional superpower," says Watson.
At the same time, OMG became the World Bank or the United Nations -- the body charged with presenting decisions acceptable to all. The group started work on a Unified Modelling Language (UML) in 1994, and published it in late 1997. As Watson tells it, now there was one object-oriented modelling standard, OO modelling became acceptable to users, leading to an explosion of use: "70 percent of IT shops use UML somewhere now, and there are more than 60 books." A second version is well underway.
One thing OMG has historically been good at is seeing how its current standards can be used in the next wave of technology, and Watson was quick to grasp that UML has potential in Web services. A modelling language (UML) is different from a markup language (XML), but the two have something in common. Essentially, just as software engineering needs a high-level language to keep track of the entities involved, so do Web services.
Imagine a Web service based on XML that describes a car you can buy from an e-commerce site. To exchange information about that car, the site has to define an XML data type definition (DTD) -- a set of tags that define such features as
Once you have set up the application, many things will depend on the DTD. But what if something changes to the basic definition of a car? What if another option appears -- for instance if GPS becomes a widespread option in the auto industry? At this point, the design of the DTD has to be altered, because something has been added to the concept of a car, and that will impact every layer of the application. There is no convenient high-level tool to keep a web service consistent, says Watson.
Enter UML, and OMG's larger vision for it -- Model Driven Architecture (MDA). If you build the application in UML first, then UML can be used to derive the DTDs and much of the code for the application -- potentially even producing code for multiple platforms. The clients and servers can exchange updates of the "model" the service is based on, as well as the instances -- particular car models. There is more about MDA here, and OMG is running a series of seminars in the US.
All too many e-business models assume that the user can "build" applications to supply information to the system. In fact most companies already have those applications and need to interface to them. "The boardroom sees a green-field suite, but the IT department already has three tiers and middleware. Now it needs new middleware for Wweb services," says Watson.
All this gives me a feeling of deja vu. Plenty of other people have come up with schemes to unify the way software is produced. However, there are encouraging signs. Rational and IBM have both announced support. Rational gave a preview of the next version of its Rose development environment at an OMG conference last year, and it clearly has strong MDA support. HP has also just joined the party -- Rick Hayes-Roth, chief technology officer for HP Software, praised MDA at the OMG's Technical Meeting in California: "With MDA's visionary solution to integration and legacy issues, it is our best hope for providing a fast and effective foundation for IT agility," he said.
Of course, big plans usually come unstuck at some point, but MDA sounds like it could be useful.
To have your say online click on TalkBack and go to the ZDNet forums.