How XML is Changing Business
& Why You Need to Know
Anthony B. Coates
Leader of XML Architecture & Design
Chief Technology Office, Reuters
BITE 2000
Contents
1:
What is XML?
2:
Why XML?
3:
XML in Business
4:
XML in Finance
5:
Standards Bodies & Industry Consortia
6:
How to profit from XML
7:
Summary
8:
References
-
XML is the acronym for eXtensible Markup Language
-
XML is a textual encoding system for creating structured documents
that can be understood by computers
-
XML is a Recommendation of the W3C
-
Focus of this talk is the capabilities of XML,
not its syntax nor other technicalities
-
The need for XML arose from the Web and HTML
-
Web pages are written in HTML, which is a structured display specification
-
Many users wanted to structure their data, not just their display
-
Too many groups kept adding incompatible custom elements (tags) to HTML
-
However, HTML made people familiar with angle-bracket tags:
<html>...</html>
-
Users wanted to keep the look-and-feel of HTML
-
Groups wanted to standardise their vertical market tags
-
XML looks like HTML, but you can choose your own tags and attributes:
<?xml version="1.0"?>
<MyDocument>
<MyTitle>Document Title</MyTitle>
<MySection>
This is the text
of my section.
</MySection>
</MyDocument>
-
XML can encode data, not just
documents for reading
<?xml version="1.0"?>
<Order supplier="Babies Online">
<Item code="XYZ-2000"
name="No-Leak Nappies"/>
<UnitPrice currency="AUD">5</UnitPrice>
<Volume>10000</Volume>
<ValidUntil>2000-12-31</ValidUntil>
</Order>
-
XML is a simple and
underwhelming concept
-
Tags can contain other tags or
text or both
-
XML is Unicode,
not ASCII, and is 100%
case-sensitive
-
Lots of information is tied up in documents with custom formats
-
To use these documents in automated processes is difficult,
because you need to create readers for each document format
-
This makes computer-to-computer transactions difficult to
implement across and between enterprises
-
Custom formats have software maintenance requirements which are a
black hole for recurrent expenditure
-
How many organisations can still use their legacy
WordPerfect 1.0 or Word 1.0 documents?
-
XML is simple and (generally) human-readable,
capable of representing complex data structures
-
Simpler for computers to read than other formats
-
Easy to transmit using Web servers through firewalls and over an
Intranet or the Internet
-
Easier to learn and quicker to implement than heavyweight
distributed software technologies like CORBA or
DCOM,
at some penalty in raw speed
-
Rapidly being accepted as the industry standard portable data format
-
Not controlled by any one vendor, but contributed to by many
-
Microsoft and Sun may disagree on which OS's and languages are best,
but both now support XML as the data format of choice
-
Oracle, IBM's DB2, & Microsoft's SQL Server all support
XML input and output, as do a growing number of databases
-
Lots of software support, much available free of charge (open source)
-
XML saves development time, and hence money
XML in Business
-
Simple Object Access Protocol
-
Despite its name, actually a message format for
distributed app-to-app communications
-
Supported
by Microsoft & IBM among
others
-
Could become the preferred way for all software components to
communicate, even within the same program on the same computer
XML in Business
-
Trades off raw speed for flexibility & robustness
-
Basis for XML Protocol specification from W3C
-
Should be the basis for your future messaging requirements,
as it will have strong vendor support
XML in Business
-
Universal Description, Discovery, and Integration
-
Supported by Microsoft, IBM, & Sun among others
-
An on-line directory service for white, yellow, & green pages
-
Green pages are a computer-readable description of
what services are available, and how to use them
XML in Business
-
Addresses a limitation of Web commerce - not straightforward to
find products and services unless you already know who the vendors are
-
Will allow automation of "best-price" purchasing
XML in Business
-
An initiative of the UN & OASIS
-
While EDI is well established among Fortune 500 companies,
it is only used by 1% of businesses worldwide
-
UN wants a scalable e-commerce solution that can be used by
small & big business in developing & developed countries
-
Ease of entry is important, and Web technologies have proven
that they are inexpensive to deploy
XML in Business
-
IBM has donated their tpaML (Trading Partner Agreement ML)
as an input for ebXML
-
ebXML overlaps with both SOAP & UDDI
-
UN has asked SOAP & UDDI groups to engage with ebXML
to develop a unified solution
XML in Business
-
You should be keeping an eye on
ebXML
-
Has the potential
to overhaul product/service delivery
& open new markets
-
Participation is free & open
to everyone from individuals to
corporations
XML in Finance
-
eXtensible Business Reporting Language
-
This is how your company reports will be submitted (but when?)
-
Simple XML structure specifies how to add/subtract figures
to produce various subtotals
-
Majority of work is in building up agreed taxonomies of accounting terms
-
US GAAP (Commercial & Industrial) completed, others to follow
-
Different countries will have their own taxonomies (at least for now?)
XML in Finance
-
Designed so XBRL fragments can be embedded and recognised
in other XML documents
-
Companies are free to create their own internal accounting terminology,
using XBRL to relate these internal figures to the standard ones
-
Internal terminology & figures can be stripped before publishing externally
-
Will speed distribution of reports from companies to investors
-
Will allow automated analysis of company data across
geographical regions or classifications
XML in Finance
-
You could use XBRL just for external reporting
-
You could use XBRL to help implement a real-time
accounting system in your organisation
-
The value of XBRL can be as great for internal reporting
as for external reporting
-
Contributers include various institutes of accountants,
Arthur Anderson, Ernst & Young, KPMG,
PricewaterhouseCoopers, Microsoft, IBM, Reuters
XML in Finance
-
Financial Products Markup Language
-
Extensible message format for transactions of OTC derivatives
-
Addresses issue of how to speed settlement
-
Allows automatic checking that both parties agree on conditions
-
Contributers include J.P.Morgan, PricewaterhouseCoopers,
Deutsche Bank, IBM, SWIFT, Reuters
XML in Finance
-
Message formats defined for interest rate swaps
-
Proposal for credit derivatives
(Credit Default Swaps, Asset Swap Options & Total Return Swaps)
-
Clean architecture standard maintains common style or
"feel" across product types
-
If defining a financial market standard, you could do worse than
copy the FpML architecture, which is not FpML specific
XML in Finance
-
Investment Research Markup Language
-
New initiative to facilitate automatic processing of investment reports
-
Initially will concentrate on "front page" material
-
Contributors include Multex, Dresdner KB, ABN AMRO, Reuters
-
Will effect usage of investment reports, due to ease of summarisation
-
Which reports will be read, which will only be used in summaries?
-
The usage of standard in this talk is colloquial
-
Only a few bodies, like ISO & the UN, can legally create standards
-
Common usage of "standard" corresponds to industry standard
or de facto standard
-
The W3C creates recommendations for the World Wide Web
-
OASIS (Organization for the Advancement of
Structured Information Standards) supports the development of
vertical "standards"
-
Provides a pre-fab committee process, mailing lists,
and a schema repository
-
Members include IBM, Microsoft, Sun, Oracle, SAP, Commerce One,
Boeing, Reuters; open to all, including individuals
-
Many "standards" being developed by single issue groups
such as XBRL.org, FpML.org, IRML.org
-
Overlaps & gaps in domain coverage are a growing but unresolved issue
-
As organisations grow, internal communications become major cost issues
-
This also applies to computer-to-computer communication
-
Your legacy systems need to talk, your systems need to talk
with those of your suppliers & customers
-
XML has become the lingua franca of the computer world,
the common language we all understand
-
Your mainframes can talk XML
-
Windows, Solaris, Unix, Linux, Macintosh, etc. can all talk XML
-
Oracle, DB2, SQL Server, etc. can all talk XML
-
As long as your divisions are using the same XML formats,
you save money by re-using data & message formats
-
Suddenly, everyone sees your business information the same way
across the company
-
When you share the data format, you can share
software & infrastructural costs
-
If every business unit does its own thing with XML,
you may not save money
-
You can get the greatest gains by basing your
internal XML formats on external XML standards,
particularly those you use with suppliers, peers, or customers
-
Understand the standards that are out there, their scope,
and how they overlap with your business
-
Understand that commerce standards start out modelling data,
but often end up modelling business processes (especially transactions)
-
Standards mean standardising your processes with your competitors'
-
You need a clear vision of what your business differentiators
are & will be, and how that will be reflected in your products/services
-
Go for open standards.
Proprietary or closed "standards" are not well received
-
Get involved in the standards that affect your core business
-
Develop products & services in parallel with developing standards;
deploy ASAP after ratification
-
Standards usually require infrastructure
which is outside of the standard itself
-
The companies that provide the infrastructure first
will have the competitive advantage
-
XML standards evolve with time.
-
Don't build systems that cannot cope with change!
-
Use 3rd party XML tools & standards whenever possible,
including open source
How to profit from XML
-
Reuters is most well known for its news service
-
Reuters initiated NewsML, an XML format for packaging multimedia news
-
NewsML 1.0 spec has recently been approved by the IPTC
-
Reuters is building a news delivery system with NewsML as its foundation
How to profit from XML
-
Reuters could have tried to continue with its old news system
-
News could have been converted to NewsML as the
last stage of the process, but labour intensively
-
However, there is far more to gain by building a
flexible workflow around NewsML
-
Maintenance of proprietary applications can be phased out
as off-the-shelf XML software is phased in
How to profit from XML
-
When the news format is the same at all points in the flow,
it becomes possible to continuously refine the process
-
Equally, it becomes possible to add new products
-
The value is in being able to progressively adapt
without having your systems break
-
Enormously difficult & expensive unless there is a
common foundation for data & messaging
-
XML is multilingual - are you? Multinational? Multicultural?
-
What are your services now; what could they be in the future?
-
How will you compete if your products/services become commoditised?
-
Be creative in analysing what your business is
-
XML is a simple concept whose strength lies in its
open structure and software support
-
XML is influencing all large players, like Reuters,
and will affect smaller organisations too
-
XML has made standards the flavour of the moment
-
Compete on implementations or infrastructure
-
ebXML, SOAP (XML Protocol) will affect your business
-
My tip: consider joining OASIS, which provides infrastructure
to fast-track the creation of vertical XML standards
-
Special thanks to Nic Fulton, Chief Technology Strategist, Reuterspace
References
-
XML.com
-
http://www.XML.com/
A
good place to start learning about
XML. The Annotated XML Spec is
noteworthy, but not compulsory
reading.
-
xmlhack.com
-
http://www.xmlhack.com/
News and articles for XML
developers.
-
The XML Cover Pages
-
http://www.oasis-open.org/cover/sgml-xml.html
Robin Cover's
encyclopadic reference for XML
Specifications, articles, and
tools.
References
-
ebXML
-
http://www.ebxml.org/
UN/OASIS initiative to create "EDI for the rest of us".
-
XBRL
-
http://www.xbrl.org/
eXtensible Business Reporting Language.
-
FpML
-
http://www.fpml.org
Financial Products Markup Language.
-
IRML
-
http://www.irml.org/
Investment Research Markup Language.
-
IBM XML specification for
business-to-business
transactions
-
http://www-4.ibm.com/software/developer/library/tpaml.html
One of the inputs to ebXML.
References
-
XML @ W3C
-
http://www.w3.org/XML/
The W3C's XML site. This
is where the official XML
recommendations are. Some of them can
be heavy reading.
-
XML Protocol @ W3C
-
http://www.w3.org/2000/xp/
Status of the XML Protocol activity, based on SOAP 1.1.
-
SOAP 1.1
-
http://www.w3.org/TR/SOAP/
The SOAP 1.1 submission, given to the W3C as the basis for its XML Protocol work.
-
XML Namespaces
-
http://www.w3.org/TR/REC-xml-names
Namespaces are used to identify sets of XML tags which might otherwise conflict.
-
XML Schemas #0: Primer
-
http://www.w3.org/TR/xmlschema-0/
XML Schemas can be used to describe the structure & data of the XML format for a particular application.
-
XML Schemas #1:
Structures
-
http://www.w3.org/TR/xmlschema-1/
-
XML Schemas #2:
Datatypes
-
http://www.w3.org/TR/xmlschema-2/
-
XHTML
-
http://www.w3.org/TR/xhtml1
XHTML is the modular XML replacement for HTML 4.
References
-
SAX
-
http://www.megginson.com/SAX/index.html
Simple
API for XML. Converts XML into a
stream of events.
-
DOM @ W3C
-
http://www.w3.org/DOM/
Document Object Model.
Converts XML into a tree of
nodes.
-
XSL @ W3C
-
http://www.w3.org/Style/XSL
Extensible Stylesheet
Language.
-
XSLT Specification
-
http://www.w3.org/TR/xslt
XSL
Transformations.
-
XSL Specification
-
http://www.w3.org/TR/xsl/
XSL Formatting
Objects.
-
XPath Specification
-
http://www.w3.org/TR/xpath
How to specify a location
in an XML document.
References
-
CSS @ W3C
-
http://www.w3.org/Style/CSS
Cascading Style
Sheets.
-
XPointer Specification
-
http://www.w3.org/TR/xptr
How to specify a location
or range in an XML
document.
-
XLink Specification
-
http://www.w3.org/TR/xlink/
How to do hyperlinking in
XML.
-
XML Query Requirements
-
http://www.w3.org/TR/xmlquery-req
The latest progress on
the XML Query
specification.
References
-
IE5
-
http://www.microsoft.com/windows/ie/default.htm
Displays XML as a tree by
default, and can display XML using CSS
or XSLT.
-
Mozilla (& Netscape 6 preview)
-
http://www.mozilla.org/
Can display XML using CSS or XSLT. Uses XML to define "look & feel" of browser.
-
Apache XML Tools
-
http://xml.apache.org/
Xerces parser, Xalan
XSLT, FOP XSL Formatting Objects, Cocoon servlet for transforming
server-side XML to client-side HTML or
XML, Xang dynamic page generator, SOAP.
Xerces and Xalan available either as Java or C++.
-
James Clark's XML
Resources
-
http://www.jclark.com/xml/
XP
parser (Java), expat parser (C++), XT
(XSLT in Java), and XML test cases.
Self-funded, James Clark produces some
of the best XML & SGML software
available today, and makes it
available for free.
-
Java Technology & XML @
Sun
-
http://java.sun.com/xml/
JAXP (Java
API for XML Parsing) is Sun's new
standard API for pluggable Java XML
parsers, based on SAX and
DOM.
-
XML @ IBM
developerWorks
-
http://www.ibm.com/developer/xml/
News, articles, and
software.
-
IBM alphaWorks
-
http://www.alphaWorks.ibm.com/
IBM's alphaWorks has an
amazing range of XML (and other) tools
to try for free; some of them very
useful.
References
-
XML Developer Center @
Microsoft
-
http://msdn.microsoft.com/xml/default.asp
Check
out Microsoft's XML parser and XSLT
engine here.
-
Oracle XML Developer's
Kit
-
http://technet.oracle.com/tech/xml/
Includes Oracle XML
parser and XSLT engine. Java, C/C++,
and PL/SQL.
-
JDOM
-
http://www.jdom.org/
An XML API designed specifically for Java developers.
-
JXML Tools
-
http://www.jxml.com/
Quick, Qare, & Coins - tools for transforming between XML & Java.
References
-
Arbortext Epic Editor
-
http://www.arbortext.com/Products/Selection_Guide/Epic_Editor/epic_editor.html
A good, high-end XML editor.
-
SoftQuad XMetal
-
http://www.xmetal.com/
A good, high-end XML
editor.
-
XML Spy
-
http://www.xmlspy.com
A very useable editor for XML, XSLT, DTDs, & XML Schemas (among other things).
-
Extensibility Tools
-
http://www.extensibility.com/
Extensibility have a family of cross-platform (Java) XML tools,
including XML Instance (XML editor), XML Authority (DTD/Schema editor), XML Canon (repository).
References
-
XML.org
-
http://www.XML.org/
The OASIS repository for XML specifications, schemas and vocabularies.
-
BizTalk.org
-
http://www.biztalk.org/BizTalk/default.asp
This repository revolves around Microsoft's BizTalk product.
-
schema.net
-
http://www.schema.net/
References
-
XML for the Absolute
Beginner
-
http://www.javaworld.com/jw-04-1999/jw-04-xml.html?032499txt
JavaWorld
article.
-
Design Patterns in XML
Applications: Part 1
-
http://xml.com/pub/2000/01/19/feature/index.html?wwwrrr_20000119.txt
If you are familiar with
design patterns, and article worth
reading. If not, worth reading anyway
before you design an XML DTD or
Schema.
-
Design Patterns in XML
Applications: Part 2
-
http://xml.com/pub/2000/02/16/feature/index.html?wwwrrr_20000216.txt
-
Mapping XML to Java, Part 1
-
http://www.javaworld.com/javaworld/jw-08-2000/jw-0804-sax.html
JavaWorld article.
-
Mapping XML to Java, Part 2
-
http://www.javaworld.com/javaworld/jw-10-2000/jw-1006-sax.html
-
XML JavaBeans: Part 1
-
http://www.javaworld.com/javaworld/jw-02-1999/jw-02-beans.html
JavaWorld article.
-
XML JavaBeans: Part 2
-
http://www.javaworld.com/javaworld/jw-03-1999/jw-03-beans.html
-
XML JavaBeans: Part 3
-
http://www.javaworld.com/javaworld/jw-07-1999/jw-07-beans.html
References
-
xml-dev Archive
-
http://lists.xml.org/archives/xml-dev/
The "xml-dev" mailing list is the #1 list for XML developers.
-
XSL-List Archive
-
http://www.mulberrytech.com/xsl/xsl-list
The "XSL-List" mailing
list is the #1 list for XSL developers
and users.
-
CORBA & XML Resource
Page
-
http://www.omg.org/xml/
-
Unicode
-
http://www.unicode.org/
The Unicode system for
encoding the world's languages.
Supported natively by XML and
Java.