xml data bill la forge, cto jxml, inc. [email protected] jxml, inc. 2000 all rights reserved...
TRANSCRIPT
XMLData
Bill la Forge, CTO
JXML, Inc.
www.jxml.com
JXML, Inc. 2000All Rights Reserved January 18, 2000
The JXMLVision
Overview
1. Historical View2. What is XML?3. Protocol Issues
JXML, Inc. 2000All 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. 2000All Rights Reserved
Data was our First Focus
60’sData
•Record Layouts•Printer Layouts•System Flow Charts•Decision Tables
Batch Jobs were a Seriesof small Programs
JXML, Inc. 2000All Rights Reserved
60’sData
70’sLogi
c
Then we Focused on Logic
•GOTO-Less Programming•Structured Programming•Top-Down Design
Programs Became Very Large
JXML, Inc. 2000All Rights Reserved
60’sData
80’s
OO
70’sLogi
c
•Common Terms for Analysis and Design•Tightly Coupled Code
Object Oriented ProgrammingFocused on Runtime Behavior
Code Reuse was the Holy Grail, Rarely Achieved
JXML, Inc. 2000All Rights Reserved
60’sData
90’sComp
70’sLogi
c
80’s
OO
Component Programming Shifted the Focus to Interfaces
Serialization Tied to Code
•Code Reuse•IDE-Based Composition•Limited Acceptance
JXML, Inc. 2000All Rights Reserved
00’sXML
70’sLogi
c
80’s
OO
90’sComp
•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. 2000All Rights Reserved
2. What is XML?
Just Tagged Text DTDs & Schema Namespaces & Schema Recommended Practice
JXML, Inc. 2000All 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
<document> <hasText>123</hasText> <hasElements q=“76”> <hasAttributes x=“1” y=“23”/> </hasElements></document>
JXML, Inc. 2000All 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. 2000All Rights Reserved
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
Namespaces & Schema
JXML, Inc. 2000All Rights Reserved
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
Recommended Practice
JXML, Inc. 2000All Rights Reserved
3. Protocol Issues
Document-Based Protocols Packaging Opaque Data Digital Signatures Serialization—The Wrong Focus Beyond RPC
JXML, Inc. 2000All Rights Reserved
Document-Based Protocols
Emphasis on Message Format
Separation of Validation and Processing
JXML, Inc. 2000All Rights Reserved
Packaging
Routing
Signature
Transactional
Application
JXML, Inc. 2000All Rights Reserved
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
Opaque Data
JXML, Inc. 2000All Rights Reserved
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
XML Digital Signatures
JXML, Inc. 2000All 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. 2000All 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. 2000All Rights Reserved