230 likes | 397 Views
Web Services. Components of the “Transactional Web”. James Snell jasnell@us.ibm.com. Overview. What is the “Transactional Web” The Web Services Stack Web Service Description Language (WSDL) Universal Description, Discovery and Integration (UDDI) Web Services and the Semantic Web
E N D
Web Services Components of the “Transactional Web” James Snell jasnell@us.ibm.com
Overview • What is the “Transactional Web” • The Web Services Stack • Web Service Description Language (WSDL) • Universal Description, Discovery and Integration (UDDI) • Web Services and the Semantic Web • Discussion/Q&A
What is the “Transactional Web” • Today: “The eye-ball Web” - the architecture of the Web is geared towards delivering information visually. • Tomorrow: “The transactional Web” – the architecture of the Web geared towards intelligently exchanging information between applications.
What is the “Transactional Web” • “Web Services” (plural) is a blanket term representing all of the technologies that enable the “transactional web” to exist. • “Web Service” (singular) is a term referring to a collection of application operations accessible over a network using Web Services technologies.
WSAH(Web Services Acronym Hell) DIME ebXML XSD XML WSDL JABBER XML-ENC SOAP-SEC SOAP XML-RPC SAML DISCO SOAP-RP XMLP XLANG CPP-CPA DSML UDDI WSFL WSEL P3P DAML-S X-KISS XKMS PKI XML-DIGSIG DISCO TWC (Tylenol with Codeine - which is what you’ll need after reading about all of these)
The Web Services Stack Wire Protocols Description Discovery SOAP Blocks Agreements SOAP/XMLP Process XML WSDL Extensions HTTP/SMTP/BEEP WSDL Registry (UDDI) TCP/IP XML Inspection The Web Services Stack helps us understand how each of the various pieces fit into the “Big Picture”
The Web Services Stack • Wire Protocols • Primary Role: provide a standard, flexible communications channel • Secondary Role: provide a standard, flexible wire-level data representation • Advantage: interoperability at the lowest level
The Web Services Stack • Description • Primary Role: provide a standard, flexible way to describe what and how a Web service does what it does. • Advantage: interoperability
The Web Services Stack • Discovery • Primary Role: provide a standard, flexible way to discover where a Web service is located and where to find more information about what the Web service does (the description) • Advantage: interoperability, dynamic integration
WSDL - Overview • WSDL is a simple XML grammar for describing how to communicate with a Web service • It defines the messages (both abstract and concrete) that are sent to and from a service • It defines logical collections of messages (“port type”, “interface”) • It defines how a given “port type” is bound to particular wire protocols • It defines where the service is located
WSDL - Overview <definitions> <types> <!-- XML Schema --> </types> <message name=“getQuote_In” /> <message name=“getQuote_Out” /> <portType name=“StockQuoteServiceInterface”> <operation name=“getQuote”> <input message=“getQuote_In” /> <output message=“getQuote_Out” /> </operation> </portType> <binding name=“StockQuoteServiceBinding” type=“StockQuoteServiceInterface”> <soap:binding transport=“http://schemas.xmlsoap.org/soap/http” /> … </binding> <service name=“StockQuoteService”> <port name=“StockQuoteServicePort” binding=“StockQuoteServiceBinding”> <soap:address location=“http://www.acme.com/services/stockquote” /> </port> </service> </definitions> Definition of data types Definition of messages Definition of port type Definition of the bindings Definition of the service
WSDL Overview • WSDL is extensible. • WSDL was created by IBM and Microsoft • The intent was to create something that worked, not something that was complete • Creating a formal Web Services “data model” was not a priority • WSDL is RDF-compatible (not RDF-compliant)
UDDI Overview • UDDI is: • A Web Services API for publishing and discovering the existence of Web services • A registry for managing information about Web services • A coalition of organizations working together to manage UDDI registries and to further develop the Web Services API for accessing those registries.
UDDI Overview • UDDI is built around a “Yellow-pages” like data model: Business Entity Identities Business Services Categories Service Bindings TModels
UDDI Overview • TModel = “Technology Model” TModel TModel Instance Abstract metadata definition relating to some aspect of the UDDI registration Implementation specific metadata conforming to a given TModel. TModel = Abstract Class
UDDI Overview • TModels • Categories & Identifiers • Categorization and Identification taxonomies are TModels • Categories and Identifiers are TModel Instances • Keyed Referenced • Name + Value + TModel • Examples: NAICS, UNSPSC, D&B # • WSDL Port Types • WSDL Port Types are TModels • WSDL Services that are bound to a Port Type are TModel Instances • WSFL Business Processes • WSFL Flow Models are TModels • WSFL Global Models are TModel instances TModels represent the extent of UDDI’s semantic description capabilities.
UDDI Overview • UDDI has only limited extensibility through TModels • UDDI was created by IBM, Microsoft and Ariba (many companies have joined the effort) • The intent was to put something together that worked.
UDDI Overview • UDDI Version 1.0 – September 2000 (in production) • UDDI Version 2.0 – June 2001 • UDDI Version 3.0 - In development • UDDI will be presented to a standards body after Version 3.0
Web Services and the Semantic Web • Complimentary Goals • Semantic Web • It’s about making links between information more intelligent. • Transactional Web (Web Services) • It’s about improving the way information is exchanged
Web Services and the Semantic Web • Different Points of View • Semantic Web • Derives the puzzle-pieces from the big picture • Transactional Web • Derives the big picture from the puzzle-pieces
Web Services and the Semantic Web • Meeting in the middle • Semantic Web • Provides a formal data-model for Web Services • Transactional Web • Provides a technology foundation for the Semantic Web