Transcript xmlData
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.