On the way to making a point about how XML is best suited to work with databases, David Mertz discusses how XML fits with hierarchical, relational, and object-oriented data modeling paradigms.
XML is an extremely versatile data transport format, but despite high hopes for it, XML is mediocre to poor as a data storage and access format. It is not nearly time to throw away your (SQL) relational databases that are tuned to quickly and reliably query complex data. So just what is the relationship between XML and the relational data model? And more specifically, what's a good design approach for projects that utilize both XML and relational databases -- with data transitions between the two? This column discusses how abstract theories of data models, as conceptualized by computer scientists, help us develop specific multirepresentational data flows. Future columns will look at specific code and tools to aid the transitions; this column addresses the design considerations.
"Inside XML is designed to be the only XML book you need. It's as comprehensive as possible for a single book on XML to be, and there are dozens of real-world XML scenarios in this book. Unlike other XML books, there are literally hundreds of examples here, fully tested and ready to use"
This is definitely the best and most comprehensive XML text in my library.
CORBA, J2EE provide valuable experience for future middle-tier interoperability challenges. As chairman of Iona Technologies, Dr. Christopher J. Horn runs a company that helps corporations tie together many technologies, from legacy systems to the bleeding edge of object-oriented programming. This makes Horn well qualified to put the emerging landscape in perspective from XML and SOAP, to Java 2 Enterprise Edition, from wireless to peer-to-peer networking. XML Magazine's James Fawcette traveled to Iona's Dublin, Ireland, headquarters to interview Horn about these technologies and their importance in the corporate middleware market.
Castor is the shortest path between Java[tm] objects, XML documents, SQL tables and LDAP directories. It provides Java to XML binding, Java to SQL/LDAP persistence, and then some more.
"Castor provides an XML to Java data binding facility that seems to be tracking the proposed Sun spec. While Castor still has a few limitations (as of release 0.8.8), it already provides a great deal of useful functionality. Basically, it allows you to specify a mapping from XML data elements to the data members of a set of Java classes whose structural relationships reflect that of the XML DTD. You specify the mapping using a mapping.xml file. Then, you can load the mapping file and use it to directly instantiate Java object clusters from XML documents and/or serialize the Java objects to XML documents. Way cool! All the parsing is handle for you "under the covers". Castor reuses the Apache Xerces parser library." (Thanks to Nik Boyd for the lead.)
Messaging: The transport part of the XML puzzle. A guide to technologies, protocols, and future directions by Gordon Van Huizen, Director of Product Management, Progress Software, July 2000.
Despite the relatively recent community interest in XML transport issues, there are no less than 15 XML communication protocols vying for our collective attention. Eric Prud'hommeaux and Ken Macleod of the W3C have surveyed these protocols, producing a wonderful aerial view in the form of a facet-driven table on the W3C site. Of this array, XML-RPC, SOAP, WDDX, and ebXML have emerged as the most likely candidates to directly influence the future of XML transport.
In the beginning, there was XML-RPC. Developed in early 1998 by Dave Winer of Userland, Don Box of DevelopMentor, and Microsoft, XML-RPC provides an intentionally simple RPC mechanism using XML over HTTP. XML-RPC -- or perhaps more accurately Dave Winer, its most vocal parent -- was almost singlehandedly responsible for early awareness that XML could offer much more than a universal document format, that it could become the basis for standards-based transactional computing. Several implementations of XML-RPC are in use today. These implementations, based on such diverse technologies as Java technology, COM, Perl, Tcl, Python, PHP, and AppleScript, offer proof that the mechanism is as platform- and language-neutral as its designers intended. They also provide a strong counter-argument to some critics' claims that SOAP (the higher-visibility descendant of XML-RPC) is a Microsoft-specific technology. Perhaps the most significant endorsement to date of SOAP as an open standard is the fact that the Apache organization has adopted the IBM SOAP4J implementation as the basis of an ongoing open source reference implementation.
SOAP, like XML-RPC, can be thought of as a Web-based abstraction of traditional distributed object communication.
In the last week I've seen three new companies with interesting products that are basing their future on SOAP. It's really happening. In the hype over P2P, this may be being overlooked. XML is getting mature, and the killer app for XML, clearly, is SOAP. Some have said that SOAP is just a formalization for CGIs. That's very true. The key word is formalization. Dave Winer
The OOPSLA 2000 Advanced Program in is the mail. An interesting new feature this year is the XPO panels on Tuesday, 17 October.
XPO Chair: Bob Marcus Rogue Wave. The XML, Processes and Objects (XPO) Symposium will provide visibility for the object community into the latest developments in the convergence of XML and Workflow applications. This is the most critical area for future B2B E-Business software architectures. XML-based messages can provide the foundation for cross enterprise applications. However the techniques developed by object technologists in modeling, standardization, and distributed computing will be essential for future development. The purpose of XPO is to stimulate work in this area.
10:30 am - 12:00 noon: Next Generation Workflow Processes – Products, Standards and Research. Chair: Fred Cummins, EDS
1:30 pm - 3:00 pm: Portability and Interoperability Across Internet Marketplaces. Chair: Matthew Fuchs, CommerceOne
3:30 - 5:00 pm: Simple Object Access Protocol (SOAP) – Alternate Viewpoints. Chair: Jeff Sutherland, VIRTMED Corp.
Here is another statement of why XML will dominate Java, COM, and CORBA as the mechanism for component interoperability on the Web.
SOAP: Simple Object Access Protocol Specification will become the XML standard for remote method invocation. Visual Basic will evoke CORBA services runnning on Unix and MacIntoshes will evoke Perl objects on Linux.
For a good overview of SOAP, see:
Skonnard, Aaron. SOAP: The Simple Object Access Protocol. Microsoft Internet Developer, January 2000, pp. 24-33.
Ghica van Emde Boas. The Role of XML in Java Development Tools. IBM San Francisco Project.
This was a very interesting workshop and the final report provides a good summary of the state of XML standards and utilization. It also shows the relationship between object modeling standards (UML), Java, and XML and how these technologies provide an infrastructure for distributed object computing on the web.
V. Jagannathan & M. Fuchs. Workshop Report on Integrating XML & Distributed Object Technologies. IEEE 8th International Workshops on Enabling Technologies, 16-18 June 1999, Stanford University, CA.
Pretty cool slides by Brian Travis,Architag International Corporation.
Teleconference with IBM team yesterday pointed out that XML adoption is occuring even faster than Java. Remember you heard it here on 12 Dec 1997.
General Motors is beginning projects to link their 8500 legacy systems together with XML. DataChannel put them up to it. Duvall, Mel. Putting the Pedal to the XM-etaL. Inter@ctive Week, 30 Mar 1999
CORBA and COM experts tell me that DLL hell with Microsoft tools has its counterpart in IDL hell with CORBA. The problem is that these component technologies require tight binding through interfaces. XML allows building loosely coupled components across heterogeneous systems, a fundamental requirement for a Business Object Component Architecture. This was reported in the summary of the OOPSLA'95 Workshop on Business Object Design and Implementation.
This is all an inevitable outcome. See my report of 13 October 1997. Alan Kay, the inventor of Smalltalk started the OOPSLA'97 Conference with a keynote address, "The Computer Revolution Hasn't Happened Yet." Key points were delivered in Alan's inimitable style: HTML is an abomination that will self destruct due to a fatal flaw. It does not transfer self-describing data. Java will not handle the demands of distributed computing on the Internet because it has no meta-object model. (XML provides resolution of these fundamental flaws)
My next prediction: The core technology for the future of the Internet will be the intersection of Java with XML. Sign up for JavaOne and take the Java University Course on Java Technology and XML.
Response: Of course Mark is right, although I think an XML WebBroker will evolve as an alternative method of distributed object communication. XML has received extensive discussion at OMG meetings and may soon become an OMG standard for exchange of metadata. There is an RFP out for representation of UML in XML from the Business Object Domain Task Force and liaison work with the W3C and the OMG Electronic Commerce Domain Task Force.
OMG Business Object Initiative RFP 3: A Human-Usable Textual Notation for the UML Profile for Enterprise Distributed Object Computing (EDOC). The third Business Object Initiative RFP (bom/98-12-07) calls for a Human Usable Textual Notation (HUTN) that would allow object models expressed in terms of the UML Profile for Enterprise Distributed Object Computing to be expressed textually. This RFP addresses the need for a textual notation to supplement UML's graphical notation in order to manage the complexity of large-scale analysis and design specifications encountered in enterprise distributed object systems. The RFP will require that the HUTN syntax be able to be mapped directly from the XML Data Type Dictionary for UML based on the XML Metadata Interchange (XMI) format emerging from the Stream-based Model Interchange (SMIF) RFP process. By "direct" is meant that this mapping can be defined reasonably construct-by-construct in the HUTN, without, e.g., requiring that the HUTN be parsed into a UML modeling tool that can then generate XMI. One (optional) way to demonstrate this will be to provide an XSL stylesheet that performs the transformation. (From OMG bom/98-12-04: Business Object Initiative Roadmap)
The current state of play of XMI can be found on Robin Cover's SGML/XML Web Page: XML Metadata Interchange (XMI). Thanks to Richard Campbell for the pointer. The liason work between the OMG Electronic Commerce Domain Task Force and the W3C that has been productive. See the IDL portion of the W3C DOM Level 2 draft specification.
RDF Abstract: Resource Description Framework (RDF) is
a foundation for processing metadata; it provides interoperability between applications
that exchange machine-understandable information on the Web. RDF emphasizes
facilities to enable automated processing of Web resources. RDF can be used
in a variety of application areas; for example: in resource discovery to provide
better search engine capabilities, in cataloging for describing the content
and content relationships available at a particular Web site, page, or digital
library, by intelligent software agents to facilitate knowledge sharing and
exchange, in content rating, in describing collections of pages that represent
a single logical "document", for describing intellectual property rights of
Web pages, and for expressing the privacy preferences of a user as well as the
privacy policies of a Web site. RDF with digital signatures will be key to building
the "Web of Trust" for electronic commerce, collaboration, and other
The example sentence below
Ora Lassila is the creator of the resource http://www.w3.org/Home/Lassilais represented in RDF/XML as:
<rdf:RDF> <rdf:Description about="http://www.w3.org/Home/Lassila"> <s:Creator>Ora Lassila</s:Creator> </rdf:Description> </rdf:RDF>Here the namespace prefix 's' refers to a specific namespace prefix chosen by the author of this RDF expression and defined in an XML namespace declaration such as: xmlns:s="http://description.org/schema/"
© Jeff Sutherland 1994-99