Download presentation
Presentation is loading. Please wait.
1
CSE 636 Data Integration Web Services
2
What is a Web Service A web service is a network accessible interface to application functionality Application interoperability across different platforms Built using standard Internet technologies Clients of web services do NOT need to know how they are implemented Network Web Service Application Client Application Code
3
Web Services Related Standards
Web Services Description Language (WSDL) 1.1 (03/01) Version 2.0 under development Simple Object Access Protocol (SOAP) Universal Description, Discovery and Integration (UDDI)
4
Web Service Technology Stack
Client Discovery Shopping web service? UDDI WSDL URIs Web Service Description WSDL WSDL SOAP/HTTP request Proxy Messaging SOAP/HTTP response Transport HyperText Transfer Protocol (HTTP)
5
Part 1: Web Service Methods
Client Discovery Shopping web service? UDDI WSDL URIs Web Service Description WSDL WSDL SOAP/HTTP request Proxy Messaging SOAP/HTTP response Transport HyperText Transfer Protocol (HTTP)
6
Part 2: Web Service Description
Client Discovery Shopping web service? UDDI WSDL URIs Web Service Description WSDL WSDL SOAP/HTTP request Proxy Messaging SOAP/HTTP response Transport HyperText Transfer Protocol (HTTP)
7
Part 3: Proxy to Access Web Service
Client Discovery Shopping web service? UDDI WSDL URIs Web Service Description WSDL WSDL SOAP/HTTP request Proxy Messaging SOAP/HTTP response Transport HyperText Transfer Protocol (HTTP)
8
Part 4: Client to Invoke Proxy
Web Service Client Discovery Shopping web service? UDDI WSDL URIs Web Service Description WSDL WSDL SOAP/HTTP request Proxy Messaging SOAP/HTTP response Transport HyperText Transfer Protocol (HTTP)
9
Data Services Architecture
Web Application Server Web Service Web Service Client WSDL WSDL Parameterized XQuery Expressions Parameter Instantiation SOAP/HTTP request SOAP/HTTP response Query Result Query Execution XML Database XML Schema XML File
10
Web Services Definition Language (WSDL)
Defines services as collections of network endpoints Consists of abstract definitions Types Messages Port Types & Operations and concrete implementations Bindings Services & Ports Broken into pieces for reuse purposes
11
Port Types & Operations
Port Type: An abstract set of operations supported Operation: An abstract description of an action supported <portType name="AddressBook"> <operation name="addEntry"> <input message="tns:AddEntryRequest"/> <output message="tns:empty"/> </operation> <operation name="getAddressFromName"> <input message="tns:GetAddressFromNameRequest"/> <output message="tns:GetAddressFromNameResponse"/> </portType> Programming languages refer to a port type as a class, and to an operation as a method
12
Messages Abstract, typed definitions of the data being communicated
<message name="empty"/> <message name="AddEntryRequest"> <part name="address" type="tns:address"/> </message> <message name="GetAddressFromNameRequest"> <part name="name" element="tns:entryName"/> <message name="GetAddressFromNameResponse">
13
Types Data type definitions using the XML Schema type system
<xs:schema targetNamespace="urn:AddressFetcher" xmlns:xs=" <xs:element name="entryName" type="xs:string"/> <xs:complexType name="address"> <xs:all> <xs:element name="streetNum" type="xs:int"/> <xs:element name="streetName" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="state" type="xs:string"/> <xs:element name="zip" type="xs:int"/> <xs:element name="phoneNumber" type="xs:int"/> </xs:all> </xs:complexType> </xs:schema> </types>
14
WSDL File Structure Type Definitions Message Declarations
<definitions name="urn:AddressFetcher" targetNamespace="urn:AddressFetcher" xmlns:tns="urn:AddressFetcher" xmlns:xs=" xmlns:soap=" xmlns=" <types>…</types> <message name="AddEntryRequest">…</message> … <portType name="AddressBook">…</portType> <binding>…</binding> <service>…</service> </definitions> Type Definitions Message Declarations Port Type Declarations Binding Declarations Service Declaration
15
Bindings Concrete protocol and data format specifications for a particular port type <binding name="AddressBookSOAPBinding" type="tns:AddressBook"> <soap:binding style="document" transport=" <operation name="getAddressFromName"> <soap:operation soapAction=""/> <input> <soap:body use="literal"/> </input> <output> </output> </operation> … </binding>
16
Services & Ports Port: a single endpoint defined as a combination of a binding and a network address Service: a collection of related endpoints <service name="AddressBookService"> <port name="AddressBook" binding="tns:AddressBookSOAPBinding"> <soap:address location=" </port> </service>
17
Not Discussed Types of operations: Alternative Bindings: SOAP UDDI
One-way: The endpoint receives a message Request-response: The endpoint receives a message, and sends a correlated message Solicit-response: The endpoint sends a message, and receives a correlated message Notification: The endpoint sends a message Alternative Bindings: HTTP: Using GET and POST MIME SOAP RPC-Style Web Services UDDI
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.