Columns

The many heads of XML modeling

XML initiatives, including Web services, have much to gain by associating themselves with efforts such as the OMG's MDA. This is easy enough to say, but the practicalities of the matter deserve some thought.

In essence, software development is about trying to capture concepts within a user's head and then translate them to some analog in the computer. Once this analog -- often called "business objects" -- is in place, developers can build the code to solve problems around it. The crux of the effort, and also the graveyard of so many software projects, is the initial process of translation from concept to computer analog, or model. The orthodoxy for making this translation is familiar to most programmers. They gather requirements and then create design artifacts in the hope that they reflect the client's needs. These are the entity-relational or UML diagrams that litter cubicle walls the world over.

But design artifacts are just that: they are products of design, so they look forward to implementation rather than backward to customer concepts. For this reason, they are also complete artifacts and usually have no basis in nature. Many pundits have pointed out that developers should do a better job of understanding customers' thinking, and such ideas have gained some momentum for a variety of reasons. First of all, XML technologies have brought to the mainstream radically new ideas of how to represent real-world concepts in software systems. This new way of thinking is sometimes given the convenient shorthand name "document-oriented modeling." It encourages the modeling of concepts according to how we might describe these concepts in a form of restricted prose, rather than as a set of formulae for the functions we associate with the concept.

A second development is that the OMG has made a fundamental shift in its attitude toward software development by putting this fundamental expression of concepts at the heart of the development process. This new approach is called the Model Driven Architecture (MDA).

XML and MDA both move the considerations behind software integration to the beginning of the development project. They force developers to consider how the concepts embodied in their localized project are in accordance with the same concepts embodied in other software within the firm or, in some cases, with established global standards. This is very important because integration into other systems is so often an afterthought; this is a major reason why integration and maintenance are notorious sinkholes in IT budgets.

But this is not so easy. Conceptual modeling is rather like the Hydra that Heracles was tasked with slaying. It has numerous heads, and its poison can kill projects if developers are not careful. What's worse, it seems that every time a hero tries to cut off one of its heads to provide some consolidation, two or three more heads spring up.

The OMG put a lot of work into formalizing the UML so that it is not just a form for pretty pictures that describe software, but a highly specified expression language for concepts. The formalism that ties it to reality is known as the UML meta model. Needing similar rigor to underlie CORBA systems, the OMG also devised the Meta Object Facility (MOF). Realizing they had a great deal of duplication on their hands, the OMG went about defining a mapping between the UML meta model and MOF. Needing a way to express MOF interoperably, the OMG came about to an XML representation, the XML Meta data Interchange (XMI). Understanding that XMI presented a great opportunity for serializing MOF or UML models for interoperable tools, the OMG placed it midway between the two. Confused yet? I haven't even discussed how XMI might interact with XML or RDF schemas, nor have I thrown in the CWM.

There is much work to do in consolidating and simplifying the methods/tools available to developers, and the Hydra will have to be cut down to one or two manageable heads. Of course, according to Greek mythology, two of the Hydra's siblings were Cerberus, the three-headed guardian of the gates of Hades, and the Chimera, a frightful beast that is part goat, part lion and part snake. Clearly, there is a warning in there for anyone who hopes to make next-generation modeling safe for the masses.


....................

To read more columns by Uche Ogbuji, click here.

About the Author

Uche Ogbuji is a consultant and co-founder at Fourthought Inc. in Boulder, Colo. He may be contacted at [email protected].