1 / 35

XML: A Revolution Unfolds

XML: A Revolution Unfolds. Adam Bosworth Microsoft Corporation. Agenda. XML today The canonical model A Demo Reminder. Why XML at all Where we’re going. XML Today. What’s shipping today. www.microsoft.com/xml www.oracle.com/xml www.ibm.com/xml Object Design, Poet Bluestone

Download Presentation

XML: A Revolution Unfolds

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML:A Revolution Unfolds Adam BosworthMicrosoft Corporation

  2. Agenda • XML today • The canonical model • A Demo • Reminder. Why XML at all • Where we’re going

  3. XML Today

  4. What’s shipping today • www.microsoft.com/xml • www.oracle.com/xml • www.ibm.com/xml • Object Design, Poet • Bluestone • Perl, Python, Frontier…

  5. Shipping from Microsoft • Full XML support. • XML Parser. Fully DOM Compliant. Server Ready! • Namespace support • Direct Browsing of XML • Full XSL Support • Extended Schema Support • All formats ==> XML.

  6. The canonical model • A general model for mapping type systems, databases, objects and graphs to XML. • Types = Elements • Members = Attributes • Members whose type isn’t primitive are modeled using ID and IDREF/IDREFS’s.

  7. The canonical model • <INVOICE cost=“100.00” shipto = “Addr:1” billto = “Addr:2”> • <Address ID=“Addr:1” City=“NY” Zip=“11201”/> • <Address ID=“Addr:2” City=“MI” Zip = “98040”/> • </Invoice>

  8. The canonical model • <!ELEMENT Invoice Address)*> • <!ATTLIST Invoice • cost CDATA #IMPLIED • billto IDREF #IMPLIED • shipto IDREF #IMPLIED> • <!ELEMENT Address ANY> • <!ATTLIST Address • id ID #REQUIRED • City CDATA #IMPLIED • Zip CDATA #IMPLIED>

  9. The canonical model • Sharing • <Invoice … Customer=“C:1”/> • <Invoice … Customer=“C:2”/> • <Customer ID=“C1” …. /> • <Customer ID=“C2” …. />

  10. The canonical model • 1 to Many • <Customer name=“Adam” id=“C:1” orders = “o:1 o:2”> • <Order id=“o:1” cust=“c:1”…/> • <Order id=“o:2” cust=“c:1”…/> • <Order id=“o:3” cust=“c:1”…/> • </Customer>

  11. The canonical model • Many to Many • <Class id=“c:1” name = “math” attends=“s:1 s:2”/> • <Class id=“c:2” name=“CS” attends=“s:2 s:3”/> • <Student id=“s:1” name=“AB” attends=“c:1 c:3”/> • <Student id=“s:2” name=“Ben” attends=“c:1 c:2”/>

  12. Demo • Some examples using IE 5.0 • Structured Data (Objects, Databases) • Semi-structured Data (Documents) • Mixed Structured and Semi-structured Data. (The real objects on the Web)

  13. Reminder. Why XML? • Driven by two fundamental strategic imperatives: • Provide a model for finding goods, services, and other types of known information • Provide an applications architecture for the Web

  14. Scenarios • Search for: • Goods (e.g. Used Books) • Services (e.g. Lawn-mowing) • Information (e.g. Portfolios) • Share information between organizations and companies.

  15. Challenges to Realize the Web’s Full Potential... • Find information intelligently • Interact with applications on servers easily and efficiently • But: physical implementations will vary from site to site

  16. Web Sites Requirements • Standardize on logical views, not physical implementations • Standard description of logical views available • More than databases actually did • Sites can interact with each other and with clients!

  17. Lessons from the Web • Simplicity wins • Open, Easy, Flexible • Efficiency loses • Complex, Binary formats, Fixed vocabularies

  18. Lessons from Servers • Servers are like grocery stores • Good performance requires • Coarse-grained communication • Limited ability to multitask • Queues • Interruptible models • Standards

  19. We have learned • We need an architecture that lets us interact in a coarse-grained way through logical views • As a Web architecture, it must be easy, open, and flexible to build and interact with these logical views

  20. XML • XML is the most fundamental building block • It is the Meta-grammar that allows us to describe any data or state for any logical view • It is simple, easy, and open • It can describe any package of information moved to or from the middle-tier

  21. XML Store XML Store Application architecture View, Edit &Manage XML Client XML Msg’s Middle- Tier Transform Data intoXML Logical Views (web objects) Storage

  22. Coming very soon • Stores and convertors • RPC’s • Schema support • “XQL” • eCommerce and XML

  23. Stores and Converters • Converters between physical implementations and XML-based logical views. Oracle has already got a stake in the ground here. • There is a need to cache, index, update, transact, and in short, have a store for managing XML. ODI & eXcelon

  24. Schema • Active working group in the W3C now. • Unified support for data types. • Clear understanding of the need for: • FK/PK relationships • Ordered or unordered • Inherited types.

  25. RPC • XML provides a basis for an extremely simple extensible RPC. UserLand(Frontier), Perl, Python, Allaire( WDDX), and webMethods(B2B). • But, in many cases, messages, not RPC’s will be used. RPC’s are rarely robust over time and distance.

  26. Unified “XQL” • The Query language is the object construction language. • Which language? • XSL? Sql? • Key W3C Meeting in Boston in December. • Database vendors and object vendors will end up working together on this “XQL”

  27. eCommerce using XML • XML/EDI Group • ASC X12 /CommerceNet/ Graphics Communication Association • OO-EDI Brief /DRAFT. Relevant Standards Organization UN/CEFACT • OFX (Financial Services)

  28. Remember the book store • Describe the books • Describe the store’s services • Request specific books • Act as my shopping cart • Allow me to buy books

  29. “XUL” We need a grammar to act as an intelligent diff or updating grammar to XML. This is actually a hard problem when the document being updated is “virtual” rather than real. Still to come…

  30. Still to come • Application Services Broker • This mediates between sites, discovering which sites provide which services meeting certain filters or characteristics. • It should, if scalability can be handled, allow subscription and notification based upon criteria.

  31. Still to come • Application Bus • This allows general publish/subscribe to messages of interest. It assumes a general message queue accessible through HTTP. • Ideally, it will be able to post messages directly to other machines message queues.

  32. What can be built today? • Line-of-business applications • Planning • Notification • Data Capture • Information searching • Collaboration

  33. Summary • We’re only at the very start of the Web revolution. The most exciting part is just getting started. • With XML, interacting with data and applications on the Web will be as easy as viewing shared content

  34. XML Store XML Store Application architecture View, Edit &Manage XML Client XML Msg’s Middle- Tier Transform Data intoXML Logical Views (web objects) Storage

  35. http://www.microsoft.com/xml

More Related