The eXtensible Markup Language--A C++ Developer's Primer
By: Kenn Scribner for Visual C++ Developer
Background: I started looking into XML and XSL in 1998 when the initial betas of IE 5 were coming out (in fact, Microsoft released to us a beta of MSXML even before our IE 5 beta). We were developing a client-server application with a thick client that would send processed data to the server for analysis. (In fact, it was our own version of SOAP, though we didn't call it that at the time.) When Kate (Kate Gregory, the editor of VCD) contacted me and asked for an article on XML, I invited myself in for a series of 4! At that time I was completing the SOAP book and wanted to lead the VCD readers through an introduction to XML right to SOAP and Biztalk. That was the goal, anyway...give these articles a read and see if I hit the mark. |
The eXtensible Markup Language--A C++ Developer's Primer
Part I, XML: A C++
Developer's Primer
(Part II, The DOM and XSL)
Part III, SOAP
Part IV, Biztalk
If you think back to the first article, you may remember I mentioned we use language to communicate, and when we communicate we need to use a common vocabulary. Why? Well, the obvious answer is we wouldnt understand each other even if we did speak the same language. If I dont understand the terms and phrases youre using, I cant make use of the information you are trying to convey.
But lets turn that around a bit and think of a vocabulary as a subset of the language, and those who use the same information by definition know and use the associated vocabulary. Photographers talk about fstops and field of view, and all professional photographers use these terms and phrases when they talk about their work. (Granted a rookie photographer like me doesnt need to know this vocabulary to take photographs, but then, thats probably why my photographs usually look rather sophomoric.)
Now relate this to the business world. Businesses all have their specific vocabularies. Lawyers understand briefs and citations. Car dealers understand hold-backs and MSRP. If two lawyers or car dealers talk, they probably use these terms, at least from time to time.
However, if they transfer information electronically, thats a different story, and thats where BizTalk steps in. BizTalks goal is to provide a mechanism for like-minded businesses to post XML DTDs and schemas to a common access location so that the XML a given business might use to transfer information to another participant in the same business is both the same for each and understood by both parties. That way, one law office doesnt create its own DTD while another creates its own schema, both of which create XML documents that are incompatible with the other.
BizTalk as a technology is actually composed of several pieces:
The BizTalk Web Repository is the central clearinghouse for XML DTDs and schemas that facilitate business to business communication. You can access the Repository at any time by surfing to http://www.biztalk.org feel free to hit the site and look around. But to use the site as a member, youll need to sign up (at no charge). However, there is a lot of other (useful) information available at the site just for the taking. For example, here is the (abbreviated) philosophy behind BizTalk (http://www.biztalk.org/BizTalk/philo.asp)
BizTalk also identifies a protocol you can use to transfer information, and this protocol is known as the BizTalk Framework. The BizTalk Framework details the look and feel of the XML as well as specifies how the XML should be laid out in an XML document. While it doesnt actually tell you what tags to use, it does provide a lot of guidance regarding how the tags should look and the prescribes the general flow of the XML document.
The current Framework is broken into two parts: the XML design guide and the BizTalk tagging scheme. While I could go into some detail regarding the Framework, Im going to forgo the current Frameworks architecture in lieu of SOAP (rumor has it BizTalk and SOAP will combine, or to be more precise, BizTalk will overlay SOAP and use SOAP as its XML wire protocol). The salient point here is BizTalk will provide you guidelines you must follow when streaming your XML information and how that information is transported from here to there. Its also worth mentioning the current BizTalk Framework is message-based Ill revisit that thought when I address the current SOAP specification later in the article.
The final piece of the BizTalk puzzle is the BizTalk 2000 Server. This is a Microsoft BackOffice product designed to take advantage of BizTalk schemas (in the Repository) to allow you to transmit data seamlessly between yourself and other business concerns. Ultimately, the goal is seamless document transfer and application integrationdone over the Internet! You essentially hand BizTalk 2000 Server some information and a recipient and the server takes care of the details for you.
Im sure you can now see why I claim BizTalk isnt a C++ technology. It is a technology people interested in XML should have at least a passing acquaintance with, though, because youll probably hear more about it in the months and years to come. At least youll have a (very) high-level understanding of the technology. I believe SOAP is going to be of more interest to most developers. Look back to Part III see what SOAP is all about.
Comments? Questions? Find a bug? Please send me a note! |