Information Management NTU Web Services
Information Management NTU What Are Web Services? Semantically encapsulate discrete functionality Loosely coupled, reusable components Programmatically accessible Distributed over the Internet
Information Management NTU A Web Services Technology Stack Source: The Stencil Group * WSFL has been replaced by BPEL4WS. ** An alternative is ebXML (a UN/CEFACT standard for EDI-style information exchange). ** *
Information Management NTU The Core Layers Common Internet Protocols (HTTP, HTTPS, SMTP, …): the basic communication framework for Web services XML: a widely accepted format for exchanging data and its corresponding semantics SOAP: an XML-based protocol for messaging and RPC-style communication between applications (in a distributed environment)
Information Management NTU The Higher-Level Layers WSDL: an XML-based description of how to connect to a particular Web service UDDI: a set of protocols and a public directory for registration and real-time lookup of Web services BPEL4WS: a framework for defining new business processes that utilize existing web services. * ebXML: defines core components, business processes, registry and repository, messaging services,...
Information Management NTU Implementation Models of Web Services Source: Sun Microsystems, Inc.
Information Management NTU A SOAP Use Case Source: Sun Microsystems, Inc.
Information Management NTU Core Structures of UDDI Source: Sun Microsystems, Inc.
Information Management NTU How WSDL Works Source: Sun Microsystems, Inc.
Information Management NTU How ebXML Works Source: Sun Microsystems, Inc.
Information Management NTU Web Services on.NET Source: TheServerSide.com
Information Management NTU Web Services on J2EE Source: TheServerSide.com
Information Management NTU Processing a Web Service Request Source: TheServerSide.com
Information Management NTU Registering/Discovering a Web Service Source: TheServerSide.com
Information Management NTU Messaging and RPC-Style Requests Source: TheServerSide.com
Information Management NTU The JAX* Suite JAXR (Java API for XML Registries): to look up the business partner's web service. JAX/RPC (Java API for XML RPC): to send RPC requests to external web services. JAXM (Java API for XML Messaging): to send SOAP/ebXML messages to external web service. JAXP (Java API for XML Parsing) and JAXB (Java API for XML Binding): to transform Java data into an XML format and to convert the received XML data back into a Java language construct, and to perform XSLT transforms to convert schemas.
Information Management NTU Invoking Another Web Service Source: TheServerSide.com
Information Management NTU Simple Object Access Protocol (SOAP) For information exchange in a distributed environment Message format based on XML Can be combined with various transport protocols Originally developed by Microsoft SOAP Version 1.2 now a working draft
Information Management NTU Parts of SOAP The SOAP envelope: for describing what is in a message and how to process it. The SOAP binding framework (added in Version 1.2): for exchanging SOAP envelopes between peers using an underlying transport protocol The SOAP encoding rules: for exchanging instances of application-defined data types. The SOAP RPC representation: a convention for representing remote procedure calls and responses.
Information Management NTU A SOAP Message T14:00:00-05:00 Pick up Mary at school at 2pm
Information Management NTU Composition of a SOAP Envelope Source:
Information Management NTU A SOAP Envelope <env: Envelope xmlns:env=" env:encodingStyle=" env:mustUnderstand="1" 5 DEF
Information Management NTU SOAP Request and Response Request (partial) DEF Response (partial) 22.50
Information Management NTU SOAP Message in an HTTP Request POST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: " <m:GetLastTradePrice env:encodingStyle=" xmlns:m=" DIS
Information Management NTU SOAP Message in an HTTP Response POST /StockQuote HTTP/1.1 HTTP/ OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn <m:GetLastTradePriceResponse env:encodingStyle=" xmlns:m=" 34.5
Information Management NTU A SOAP Use Case Source: Sun Microsystems, Inc.