XML Data Bill la Forge, CTO JXML, Inc. JXML, Inc All Rights Reserved January 18, 2000 The JXML Vision
Overview 1. Historical View 2. What is XML? 3. Protocol Issues JXML, Inc All Rights Reserved
1. Historical View n 1960’s: Data Centric n 1970’s: Process Centric n 1980’s: Object Oriented n 1990’s: Component Based n 2000’s: XML? JXML, Inc All Rights Reserved
Data was our First Focus 60’s Data Record Layouts Printer Layouts System Flow Charts Decision Tables Batch Jobs were a Series of small Programs JXML, Inc All Rights Reserved
60’s Data 70’s Logic Then we Focused on Logic GOTO-Less Programming Structured Programming Top-Down Design Programs Became Very Large JXML, Inc All Rights Reserved
60’s Data 80’s OO 70’s Logic Common Terms for Analysis and Design Tightly Coupled Code Object Oriented Programming Focused on Runtime Behavior Code Reuse was the Holy Grail, Rarely Achieved JXML, Inc All Rights Reserved
60’s Data 90’s Comp 70’s Logic 80’s OO Component Programming Shifted the Focus to Interfaces Serialization Tied to Code Code Reuse IDE-Based Composition Limited Acceptance JXML, Inc All Rights Reserved
00’s XML 70’s Logic 80’s OO 90’s Comp XML Wrappers for Incompatible Systems Industry-Specific Markup Languages XML for Persistent Data and Composition XML Returns the Focus to Data XML Enables Middleware for Application-Specific Data JXML, Inc All Rights Reserved
2. What is XML? n Just Tagged Text n DTDs & Schema n Namespaces & Schema n Recommended Practice JXML, Inc All Rights Reserved
Just Tagged Text An XML file is called a Document Documents have one top-level Element Elements have Matched Start & End Tags, or a Combined Tag The Content Between the Tags can be Text or Elements Attributes are Name/Value Pairs within the Start or Combined Tag 123 JXML, Inc All Rights Reserved
DTDs and Schema DTDs n Define Structure, but Not Content n Author can Override a DTD within a Document n Best Used for Interactively Authoring an XML Document Schema n Define Structure And Data Content n Author can Not Override a Schema within a Document n Best Used to Validate Program Input JXML, Inc All Rights Reserved
n Namespaces enable the use of more than one Schema with a Document n Each Namespace has a unique URL n Each Schema defines a Namespace (More than one kind of Schema can be used to define the same Namespace) n Namespaces Enable Modular & Reusable Schema Namespaces & Schema JXML, Inc All Rights Reserved
n Do Not mix Text and Elements at the Same Level text1 n Avoid Attributes on Elements with Text Content some text n Text is Preferred over Attributes u Difficult to Format Attributes for Display Recommended Practice JXML, Inc All Rights Reserved
3. Protocol Issues n Document-Based Protocols n Packaging n Opaque Data n Digital Signatures n Serialization—The Wrong Focus n Beyond RPC JXML, Inc All Rights Reserved
Document-Based Protocols n Emphasis on Message Format n Separation of Validation and Processing JXML, Inc All Rights Reserved
Packaging Routing Signature Transactional Application JXML, Inc All Rights Reserved
n Protocol Stacks, N-Tier Applications, and Data Mining must all deal with information outside of their Domain. n It is sufficient that a Document is well-formed. n Validation only Selected Elements Increases the Robustness of these Processes Opaque Data JXML, Inc All Rights Reserved
n End-to-End Non-Repudiation n Entire Documents or Individual Elements can be signed n Signature can be in the Same or Separate Document n Changes to Whitespace does Not Invalidate an XML Digital Signatures XML Digital Signatures JXML, Inc All Rights Reserved
Serialization —The Wrong Focus n Focused on Objects, Not Data Objects->XML->Objects n XML produced is either a specific XML Markup Language or is not conformant to any Markup Language u BeanML (IBM) is one-way, but fast XML->Objects u Archiver (Sun) is roundtrip and compact, but slow u SOAP (Microsoft) is language-neutral, but non-conformant JXML, Inc All Rights Reserved
Beyond RPC XML does not lend itself to a direct implementation of RPC, per say, as such efforts lean to the use of Serialization. Consider instead an XML Messaging System, where the Document as a Whole specifies the Intent of the Requestor. The key here is to stay Focused on the Data being passed, rather than trying to Model an RPC call. JXML, Inc All Rights Reserved