JXML, Inc. 2000 All Rights Reserved January 18, 2000 XML Data The JXML Vision Bill la Forge, CTO JXML, Inc. www.jxml.com [email protected] JXML, Inc. 2000 All Rights Reserved Overview 1. Historical View 2. What is XML? 3. Protocol Issues JXML, Inc. 2000 All Rights Reserved 1. Historical View 1960’s: Data Centric 1970’s: Process Centric 1980’s: Object Oriented 1990’s: Component Based 2000’s: XML? JXML, Inc. 2000 All Rights Reserved Data was our First Focus •Record Layouts •Printer Layouts •System Flow Charts •Decision Tables 60’s Data Batch Jobs were a Series of small Programs JXML, Inc. 2000 All Rights Reserved Then we Focused on Logic •GOTO-Less Programming •Structured Programming •Top-Down Design 60’s Data 70’s Logic Programs Became Very Large JXML, Inc. 2000 All Rights Reserved Object Oriented Programming Focused on Runtime Behavior •Common Terms for Analysis and Design •Tightly Coupled Code 60’s Data 70’s Logic Code Reuse was the Holy Grail, Rarely Achieved 80’s OO JXML, Inc. 2000 All Rights Reserved Component Programming Shifted the Focus to Interfaces •Code Reuse •IDE-Based Composition •Limited Acceptance 60’s Data 70’s Logic 90’s Comp Serialization Tied to Code 80’s OO JXML, Inc. 2000 All Rights Reserved XML Returns the Focus to Data •XML Wrappers for Incompatible Systems •Industry-Specific Markup Languages •XML for Persistent Data and Composition 00’s XML 70’s Logic 90’s Comp XML Enables Middleware for Application-Specific Data 80’s OO JXML, Inc. 2000 All Rights Reserved 2. What is XML? Just Tagged Text DTDs & Schema Namespaces & Schema Recommended Practice JXML, Inc. 2000 All Rights Reserved Just Tagged Text <document> <hasText>123</hasText> <hasElements q=“76”> <hasAttributes x=“1” y=“23”/> </hasElements> </document> •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 JXML, Inc. 2000 All Rights Reserved DTDs and Schema DTDs Define Structure, but Not Content Author can Override a DTD within a Document Best Used for Interactively Authoring an XML Document Schema Define Structure And Data Content Author can Not Override a Schema within a Document Best Used to Validate Program Input JXML, Inc. 2000 All Rights Reserved Namespaces & Schema Namespaces enable the use of more than one Schema with a Document Each Namespace has a unique URL Each Schema defines a Namespace (More than one kind of Schema can be used to define the same Namespace) Namespaces Enable Modular & Reusable Schema JXML, Inc. 2000 All Rights Reserved Recommended Practice Do Not mix Text and Elements at the Same Level <e1>text1<e2/><e1> Avoid Attributes on Elements with Text Content <ele v1=“abc”>some text</ele> Text is Preferred over Attributes Difficult to Format Attributes for Display JXML, Inc. 2000 All Rights Reserved 3. Protocol Issues Document-Based Protocols Packaging Opaque Data Digital Signatures Serialization—The Wrong Focus Beyond RPC JXML, Inc. 2000 All Rights Reserved Document-Based Protocols Emphasis on Message Format Separation of Validation and Processing JXML, Inc. 2000 All Rights Reserved Packaging Routing Signature Transactional Application JXML, Inc. 2000 All Rights Reserved Opaque Data Protocol Stacks, N-Tier Applications, and Data Mining must all deal with information outside of their Domain. It is sufficient that a Document is well-formed. Validation only Selected Elements Increases the Robustness of these Processes JXML, Inc. 2000 All Rights Reserved XML Digital Signatures End-to-End Non-Repudiation Entire Documents or Individual Elements can be signed Signature can be in the Same or Separate Document Changes to Whitespace does Not Invalidate an XML Digital Signatures JXML, Inc. 2000 All Rights Reserved Serialization —The Wrong Focus Focused on Objects, Not Data Objects->XML->Objects XML produced is either a specific XML Markup Language or is not conformant to any Markup Language BeanML (IBM) is one-way, but fast XML->Objects Archiver (Sun) is roundtrip and compact, but slow SOAP (Microsoft) is language-neutral, but non-conformant JXML, Inc. 2000 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.