< XML > and the Future of Internet-based Computing
Post on 11-Feb-2016
34 Views
Preview:
DESCRIPTION
Transcript
1
<XML> and the Future of Internet-based Computing
11 March 2002
Ian GRAHAMEmerging Business Strategy, Bank of MontrealE: <ian.graham@bmo.com> or <ian.graham@utoronto.ca>T: (416) 513.5656 / F: (416) 513.5590
Web: http://www.utoronto.ca/ian/talks/
Emerging Business Strategy, IBS ian.graham@bmo.com / 416.513.5656
2
Overview
A history lesson– The Web and the birth of XML – when, why, and who
What does XML give us?
Examples, illustrations, and applications
The future
3
In The Beginning ..... …. was the birth of the Web
(Tim Berners-Lee, 1992)
Internetcommunication
protocols
EmailNewsFtp
HTML(data/display)
Hello ThereHere’s a zippy HTML page, with lots of Colors and Links ...!!!Fun, Eh?
• HTML WebServer
HTTP(transfer)
Db & othersoftware
• HTTP
URLs(location
e.g -- http://www.foo.org/boo.html )
• URL
4
Three Core Concepts
HTTP -- HyperText Transfer Protocol– A protocol for transferring data between machines on the Internet
URL -- Uniform Resource Locator– A scheme for referencing, using a simple text string, the specific
location of a resource (Web page, audio file, program) somewhere on the Internet (e.g. http://www.utoronto.ca/ian/talks/ )
HTML -- HyperText Markup Language– a markup language for encoding information to be read / viewed by
people
HTTP and URLs have pretty-well stood the test of time.
But by 1996, HTML was already showing signs of age ....
5
Simple HTML Example
HTML (not XML) Markup
<HTML><HEAD> <TITLE>The XML Specification Guide --
Website Home Page </TITLE> <LINK REL="stylesheet" HREF="style.css"></HEAD><BODY BGCOLOR="#FFFFFF" TEXT="black" LINK="#0066CB" ALINK="#00A000" VLINK="#808080" >
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0">
<TR> <TD VALIGN="top" ALIGN="left"><FONT
CLASS="toolbar" FACE="arial,helvetica" SIZE="-1">The
XML Specification Guide </FONT></TD>…….. More tags and text ….
Browser Rendering
6
The Problems with HTML
HTML designed to serve one role - simple hypertext documents, with simple user interaction (forms, etc.). But people soon wanted to display other types of data:
– mathematical expressions, literary text– graphics, multimedia, interactive content ...– commercial forms, purchase orders, generic data
... and “connect” these parts together (so they can interact)
... and dynamically mix/edit chunks of data together
... and build dynamic networks that exchange information
... and make sure this works reliably, anywhere.
7
HTML Scope was Too Limited
– Single model for data (hypertext text)– Syntax too lenient ... It’s easy to create HTML that can be mis-
processed by other systems – Result:
• can’t create arbitrary custom data that can be universally understood
HTML
presentationof different
types of data
modelingdifferent types
of data
interchangedata between
machines
Evolution
Web
8
The Birth of XML...
..happened in 1996, when a group of experts assembled to try and find a way out of the problem.
First draft came out in late 1996 ... Final version of the XML 1.0 specification came out in February 1998
– Large Canadian contribution -- 3 out of 18 WG members, plus 1/3 editors [Tim Bray]
– Followed in 1999 by a second ‘core’ XML specification (Also with Tim Bray as co-editor)
Core Principles– Simple
• But not as simple as HTML, in particular with stricter formal syntax– Extensible
• So you can create your own tags, or elements – Distributed environment -friendly
• like HTML, but better
9
An XML Example
<?xml version=“1.0” ?><partorders xmlns=“http://myco.org/Spec/partorders” > <order ref=“x23-2112-2342” date=“25aug1999-12:34:23h”> <desc> Gold sprockel grommets, with matching hamster </desc> <part number=“23-23221-a12” /> <quantity units=“gross”> 12 </quantity> <deliveryDate date=“27aug1999-12:00h” /> </order> <order ref=“x23-2112-2342” date=“25aug1999-12:34:23h”> . . . Order something else . . . </order></partorders>
10
Specification of a syntax for “encoding” text-based data (words, phrases, numbers, ...), with strict syntax rules about how to do so.
A text-based syntax -- written using printable characters (no explicit binary data)
Extensible -- you can define your own tags (essentially data types), within the constraints of the syntax rules
Universal -- the syntax rules ensure that all XML processing software MUST identically handle a given piece of XML.
If you can read and process it, so can anybody else
What is XML?
11
Example Revisited
<partorders xmlns=“http://myco.org/Spec/partorders” > <order ref=“x23-2112-2342” date=“25aug1999-12:34:23h”> <desc> Gold sprockel grommets, with matching hamster </desc> <part number=“23-23221-a12” /> <quantity units=“gross”> 12 </quantity> <deliveryDate date=“27aug1999-12:00h” /> </order> <order ref=“x23-2112-2342” date=“25aug1999-12:34:23h”> . . . Order something else . . . </order></partorders> Hierarchical, structured information
tags attribute of thisquantity element
element
12
Processing XML -- creating data structures
text
partorders
order
order
desc
part
quantity
delivery-date
date=
ref=
date=
ref=
xmlns=
<partorders xmlns="..."> <order date="..." ref="..."> <desc> ..text.. </desc> <part /> <quantity /> <delivery-date /> </order> <order ref=".." .../></partorders>
text
XML syntax rules guarantees the same result, always
13
XML: Why it's this way
Simple (like HTML)– But not quite so simple– Stricter syntax rules, to eliminate processing errors– syntax defines structure (hierarchically), and names structural parts
(element names) -- it is self-describing data
Extensible (unlike HTML, vocabulary is not fixed)– Can create your own language of tags/elements, with rules – Strict syntax ensures that custom tags can be reliably processed
Designed for a distributed environment (like HTML)– Can have data all over the place: can retrieve and use it reliably
Can mix different data types together (unlike HTML)– Can mix one set of tags with another set: resulting data can still be
reliably processed
14
Mixing dialects together: name spaces
<?xml version="1.0" encoding="iso-8859-1"?><html xmlns="http://www.w3.org/1999/xhtml1" xmlns:mt=“http://www.w3.org/1998/mathml” ><head> <title> Title of XHTML Document </title></head><body><div class="myDiv"> <h1> Heading of Page </h1> <mt:mathml> <mt:sup> ...… MathML markup … </mt:mathml> <p> more html stuff goes here </p></div> </body></html>
mt: prefix indicates'type' mathml (a differentlanguage)
Default ‘type’is xhtml
15
XML Specification(s) Chart
XML 1.0 XML names
W3C rec
16
Classes of XML Dialects
XML gives us a tool for expressing data in a universally shareable way.
Many XML 'dialects,' optimised for different roles.
Can roughly break these down into five categories
– presentation & data stuff people read, look at, or exchange– metadata for describing things; for use by other
software– distributed apps data delivery; distributed applications, Web
services– XML utilities XSLT, Schemas,…– software utilities variety of things …
We’ll now look at some examples from the first three categories.
17
Classes of XML Dialects
1) Presentational Language (for people/applications)– SMIL -- for multimedia (RealPlayer Multimedia players) – WML -- Wireless WAP-phones – XUL -- user interface (Netscape 6)– VoiceXML -- voice interfaces (telephone-based ...)– XHTML -- XMLized version of HTML– …
Some language with specific academic relevance:– TEI -- Text encoding http://www.tei-c.org/ – MathML -- for mathematics http://www.w3.org/Math– XHTML -- new HTML http://www.w3.org/MarkUp– SVG -- for graphics http://www.w3.org/Graphics/SVG– HEML -- historical events http://www.heml.org
18
TEI -- Text Encoding Initiative
... represent all kinds of literary and linguistic texts for online research and teaching, using an encoding scheme that is maximally expressive and minimally obsolescent. †
Recently migrated to be compatible with XML (TEI-Lite)– Namespaces let you re-use XHTML ‘links’– XML also has its own more expressive linking/pointing mechanisms
Some online examples via .... [ www.utoronto.ca/ian/talks/11mar02/examples.html ]
Gain: universally accessible literary/academic texts, with networked capabilities
† From: TEI home page, http://www.tei-c.org, 16 Jan 2002
19
MathML, SVG: for Mathematics and Graphics XML dialects that model essential “types” of data for presentations
and display.
“Namespace” mechanism let you mix these different types of information together, and with other dialects (like XHTML)
Some online examples ....[ www.utoronto.ca/ian/talks/11mar02/examples.html ]
Advantages: Can communicate both structural and semantic information (how it looks and what it means)
– Interactive mathematical example documents– Interfaces with tools like Mathematica, Maple– Non-proprietary languages, interfaces
20
HEML: Historical Event Markup and Linking
... elements that are flexible enough to represent most known events in the past while working well with existing document encoding schemes, such as XHTML, TEI-Lite and Docbook. †
Online examples at ... [ www.utoronto.ca/ian/talks/11mar02/examples.html ]
A “web” of historical events, cross-linking documents with resources, timelines, etc.
† From: HEML home page, http://www.heml.org, 16 Jan 2002
21
And others
CML - Chemical Markup Lang
CellML - biological models
BSML - bioinformatic sequences
MAGE-ML - Microarray Gene Expression
XSTAR - for archaeological research
XMLMARC - MARC in XML
AML - astronomy markup language
... many (dozens and dozens) more ...
There has been an explosion of activity towards developing “universal” XML formats for encoding, exchanging and linking information.
“Evolutionary” forces still at play (many languages are born, but only a few will survive)
Prediction -- this will lead to a big change in how academic information is created, shared, and stored.
22
Informational Data: Metadata and Packages
Can use XML to encode information about data – Indexes, catalog records, etc.– data about non-text resources (images, people, whatever)
Can also use XML to package up information (data + catalog)
Example: IMS Content packaging– A standard for “packaging” Web content relevant to Web based
instructional applications– Will allow for interoperable content -- so it can be moved between
different IMS-compliant learning systems.– A growing number of learning systems, including WebCT, support
this standard
One of the core components for creating learning objects
23
Distributed Data
The networking of the data is becoming more important that the data itself
XML is becoming the tool for creating such networks, and for transporting data from place to place in that network.
The preceding example languages can sometimes do this sort of thing, but there are also specific XML languages aimed at this role.
These ideas -- and some of the existing tools -- can be used in Portal / Website development, creation of distributed databases, etc.
24
RDF -- Resource Description Framework– A language for encoding metadata about resources– Used by the Open Directory Project to create an open, shareable
directory of Web resources – Can search the directory site (like Yahoo), or download the entire
directory and integrate it into your own.
Current directory has: – 46,000 human editors– 45,000 categories– millions or ‘resources’ catalogued – re-used by ~290 sites around the world
Online examples from ... [ www.utoronto.ca/ian/talks/11mar02/examples.html ]
Distributed data application: Open Directory
25
Open Directory Model
dmoz.org
infospace
infospace
Ask Jeeves
Labour partyUK
RDF RDF data data feeds:feeds: <XML><XML>
Downloading XML datafrom well-known location
26
Distributed data application: RSS
RSS -- Rich/Resource/RDF Site Summaries– A language for encoding summary data about Web pages/sites, and
related metadata (update interval, etc.)– Designed for syndicated distribution of information about pages – Rather like headlines for newspapers
There are currently 850+ syndicators of such data, and several thousand RSS ‘feeds’
– News agencies– Web sites with updated content– individuals with ‘blogs’
Online examples from ... [ www.utoronto.ca/ian/talks/11mar02/examples.html ]
27
RSS Syndication Model
RSSaggregator
Black lines: <XML>
sites ...
RSSconsumers
Website
Desktopapp (e.g.,HeadlineViewer)
JavaScriptcomponent
Other ...(aggregator, ...)
‘one-way’ XML --Simple queryingof ‘aggregator’via URLs:http://ag.org/?news
28
open, XML-based protocol for instant messaging and presence. Jabber-based software is deployed on thousands of servers across the internet and is used by over a million people worldwide.
A complete XML-based distributed application toolset.
Distributed data application: Jabber
† From: TEI home page, http://www.tei-c.org, 16 Jan 2002
29
Jabber:
Jabberserver
Jabberserver
Jabber clients
• Presence• User directory• Proxys to Yahoo, ICQ• Other services
30
Jabber Example
Jabberserver
Jabberserver
Jabber client
• Connect register presence• Lookup user contact database• Send text message contact database
Jabber client
Requests and responses all sent in XML
Generic XML protocol for exchanging messages, plus some services.
Can be extended to non-text messaging applications
31
XML for networked applications
XML for encoding data
XML for transporting information between applications
XML for encoding instructions to send to another application– XML interfaces to other applications
Creation of Web Services– Software made available to others via a generic XML interface, with
supporting facilities (directory service for ‘finding’ them, etc.)
XML is becoming the core tool for building distributed, dynamically configured applications
32
• Web content distribution• Calendar aggregation• Portlets for Web sites• Distributed catalogs / db’s
How can this be used?
IntegratedApplication
Web siteNews Feeds
Jabber/chat
Banking
XML interface(SOAP, XML-RPC, other...)
33
The result of all this activity
Enormous drive to create all the XML technologies needed behind the scenes
Many “core” XML languages, plus many supporting standards
Evolution has been very quick, as the new Web model is not that n
34
XML (and related) Specifications
XML 1.0 XML names
‘Open’ std
W3C rec
W3C draft
industry std
XML Core
APIs
Style Protocols Web Services Application areas Data/presentaion
XHTMLbasic
Xlink …...
SAX 1
Xpath
XSLT
XSLDOM 1
Modularized XHTML
Xforms
Canonical
XMLsignature
XML baseXpointer
XML query ….
Infoset
XML schema
Xfragment
XHTMLevents
UDDI
XML-RPC100's
more ....
SAX 2
DOM 2DOM 3
CSS 1CSS 2
CSS 3
JDOM
JAXP
WSDL ...
ebXML
Biztalk
WDDXXMI ...
...
IFX
Docbook
...
MathML
SMIL 1 & 2
VoiceXML
XHTML 1.0
RDF
SOAP RSS
CellML
IMS
SVG
HEML
TEI
XULJabber
35
In Conclusion
XML is changing the way we think about ‘raw’ information– Open,– Universal– Shareable– Distributable– Collective, complex, and emergent
.. and with the Internet model is changing the way we think about applications
– Networked (via XML) collections of individually simple apps.– Value in aggregation, not the individual parts
36
Conclusion II
“A large part of how we think about music is influenced by the methods by with which it has conventionally been distributed. We think of pop songs as being three or four minutes long because 40 years ago that was all that could fit on one side of a vinyl single.”
Moby
We think of Internet-based computing is the same way -- in terms of what we know or knew -- not what it can be, or will become
Our great opportunity is to help define this future
37
<XML> and the Future of Internet-based Computing
11 March 2002
Ian GRAHAMEmerging Business Strategy, Bank of MontrealE: <ian.graham@bmo.com> or <ian.graham@utoronto.ca>T: (416) 513.5656 / F: (416) 513.5590
Web: http://www.utoronto.ca/ian/talks/
Emerging Business Strategy, IBS ian.graham@bmo.com / 416.513.5656
top related