Title: Real Problems Real Solutions Real XML AIIM Briefing Tom Cozzolino, Tim Vattima Answerthink
1Real ProblemsReal SolutionsReal XMLAIIM
BriefingTom Cozzolino, Tim VattimaAnswerthink
2Todays Agenda
- What is XML?
- What are the target areas for XML?
- How has XML been used in Real Solutions?
- What is on the horizon for XML?
- Wrap-Up
3Todays Agenda
- What is XML?
- What are the target areas for XML?
- How has XML been used in Real Solutions?
- What is on the horizon for XML?
- Wrap-Up
4What is XML?
- Brief History
- What it is (and what it isnt)
- Key Components
- XML and the Web
- XML and Applications
5What is XML? - Brief History
- Based on Standard Generalized Markup Language
(SGML), but omits obscure features - Developed by World Wide Web Consortium (W3C),
originally as Web SGML - First spec completed November 96
- Created to help the extremes of HTML and SGML
6What is XML? - (and what it isnt)
- XML is an extremely simple dialect of SGML..
with the goal to enable generic SGML to be
served, received, and processed on the Web in the
way that is now possible with HTML (source XML
specification) - It is not a programming language or a protocol
but a structured text format
7What is XML? Sample Document
- lt?xml version 1.0?gt
- ltproduct barcode3456789A7gt
- ltmanufacturergtSonylt/manufacturergt
- ltnamegtDVD-5000-5lt/namegt
- ltquantitygt75lt/quantitygt
- ltcolorgtblacklt/colorgt
- ltdescriptiongt5-Disc DVD Changerlt/descriptiongt
- lt/productgt
8What is XML?
(source xml.darmstadt.gmd.de)
9What is XML? - Components Document Type
Descriptor (DTD)
- A Formal statement regarding what a valid
document may contain - Lists all elements, attributes, and entities used
and associated contexts - Documents that do not conform to the DTD are
invalid - Human Readable
... lt!ELEMENT first_name (PCDATA)gt lt!ELEMENT
last_name (PCDATA)gt lt!ELEMENT profession
(PCDATA)gt lt!ELEMENT name (first_name,
last_name)gt lt!ELEMEN
T person (name, profession)gt ...
Source OReilly
10What is XML? - Components Parsers
- Check documents for well-formedness (i.e., are
all tags closed, etc.?) - Checks for validity (i.e., does it conform to
the DTD?) - Parsers exist or under development for most
platforms (W2K, Unix, PDA, Phone)
11XML and the Web Namespaces
- A namespace is a collection of element and
attribute names identified by a URI reference
(source XML FAQ) - Namespaces are necessary to allow software
modules..to be able to recognize the tags and
attributes which they are designed to process,
even in the face of collisions occurring when
markup intended for some other software package
uses the same element type or attribute name
(source W3C.org)
12XML and the Web Namespaces (contd)
lt?xml version"1.0"?gtlt!-- both namespace
prefixes are available throughout --gtltbkbook
xmlnsbk'urnloc.govbooks'
xmlnsisbn'urnISBN0-395-36341-6'gtltbktitlegtChe
aper by the Dozenlt/bktitlegtltisbnnumbergt15684913
79lt/isbnnumbergtlt/bkbookgt
Source http//www.w3.org/TR/REC-xml-names/
13What is XML? - Components Internationalization
- XML Documents contain Unicode Text (supports
about 50,000 characters) - All XML documents should have an encoding
declaration - lt?xml Version1.0 encodingKOI8-R?gt
- xmllang attribute can specify the language of a
specific element
14XML and the Web Options
- XHTML - Retrofit HTML Documents to be
XML-compliant (i.e., ltpgt with lt/pgt, etc.) - XML files Cascading Style Sheets (CSS) -
combines content (XML) with display (CSS) to
produce HTML for browsers - XML files Extensible Stylesheet Language (XSL)
Transformation (XSLT) - very important!
15XML and the Web XLINK, XPOINTER
- XLINK HREF on steroids bi-directional,
actionable, arcs are supported - ltFOOTNOTE xmlnsxlink"http//www.w3.org/XML/XLink
/0.9" xlinktype"simple" xlinkhref"footnote7.xm
l"gt7 - lt/FOOTNOTEgt
- ltSTORE xlinktypelocator
xlinkhrefhttp//www.amazon.com/bookinfo?
theisbn0192343451
xlinklabelbuygtAmazonlt
/STOREgt - XPOINTER Links portions of documents
- xpointer(/people/person/name/first_name/text())
16XML and Applications SAX, DOM
- Two Alternatives to store/parse XML documents in
memory - DOM - Document Object Model - read the entire XML
object into memory before operating on it (better
for random access) - SAX - Simple API for XML - process the XML object
on lttaggt lt/taggt basis
(better for large documents)
17XML and Applications RDF
- Resource Description Framework (RDF) consistently
and unambiguously describes products, services,
and content for non-human consumers
Source http//www.ukoln.ac.uk/metadata/resources
/rdf/examples/2/
18XML and Applications RDF (contd)
- ltrdfRDF
- xmlnsrdf"http//www.w3.org/TR/WD-rdf-syntax"
- xmlnsdc"http//purl.org/dc/elements/1.0/"
- xmlnsdcq"http//purl.org/dc/qualifiers/1.0/"gt
- ltrdfDescription about"http//www.ariadne.ac.uk
/"gt - ltdcTitlegtAriadne - The Web
Versionlt/dcTitlegt - ltdcSubjectgt
- journal magazine elib electronic
libraries digital libraries - networking Web IT higher education
- lt/dcSubjectgt
- ltdcDescriptiongt
- A Web magazine of Internet issues for
librarians - and information specialists
- lt/dcDescriptiongt
- ...
- lt/rdfRDFgt
Source http//www.ukoln.ac.uk/metadata/resources
/rdf/examples/2/
19Todays Agenda
- What is XML?
- What are the target areas for XML?
- How has XML been used in Real Solutions?
- What is on the horizon for XML?
- Wrap-Up
20B2B Pressures
- Say Goodbye to EDI
- EDI is batch - XMLB2B is near real-time
- EDI is point-to-point - adding partners is
difficult and tedious - Uses the inexpensive Internet
- No costly WAN connections
- XML-B2B uses simple protocols like HTTP(S)
- Leverage Vertical Industry Standards
- Finance/Banking uses ebXML or SOAP to allow
real-time query/update for customers and partners - Information Services such as News, Weather, and
Investment services use XML and SOAP to provide
open B2B services to customers
21Leveraging Investments in Legacy Systems
- Streamlines Internal Processes by allowing Modern
and Legacy Systems to coexist through a common
interface to information - Flexible
- XML can be easily changed to add / delete /
change new business functions - Combining with XSLT typically means little or no
reprogramming of old code - Self-Describing Data
- XML contains not only the data but the metadata,
so data definitions are always up to date
22Delivering to Multiple Channels
- Presentation Tier can support (m)any clients
- Browsers - HTML
- Phones - WML
- Voice Processing - VoiceXML
- PDA - HTML
- XSLT transforms XML to appropriate client
response, saving considerable effort and
maintenance
23XSLT
- eXtensible Stylesheet Language (XSL)
- Language for expressing style sheets
- Like CSS, XSL is a file that describes how to
display an XML document
... ltscenegt ltFXgtGeneral Road Building
noises.lt/FXgt ltspeech speaker"Prosser"gt Come
off it Mr Dent, you can't win you know. There's
no point in lying down in the path of progress.
lt/speechgt ltspeech speaker"Arthur"gt I've
gone off the idea of progress. It's overrated
lt/speechgt ...
... ltxsltemplate match"FX"gt ltfoblock
font-weight"bold"gt ltxslapply-templates/gt
lt/foblockgt lt/xsltemplatesgt ... ltxsltemplate
match"speech_at_speaker"Arthur""gt ltfoblock
background-color"blue"gt ltxslvalue-of
select"_at_speaker"gt ltxslapply-templates/gt
lt/foblockgt lt/xsltemplategt ...
XML
XSL
XSLT
HTML
Source http//www.w3.org/Style/XSL/WhatIsXSL.html
24Dealing with Heterogeneous Environments
- Support for multiple operating systems and
component models - Supported on Windows / UNIX / Midrange /
Mainframe - XML Messages easily passed via Message Oriented
Middleware - SOAP, ebXML
25Easing Application Development
- Time Savings
- Human-Readable tools automate Application
building (ANT Build Tool) - XSLT can Promote Pattern-based automatic Code
Generation
26Easing Application Development (contd)
- Flexible Design
- Java API for XML Binding (JAXB) for marshalling
and unmarshalling XML and Java objects
ltorder id1225678gt ltdategt12/15/2001lt/dategt
ltcustomer id00067gtlt/customergt ltlineitemsgt
ltlineitem id1 qty4gt ltproduct
id145gtlt/productgt lt/lineitemgt
ltlineitem id2 qty2gt ltproduct
id201gtlt/productgt lt/lineitemgt
ltlineitem id3 qty10gt ltproduct
id357gtlt/productgt lt/lineitemgt
lt/lineitemsgt lt/ordergt
DTD
J A X B
Order
Id1225678 date12/15/2001 custId00067 lineitems
ArrayList
27Easing Application Development (contd)
- Flexible Design
- Naming and Directory Services for
location-transparent design (Universal
Description, Discovery and Integration Services -
UDDI) - Configuration Management, Application Properties
- XML and SQL Databases
- ltroot xmlnssql"urnschemas-microsoft-comxml-sql
"gt - ltSuffolkgt
- ltsqlquerygtSELECT name FROM tgr361030c WHERE fips
! 0 FOR XML AUTO - lt/sqlquerygtlt/Suffolkgt
- ltrootgt
28Todays Agenda
- What is XML?
- What are the target areas for XML?
- How has XML been used in Real Solutions?
- What is on the horizon for XML?
- Wrap-Up
29How has XML been used in Real Solutions?
- Freight Company Expanding into the Dot Com World
- Wireless Infrastructure Provider Supporting
Multiple Wireless Devices with the same content - Pharmaceutical Company Publishing Internet-based
subscriptions from multiple sources - Telco Increasing Operating Efficiencies by
adding multiple sales channels and partners
30Freight Handling Company Expanding into the Dot
Com World
- 375MM Freight Handler
- How do non-Brick-and-Mortar Companies handle
timely warehousing and fulfillment? - Customers demanding a Glass Pipeline to track
end-to-end Logistics - Business Problem Existing warehousing software
solutions cannot easily handle multiple
independent companies in the same warehouse
31Freight Handling Company Technical Solution
- Use well-known Messaging infrastructure to
provide highly-available connectivity between the
new Order Management System and the Legacy
Transaction processing system - Define XML-based message structure as the
payload for messages between the disparate
systems - Tools Used IBM MQ Series and Microsoft Message
Queue (MSMQ)
32Freight Handling Company Technical Solution
33Freight Handling Company Benefits of using XML
- Enabled the developers to focus on the design of
Order Management System, not point-to-point
communications - Legacy Led to a flexible, open architecture for
integrating with the legacy transaction
processing system (easy to add / modify
transactions) - Heterogeneous Common XML denominator allowed
straightforward integration of IBM and Microsoft
Technologies
34Wireless Infrastructure Provider Supporting
Multiple Wireless Devices with the same content
- Startup Company funded by Major device, Telco,
and Financial Services Investors - Provides Infrastructure to link Multiple channels
with information through the use of barcodes - Business Problem Provide fast linkages between a
large array of channels and back-end services,
including - Database, LDAP
- Messaging
- Voice Processing
- Data Import and Export
35Wireless Infrastructure ProviderTechnical
Solution
- All responses to client are formulated as XML
- XSLT is used to transform the XML response to the
appropriate content for the target client - As new client-types become available, all that is
needed is a new XSLT template for that client
type no rewriting of code
36Wireless Infrastructure ProviderTechnical
Solution
37Wireless Infrastructure ProviderTechnical
Solution (contd)
- Integration with many types of servers
- Message-Oriented Middleware server queues XML
messages among many services providing a fault
tolerant, guaranteed delivery mechanism for
messages - Each service is attached to a particular message
queue to process the incoming XML
38Wireless Infrastructure ProviderTechnical
Solution (contd)
- A Custom Data Migration Service allows import and
export of a clients product list for maintenance
and batch loading - Due to potentially large datasets, SAX is used to
provide complete control over XML generation and
parsing - Tools Used Castor, SAX, XSLT, ANT, BEA Weblogic,
Tibco
39Wireless Infrastructure Provider Benefits of
using XML
- Application Development Cost savings
- Code generation
- XML templates for many similar Java Objects are
run through an XSLT transformer to produce
ready-to-compile java source files - ANT Application Build Tool
- Castor allowed XML to be used to marshall and
unmarshall to and from Java objects - no
additional coding was necessary beyond the
objects DTD - gt 100 hrs. of work saved
- Heterogeneous XML allows non-proprietary
messaging across a variety of services - Flexible Design
- Pluggable architecture
40Pharmaceutical Publishing Internet-based
subscriptions from multiple sources
- 14BN Annual Revenue
- Grow top-line revenue by providing
subscription-based information to Research
Communities over the Internet - Business Problem Create a uniform approach to
handling various content styles and formats to be
searched and browsed using a single taxonomy - Transform XML to HTML for presentation
- Target 90K documents loaded per month
41Pharmaceutical Technical Solution
- Use XSLT to convert various content styles to
common internal XML format - Use Industrial-strength RDBMS for indexing and
retrieval of data stored in internal format - Tools Used Oracle DB and Parser, XSLT, BEA
WebLogic
42Pharmaceutical Architecture
43Pharmaceutical Benefits of using XML
- Heterogeneous Transforming all content to a
standard XML format greatly simplified the
loading, indexing and presentation of data from
multiple sources - Development Strategy allowed developers /
architects to focus on the taxonomy browsing
capabilities of the application
44Telco Increasing Operating Efficiencies by
adding multiple sales channels and partners
- 5BN Revenue, 15MM Subscribers Worldwide
- High Investment in Legacy Systems
- Requires seamless Integration among many
services Authorized Resellers (including
LightBridge - Credit Check, Payment Plus -
Deposit Settlement, External Billing, others) - Business Problem Reduce operational friction
between external partners and Company, provide
lower delivery time for new customer services
45Telco Technical Solution (Authorized Resellers -
200K Transactions per month)
- Commerce XML (cXML) DTD used to communicate to
BrightPoint - Purchase Order sent as XML with response
containing shipping information - cXML allows Company to use standards-compliant
fulfillment vendors with no changes in its
interfacing systems - Credit Check request sent to LightBridge via XML
- LightBridge processes request and sends XML
response with a credit rating in real time - Tools Used Java-based XML Parsers, SOAP, iPlanet
Application Server
46Telco Technical Solution (Authorized Resellers)
47Telco Benefits of using XML on the project
- B2B SOAP / Web Services reduces the amount of
knowledge trading partners need about each
others technologies - Development Loosely-coupled interfaces are more
scalable and provide guaranteed delivery of
transactions - Development Using SOAP over HTTP sidesteps messy
architectural / security constraints
48Todays Agenda
- What is XML?
- What are the target areas for XML?
- How has XML been used in Real Solutions?
- What is on the horizon for XML?
- Wrap-Up
49What is on the horizon for XML? Web Services
- Allows dynamic Program-to-Program Assembly of
Services - Leverages Public and Private Universal
Description, Discovery and Integration Services
(UDDI) - Huge amount of Industry Emphasis (IBM, Microsoft,
BEA, Sun) - Standards Efforts (ebXML, others) coalescing
around Web Services - Bottom Line 6 mos. - 18 mos.
50Web Services Sample Architecture
A Simple Approach.. (source ibm.com)
- Leads to Real
- Integration..
- (source webservices.org)
51What is on the horizon for XML? Next-Generation
Information Management
- Current Web is Unsearchable - 2 Billion pages
cannot be effectively leveraged using
conventional crawler technology - XML, RDF, DAML, and shareable Ontologies will
bring the Semantic Web into being - Agents will be able to find Web content, and
Understand its value and context - Bottom Line 1-4 yrs.
(source w3c.org)
52Conclusions
- XML is hugely applicable to a number of important
business and technology problems of today - XML has been successfully applied to the
Logistics, Wireless, Telco, Pharmaceutical and
Content Management spaces to great benefit - XML-based technologies are exploding in all
dimensions of the IT space - Change will be rapid, but investments in
XML-based systems now will be leverageable in the
future
53Thank You
- Tom Cozzolino
- TCozzolino_at_Answerthink.com
- Tim Vattima
- TVattima_at_Answerthink.com
- Jim Hopkins
- JHopkins_at_Answerthink.com