 JXML, Inc. 2000
All Rights Reserved
January 18, 2000
XML
Data
The JXML
Vision
Bill la Forge, CTO
JXML, Inc.
www.jxml.com
b.laforge@jxml.com
 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.