43
XML: XML: A Revolution A Revolution Unfolds Unfolds Adam Bosworth Adam Bosworth General Manager General Manager Microsoft Corporation Microsoft Corporation

XML: the Microsoft PowerPoint slide show on XML

  • Upload
    tess98

  • View
    1.115

  • Download
    0

Embed Size (px)

Citation preview

Page 1: XML: the Microsoft PowerPoint slide show on XML

XML:XML:A Revolution UnfoldsA Revolution Unfolds

Adam BosworthAdam BosworthGeneral ManagerGeneral Manager

Microsoft CorporationMicrosoft Corporation

Page 2: XML: the Microsoft PowerPoint slide show on XML

AgendaAgenda XML BasicsXML Basics XML todayXML today Why XMLWhy XML Ongoing XML WorkOngoing XML Work Next StepsNext Steps

Page 3: XML: the Microsoft PowerPoint slide show on XML

XML BasicsXML Basics What is XMLWhat is XML

Page 4: XML: the Microsoft PowerPoint slide show on 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>>

Page 5: XML: the Microsoft PowerPoint slide show on XML

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>>

Page 6: XML: the Microsoft PowerPoint slide show on XML

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>>

Page 7: XML: the Microsoft PowerPoint slide show on XML

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.

Page 8: XML: the Microsoft PowerPoint slide show on XML

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

Page 9: XML: the Microsoft PowerPoint slide show on XML

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>

Page 10: XML: the Microsoft PowerPoint slide show on XML

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.

Page 11: XML: the Microsoft PowerPoint slide show on XML

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

Page 12: XML: the Microsoft PowerPoint slide show on XML

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+)> ]>]>

Page 13: XML: the Microsoft PowerPoint slide show on XML

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.

Page 14: XML: the Microsoft PowerPoint slide show on XML

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>

Page 15: XML: the Microsoft PowerPoint slide show on XML

XML TodayXML Today

Page 16: XML: the Microsoft PowerPoint slide show on XML

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

Page 17: XML: the Microsoft PowerPoint slide show on 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

Page 18: XML: the Microsoft PowerPoint slide show on XML

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

Page 19: XML: the Microsoft PowerPoint slide show on XML

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

Page 20: XML: the Microsoft PowerPoint slide show on XML

Why XMLWhy XML

Page 21: XML: the Microsoft PowerPoint slide show on 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

Page 22: XML: the Microsoft PowerPoint slide show on XML

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

Page 23: XML: the Microsoft PowerPoint slide show on XML

XML & Web-Based, 3-Tier XML & Web-Based, 3-Tier ApplicationsApplications

Storage

Middle-Tier

Client

DataIntegration

Presentation &Interaction

Delivery &Manipulation

Page 24: XML: the Microsoft PowerPoint slide show on XML

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!

Page 25: XML: the Microsoft PowerPoint slide show on XML

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

Page 26: XML: the Microsoft PowerPoint slide show on XML

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

Page 27: XML: the Microsoft PowerPoint slide show on XML

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

Page 28: XML: the Microsoft PowerPoint slide show on XML

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

Page 29: XML: the Microsoft PowerPoint slide show on XML

Application architectureApplication architecture

Storage

Middle-Tier

Client

Transform Data intoXML Logical View

XML &Components

View, Edit &Manage XML

Page 30: XML: the Microsoft PowerPoint slide show on XML

Ongoing XML WorkOngoing XML Work

Page 31: XML: the Microsoft PowerPoint slide show on XML

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

Page 32: XML: the Microsoft PowerPoint slide show on XML

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

Page 33: XML: the Microsoft PowerPoint slide show on XML

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

Page 34: XML: the Microsoft PowerPoint slide show on XML

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

Page 35: XML: the Microsoft PowerPoint slide show on XML

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.

Page 36: XML: the Microsoft PowerPoint slide show on XML

DHTML

Web Applications ArchitectureWeb Applications ArchitectureApplications: Excel, Word

XML

XML

Objects

Custom Code

Middle-tierApplication

Databaseto XML

XML

Client

Middle-Tier

StorageMainframe Database

Page 37: XML: the Microsoft PowerPoint slide show on XML

What can be built?What can be built?

Line-of-business applicationsLine-of-business applications PlanningPlanning NotificationNotification Data CaptureData Capture Information searchingInformation searching CollaborationCollaboration

Page 38: XML: the Microsoft PowerPoint slide show on XML

Next StepsNext Steps

Page 39: XML: the Microsoft PowerPoint slide show on XML

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

Page 40: XML: the Microsoft PowerPoint slide show on XML

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

Page 41: XML: the Microsoft PowerPoint slide show on XML

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.

Page 42: XML: the Microsoft PowerPoint slide show on XML

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!

Page 43: XML: the Microsoft PowerPoint slide show on XML

http://www.microsoft.com/xml