Upload
tess98
View
1.115
Download
0
Embed Size (px)
Citation preview
XML:XML:A Revolution UnfoldsA Revolution Unfolds
Adam BosworthAdam BosworthGeneral ManagerGeneral Manager
Microsoft CorporationMicrosoft Corporation
AgendaAgenda XML BasicsXML Basics XML todayXML today Why XMLWhy XML Ongoing XML WorkOngoing XML Work Next StepsNext Steps
XML BasicsXML Basics What is XMLWhat is XML
So What Is XMLSo What Is XML A standard for encoding dataA standard for encoding data 3 Key differences from HTML3 Key differences from HTML
1) The set of Tags is unlimited but all 1) The set of Tags is unlimited but all container tags container tags mustmust have end tags. have end tags.
Example of legal XMLExample of legal XML <<PersonPerson>>
<<NameName>Adam Bosworth</>Adam Bosworth</NameName> > <<TitleTitle>General Manager</>General Manager</TitleTitle> > <<AgeAge>42</>42</AgeAge>></</PersonPerson>>
What is XMLWhat is XML Like HTML, XML can intermix Like HTML, XML can intermix
tags and texttags and text More legal XMLMore legal XML
<<PersonPerson>Adam Bosworth is an >Adam Bosworth is an <<rolerole>advocate</>advocate</rolerole> for > for <<technologytechnology>XML</>XML</technologytechnology>></</PersonPerson>>
What is XMLWhat is XML 2nd Key difference. Tags may 2nd Key difference. Tags may
not overlap each other.not overlap each other. Example of illegal XMLExample of illegal XML
<<PersonPerson><><NameName>Adam</>Adam</NameName>><<Key PointKey Point><><HeadingHeading>XML >XML provides a data bus</provides a data bus</HeadingHeading> > </</PersonPerson><><MoreMore>…</>…</MoreMore> > </</KeyPointKeyPoint>>
What is XMLWhat is XML But XML tags don’t describe But XML tags don’t describe
user interface. There is no user interface. There is no default presentation for each default presentation for each tag. They describe information.tag. They describe information. XML has no special tags for titles or XML has no special tags for titles or
lists or paragraphs or images. lists or paragraphs or images. It isn’t a presentation grammar. It is It isn’t a presentation grammar. It is
a way to encode any information.a way to encode any information.
What is XMLWhat is XML XML And Character SetsXML And Character Sets Defaults to Unicode/UTF8. Defaults to Unicode/UTF8.
If not Unicode, then addIf not Unicode, then add <?<?XML Encoding=“…”?>XML Encoding=“…”?>
is of seven-bit ASCIIis of seven-bit ASCII <?XML Encoding=“Windows-<?XML Encoding=“Windows-
1250”?> would support 1250”?> would support Eastern EuropeEastern Europe
What is XMLWhat is XML Namespaces provide ways to Namespaces provide ways to
mix XML tags without chaosmix XML tags without chaos <<?XML::Namespace href = ?XML::Namespace href =
“http://ofs/PO.dtd” as = “po”?“http://ofs/PO.dtd” as = “po”?> > <<popo::Order><ShipTo>Adam</ShipTo> ::Order><ShipTo>Adam</ShipTo> <Amount>100</Amount><Amount>100</Amount><Items> <Items> <Item><Qty>6</Qty><Prod>E13</Prod></> <Item><Qty>6</Qty><Prod>E13</Prod></> <Item><Qty>9</Qty><Prod>J14</Prod></> <Item><Qty>9</Qty><Prod>J14</Prod></> </Items></Items></</popo::Order>::Order>
What is XMLWhat is XML XML And ValidationXML And Validation You can enforce rules about You can enforce rules about
these tags.Two kinds of ways these tags.Two kinds of ways to define rules for the to define rules for the document. document. DTD’s. DTD’s. XML Schema’s.XML Schema’s.
What is XMLWhat is XML DTD’s (Definition Type DTD’s (Definition Type
Documents)Documents) DTDs. This is used to define a DTDs. This is used to define a
grammar for the tags and grammar for the tags and attributes. This syntax is attributes. This syntax is supported, but deprecated by supported, but deprecated by us. It uses a special non-XML-us. It uses a special non-XML-based grammarbased grammar
Document Type Definition Document Type Definition Or DTDOr DTD
<!doctype RootElement System <!doctype RootElement System “URL”[]> or if an internal DTD then “URL”[]> or if an internal DTD then
<!doctype RootElement [ <!doctype RootElement [ <!ELEMENT author (#PCDATA)><!ELEMENT author (#PCDATA)> <!ELEMENT title (#PCDATA)><!ELEMENT title (#PCDATA)> <!ELEMENT book (title?, <!ELEMENT book (title?,
author+)>author+)> ]>]>
What is XMLWhat is XML XML Schemas (XML-DATA)XML Schemas (XML-DATA)
Schema. This is a much richer Schema. This is a much richer and more extensible way to and more extensible way to describe the rules for the describe the rules for the content of a document and content of a document and uses XML itself as a grammar. It uses XML itself as a grammar. It was submitted to the W3C as was submitted to the W3C as the XML-DATA submission. the XML-DATA submission.
SchemaSchema A schema is defined using A schema is defined using
a particular XML syntaxa particular XML syntax <elementType id="author"> <String/><elementType id="author"> <String/> </elementType></elementType> <elementType id="title"> <String/><elementType id="title"> <String/> </elementType></elementType> <elementType id="book"><elementType id="book"> <elt href="#title" occurs="OPTIONAL"/><elt href="#title" occurs="OPTIONAL"/> <elt href="#author" occurs="ONEORMORE"/><elt href="#author" occurs="ONEORMORE"/> </elementType></elementType>
XML TodayXML Today
What’s shipping todayWhat’s shipping today XML support in Internet Explorer XML support in Internet Explorer
4.0 4.0 XML Parser XML Parser XML Data Source Object (DSO)XML Data Source Object (DSO)
Dynamic HTML (DHTML) for Dynamic HTML (DHTML) for PresentationPresentation
Toy demo you can download from Toy demo you can download from http://www.microsoft.com/xmlhttp://www.microsoft.com/xml
Merrill LynchMerrill Lynch PartnerPartner
Full Service BrokerageFull Service Brokerage Rebuilding all systems for intra, Rebuilding all systems for intra,
inter, and extranetsinter, and extranets Demo of ongoing work runs on Demo of ongoing work runs on
IE 4.0.IE 4.0.
Infrastructure for Streaming Infrastructure for Streaming UI & Data Tuned to ContextUI & Data Tuned to Context
From Chaos to StructureFrom Chaos to Structure ProblemProblem::
Chaos: Increasing Size & Chaos: Increasing Size & Complexity of Applications, Data Complexity of Applications, Data Sets & Distribution PointsSets & Distribution Points
Need More Contextual Information, Need More Contextual Information, Less DataLess Data
SolutionSolution:: Use XML, XSL, DHTML to Use XML, XSL, DHTML to
Standardize Encoding, Delivery, Standardize Encoding, Delivery, Presentation and AnalysisPresentation and Analysis
XML & Web-BasedXML & Web-Based3-Tier Applications3-Tier Applications
Storage
Middle-Tier
Client
Data Data Aggregation Aggregation
ModulesModules
•IE4IE4•XML, XSL, DHTMLXML, XSL, DHTML•Java ScriptJava Script•Link Mgr. COMLink Mgr. COM
•DHTMLDHTML•Java ScriptJava Script
CustomCustomServiceService
NavigationNavigation
Why XMLWhy XML
The Web’s Full PotentialThe Web’s Full Potential Search for:Search for:
Goods (e.g. Used Books)Goods (e.g. Used Books) Services (e.g. Lawn-mowing)Services (e.g. Lawn-mowing) Information (e.g. Portfolios)Information (e.g. Portfolios)
ApplicationsApplications Sites are applications that help Sites are applications that help
analyze and manage this dataanalyze and manage this data
Challenges to Realize the Challenges to Realize the Web’s Full Potential...Web’s Full Potential...
Find information intelligentlyFind information intelligently Interact with applications on Interact with applications on
servers easily and efficientlyservers easily and efficiently But: physical implementations But: physical implementations
will vary from site to site will vary from site to site
XML & Web-Based, 3-Tier XML & Web-Based, 3-Tier ApplicationsApplications
Storage
Middle-Tier
Client
DataIntegration
Presentation &Interaction
Delivery &Manipulation
Web Sites RequirementsWeb Sites Requirements Standardize on Standardize on logical viewslogical views, ,
not physical implementationsnot physical implementations Standard description of Standard description of
logical views availablelogical views available More than databases actually More than databases actually
did did Sites can interact with each Sites can interact with each
other and with clients!other and with clients!
Lessons from the WebLessons from the Web Simplicity winsSimplicity wins
Open, Easy, FlexibleOpen, Easy, Flexible Efficiency losesEfficiency loses
Complex, Binary formats, Fixed Complex, Binary formats, Fixed vocabulariesvocabularies
Lessons from ServersLessons from Servers Servers are like grocery storesServers are like grocery stores Good performance requiresGood performance requires
Coarse-grainedCoarse-grained communication communication Limited ability to multitask Limited ability to multitask Queues Queues Interruptible models Interruptible models StandardsStandards
We have learnedWe have learned We need an architecture that We need an architecture that
lets us interact in a coarse-lets us interact in a coarse-grained way through grained way through logical logical viewsviews
As a Web architecture, it must As a Web architecture, it must be easy, open, and flexible to be easy, open, and flexible to build and interact with these build and interact with these logical viewslogical views
XML XML XML is the most fundamental XML is the most fundamental
building blockbuilding block It is the Meta-grammar that It is the Meta-grammar that
allows us to describe allows us to describe anyany data data or state for any logical viewor state for any logical view
It is simple, easy, and openIt is simple, easy, and open It can describe any package of It can describe any package of
information moved to or from information moved to or from the middle-tierthe middle-tier
Application architectureApplication architecture
Storage
Middle-Tier
Client
Transform Data intoXML Logical View
XML &Components
View, Edit &Manage XML
Ongoing XML WorkOngoing XML Work
XML is already evolving XML is already evolving to the next levelto the next level
Currently EmergingCurrently Emerging NamespacesNamespaces XML-Data (“XML Schemas”)XML-Data (“XML Schemas”) XSLXSL XML StoresXML Stores Tools galoreTools galore
PresentationPresentation Data isn’t presentationData isn’t presentation Today — Dynamic HTMLToday — Dynamic HTML Tomorrow: Tomorrow:
XML inside DHTML: CSS & XML inside DHTML: CSS & ScriptScript
Extensible Style Language Extensible Style Language (XSL) which will allow the swift (XSL) which will allow the swift transformation of XML to HTML, transformation of XML to HTML, oror XML on client or server XML on client or server
Remember the book Remember the book storestore
Describe the store’s servicesDescribe the store’s services Describe the booksDescribe the books Request specific booksRequest specific books Act as my shopping cartAct as my shopping cart Allow me to buy booksAllow me to buy books
New XML grammarsNew XML grammars SchemaSchema
Logical view shape itself Logical view shape itself Site InformationSite Information
Site/Object/Server shape itselfSite/Object/Server shape itself Filters and UpdatesFilters and Updates
Any request for subsets of dataAny request for subsets of data Any desired set of changes to Any desired set of changes to
datadata
New XML grammarsNew XML grammars Object PersistenceObject Persistence
Describe how to save or Describe how to save or reload the state of any reload the state of any object to/from XML object to/from XML
Object Method InvocationObject Method Invocation XML grammar for XML grammar for
marshalling arguments to marshalling arguments to any method of any remote any method of any remote object include XML arg’s.object include XML arg’s.
DHTML
Web Applications ArchitectureWeb Applications ArchitectureApplications: Excel, Word
XML
XML
Objects
Custom Code
Middle-tierApplication
Databaseto XML
XML
Client
Middle-Tier
StorageMainframe Database
What can be built?What can be built?
Line-of-business applicationsLine-of-business applications PlanningPlanning NotificationNotification Data CaptureData Capture Information searchingInformation searching CollaborationCollaboration
Next StepsNext Steps
Step IStep I Learn XML Learn XML
View, edit, & manage XML View, edit, & manage XML Map XML logical views & Map XML logical views &
databasesdatabases http://www.microsoft.com/xmlhttp://www.microsoft.com/xml
Define grammarsDefine grammars General General e.g.e.g. Schema Schema Industry-specificIndustry-specific
Step IIStep II Build sites that are open Build sites that are open
applicationsapplications As standard XML grammars As standard XML grammars
emerge to describe site emerge to describe site services, support them services, support them
Make them interoperable. For Make them interoperable. For each site each site Publish its shape, its services, Publish its shape, its services,
and most importantly its dataand most importantly its data
Step IIIStep III
As XML grammars emerge for As XML grammars emerge for filtering and updating: filtering and updating: Implement and support themImplement and support them
Engineer your client side Engineer your client side objects to talk XML to servers.objects to talk XML to servers.
SummarySummary We’re only at the We’re only at the veryvery start of start of
the Web revolution. The most the Web revolution. The most exciting part is still to comeexciting part is still to come
With XML, interacting with With XML, interacting with data and applications on the data and applications on the Web will be as easy as viewing Web will be as easy as viewing shared contentshared content
Get started!Get started!
™
http://www.microsoft.com/xml