WSDL and the Wild, Wild West
Also see: Special Report - ADTmag.com
XML/Web Services Page
More than any other recent development, XML has introduced a Wild West atmosphere to Internet technologies. It causes rapid turnover in development trends, inspires people to stake claims on territory without trying to cooperate with others to maximize its usefulness, and it brings about startling successes in all the chaos. Some would say Web services are a perfect example of all three of these traits.
Web services have grown with great speed from a cool idea to a mandatory features check-box for ISVs of every stripe. Powerful interests have thus flung themselves desperately into the hunt to control standards and the marketplace for this hot property. And with analysts everywhere proclaiming that companies must adopt Web services or die, they seem to have worked themselves into a success.
This is all very well, but for those who would prefer Web services to be a solid foundation for reshaping the way apps are developed and deployed, the Wild West culture is problematic. One particular problem is the degree to which Web service standards are being hustled through without much effort to consider related technologies that could improve the maturity and scope of the finished product. SOAP, WSDL and UDDI are at the center of current Web services doctrine, and each brings about a lot of reinvention of the wheel, but WSDL is a particularly instructive example.
WSDL is the IDL of Web services. It is a specialized XML format that describes the high-level communications parameters and XML payload structure of a message. Because XML-based communications are quite different from traditional parameter-based RPCs (although most current Web services examples are no more than primitive RPC using XML), WSDL cannot borrow very much from existing IDLs such as CORBAs or COMs.
But IDL is a low-level detail of a larger picture that is developing into influential frameworks like the OMG's Model-Driven Architecture (MDA). As the rest of the software world takes a step toward understanding application development as a process of engineering modeling, here comes WSDL, a traveler from the Wild West that makes its own rules for establishing the shape of application development.
The main XML arm of the MDA is the XML meta data interchange format (XMI), which allows one to express UML models interoperably. It remains to be seen whether UML is effective enough in all the diverse worlds that Web services seek to cover (electronic business exchange, as document-based as it is, presents a challenge to any modeling system born in object-based systems). Nevertheless, WSDL is a pale shadow of even the UML meta model; WSDL instances themselves can incorporate XML schema languages that provide document flexibility, but these are separate from WSDL. If WSDL borrowed more of the very mature UML meta model available to XML through XMI, it would be more ready for symbiosis with the MDA. And it could still address document architectures by referring to XML schema and modeling systems.
Another technology that WSDL should have borrowed is the Resource Description Framework (RDF), a W3C recommendation for the management of meta data on the Web. RDF is a model for managing semantic, relationship and other aspects of abstract modeling, and it has a standard XML representation. The W3C is building it as the foundation for the Semantic Web, an important, if as yet unproven, vision to turn the Web from a series of haphazard links into a functional knowledge base with local and global classifications and attributions that make a respectable effort to incorporate meanings. By not using RDF facilities, the WSDL makes it more difficult to take advantage of the fast-growing sphere of RDF-driven systems. In fact, parties in the RDF and MDA worlds are currently in discussions about how to merge their respective worldviews. It would be a pity if Web services did not find a place in that picture.
All the major application development technologies—relational DBMS, object-oriented systems, Internet software and so on—have had deliberate and painful growth from the frontier to the mainstream. Web services would mature more effectively if it would try harder to incorporate technologies that represent complementary areas of development.
To read more columns by Uche Ogbuji, click here.
Uche Ogbuji is a consultant and co-founder
at Fourthought Inc. in Boulder, Colo.
He may be contacted at firstname.lastname@example.org.