1 / 49

XML for Interoperability

This article provides an overview of web services, SOAP, RDF schemas, and the Semantic Web, exploring their capabilities and limitations. It also discusses the use of XML and tools for interoperability.

wilkinsg
Download Presentation

XML for Interoperability

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 for Interoperability Robin Burke ECT 360

  2. Outline • Schemas • Survey: last week • The Semantic Web • Web services • SOAP • RDF

  3. Schemas • Some schemas not very detailed • to be expected in a draft • Some schemas missing a multi-value property <author-list> <author>John Doe</author> <author>Jane Doe</author> </author-list>

  4. Survey • Current syllabus for week 10 • Media • SMIL • Synchronized Media Integration Language • WML • Wireless Markup Language • Alternative • XSLT 2.0 • XPath 2.0

  5. What the web is good at • Presenting information to people • Allowing people access to a wide range of information services

  6. What the web is not good at • Application integration • Must build site-specific client • “screen scraping” • Must deal with site-to-site heterogeneity • Classic example • FedEx site offers package tracking • What if you have 100 packages? • What if you have 10 different shippers?

  7. Semantic Web • “The web for softbots” • do for applications what the web does for people

  8. Requirements • What do we need • we need to be able to find and invoke applications • we need to understand the results of such invocations

  9. Solutions • How to find and invoke distributed services • web services • How to understand results • intelligible meta-data • shared ontologies

  10. Web services

  11. Web services • Family of standards • UDDI • Universal Description, Discovery and Integration • how do I create a catalog where services can be found? • WSDL • Web Services Definition Language • how do I describe a service to its users? • SOAP • Simple Object Access Protocol • how do I communicate with the service

  12. WSDL • message(s) accepted and emitted: abstract description (XML Schema) • network protocol(s) and message format(s) • operation: exchange of messages • port type: collection of operations • port: implementation of a port type • service: collection of ports

  13. UDDI • registry system • business entities, business services, specifications, service types • standard taxonomies to describe businesses, services, and service types

  14. SOAP • message construction (envelope, header, body) • message exchange patterns (MEP) and how to define more • processing model for messaging: originator, intermediaries, destination • extensibility mechanism • fault system • bindings to transport protocols (HTTP, SMTP, ...)

  15. Operation patterns • portType element • one-way • service receives a message; single input element • request-response • service receives a message and sends a response; one input and one output element • solicit-response • service sends a message and receives a response; one output and one input element • notification • service sends a message; single output element

  16. Example • Google WSDL

  17. SOAP Messaging

  18. Envelope • Embedded Information • Namespaces • Encoding information • Header • Optional • Can be handled by intermediaries • Body • Mandatory • Handled only by ultimate receiver

  19. Header • Used for extension • Context • Authentication • Transaction • Management • Made of Header blocks

  20. Body • Made of Body blocks • Carry main end-to-end information • Application data that will be consumed by Ultimate SOAP receiver • RPC method and parameters • SOAP fault

  21. Example • SOAP message • Google query

  22. Example • Google response

  23. Running code import com.google.soap.search.*; public class Test { public static void main(String[] args) { try { GoogleSearch search = new GoogleSearch(); search.setKey(“1234123412341234"); search.setQueryString(args[0]); search.setSafeSearch(true); GoogleSearchResult result = search.doSearch(); System.out.println(result.toString()); } catch(Exception e) { e.printStackTrace();} }}

  24. Where’s the XML? • XML is under the hood • It permits the interoperation • but the programmer can forget about it • Tools do the work • VB.Net • JAXB

  25. Break

  26. Semantic Web Layers • RDF • Resource Description Framework • RDF Schema • OWL • Web Ontology Language

  27. Differences • RDF • Assert facts • The ECT 360 homepage is... • RDF Schema • Create vocabularies and use them • ECT 360 is a CTICourse • OWL • Describe relationships between vocabularies • CTICourse in CTISchema is the same as Class in UICSchema

  28. Semantic Web Idea • Question • What courses at UIC cover the same material as ECT 360 at DePaul CTI? • With the Semantic Web • Get description of ECT 360 • Crawl UIC site for descriptions of courses • Match UIC descriptions against ECT 360 descriptions

  29. Metadata • Information about other data: • web page • Author, timestamp, content-type. • photograph • Photographer, subject, timestamp, camera model, film used. • astronomical observation • date/time, coordinates, instrument, part of the instrument.

  30. RDF • RDF is a specification that defines a model for representing the world, and a syntax for serializing and exchanging that model.

  31. Example: Book reviews • Some web pages are reviews of something else: a book, a recording, another web page. • The item being reviewed has various properties: a title, an author, an ISBN (for books, at least). • Possibility • create an XML document with this information • link somehow from web page

  32. Problem • What schema do we use? • our own? • create a consortium of reviewers? • This is a general problem of metadata • better to have a general solution

  33. The metadata idea • Let authors make assertions about their documents • Standardize the format • but not the content • Should build on web technologies

  34. RDF Building Blocks • Resource • Something with a URI • Property • Special type of resource • With a name • Can also have properties • Statement • Resource / Property / Value triple • Statements may refer to the same resource

  35. Example • Statements • this review is about a book isbn 01930110111 • this book is published by Manning • this book is titled “XSLT Quickly” • this book was written by a person • that person has first name Bob • that person has last name DuCharme • that person has a homepage

  36. Example

  37. Resources

  38. Resources • Defined by URI • Not necessarily a URL • Like namespaces

  39. Literals

  40. Properties

  41. Properties • Can be a literal or a resources • Multiple values allowed • Properties can have properties • Sam owns shares in Enron • The quantity of this ownership relation is 1000 • Properties also have URIs • Typically a base URI with associated prefix • like namespaces

  42. Example: Dublin core • Metadata for “published things” • Created by a library science consortium • Defines elements • creator • publisher • isbn • date • format

  43. Dublin Core • Refer to the Dublin Core namespace • in RDF document • dc: typical prefix

  44. Triples

  45. XML Serialization <rdf:RDF xmlns:foaf="http://xmlns.com/foaf/0.1/“ xmlns:dc="http://purl.org/dc/elements/1.1/“ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#“ xmlns:rev="http://amk.ca/xml/review/1.0#"> <rev:Review rdf:about="http://example.com/rev1"> <rev:subject rdf:resource="urn:isbn:1930110111"/> </rev:Review> <rdf:Description rdf:about=”urn:isbn:1930110111” <dc:title>XSLT Quickly</dc:title> <dc:creator rdf:resource=“http://example.com/auth/0042”/> <dc:publisher>Manning</dc:publisher> </rdf:Description> <rdf:Description rdf:about="http://example.com/auth/0042"> <foaf:firstName>Bob</FOAF:firstName> <foaf:homepage rdf:resource="http://www.snee.com/bob/"/> <foaf:pastProject rdf:resource="urn:isbn:1930110111"/> <foaf:surname>DuCharme</FOAF:surname> </rdf:Description> </rdf:RDF>

  46. With RDF • We create assertions • triples • Vocabulary creation based on namespaces • Verbose • Low-level

  47. RDF Application: RSS • RSS • RDF Site Summary • used to propagate web content • IE Channels • Netscape My Navigator • blogs • Example

  48. Semantic Web • Important vision for the future • Some tools available now

  49. Next week

More Related