Presentation is loading. Please wait.

Presentation is loading. Please wait.

IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 1 Web Services Yih-Kuen Tsay Dept. of Information Management National Taiwan University.

Similar presentations


Presentation on theme: "IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 1 Web Services Yih-Kuen Tsay Dept. of Information Management National Taiwan University."— Presentation transcript:

1 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 1 Web Services Yih-Kuen Tsay Dept. of Information Management National Taiwan University

2 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 2 What and Why? Modular applications accessible by standard protocols (not necessarily SOAP/HTTP) over the Internet Described by XML-based WSDL (Web Service Description Language) Expanding the scope of Web applications Enriching the form of client-server interactions and collaborations

3 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 3 Web Services Infrastructure Source: www.w3.org Security Service descriptions (in WSDL) Applications Directory service Web Services XML Choreography SOAP URIs (URLs or URNs)HTTP, SMTP or other transport Source: G. Coulouris et al., Distributed Systems: Concepts and Design, Fourth Edition Note: a more detailed diagram will be shown later along with explanations.

4 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 4 Source: G. Coulouris et al., Distributed Systems: Concepts and Design, Fourth Edition Combining Web Services hotel booking a Travel Agent flight booking a hire car booking a Service Client flight booking b hotel booking b hire car booking b

5 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 5 General Process of Engaging a Web Service Source: www.w3.org

6 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 6 Discovery Process Source: www.w3.org

7 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 7 Case: Web Services Provided by Amazon Product data E-commerce functions (such as shopping cart) Sales data Queuing service Etc.

8 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 8 Characteristics of Web Services Semantically encapsulated discrete functionality Loosely coupled, reusable components Programmatically accessible Distributed over the Internet

9 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 9 Web Services Architecture Stack Source: www.w3.org

10 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 10 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)

11 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 11 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 WS-BPEL(BPEL4WS): for defining new business processes that utilize existing web services WS-CDL: for abstract specification of collaborations * ebXML: defines core components, business processes, registry and repository, messaging services,... The Higher-Level Layers

12 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 12 Source: www.w3.org WSDL 2.0 Overview

13 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 13 Name In-Out In-Only Robust In-Only Out-In Out-Only Robust Out-Only ClientServerDelivery Fault message RequestReply may replaceReply Request no fault message Requestguaranteed may be sent ReplyRequest may replaceReply Request no fault message Requestguaranteedmay send fault Messages sent by Message Exchange Patterns in WSDL Source: G. Coulouris et al., Distributed Systems: Concepts and Design, Fourth Edition

14 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 14 Source: Sun Microsystems, Inc. Implementation Models of Web Services

15 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 15 UDDI Registries White pages: information about a service provider –business name, text description, contact information,... Yellow pages: business categories –NAICS, UN/SPSC, Geographical Information, … Green pages: information that describes how to work with someone –business processes, service descriptions, binding information, … Source: www-3.ibm.com

16 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 16 Core Structures of UDDI tModel businessServices tModel businessEntity information about the publisher tModel businessServices human readable service descriptions key URL businessServices information about a family of services human readable service interfaces bindingTemplate information about the key service interfaces Source: G. Coulouris et al., Distributed Systems: Concepts and Design, Fourth Edition

17 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 17 TModels in UDDI Categories & Identifiers –Categorization and identification taxonomies are tModels –Categories and identifiers are tModel Instances WSDL Port Types and Services –WSDL port types are tModels –WSDL services that are bound to a port type are tModel instances * TModels represent the extent of UDDI ’ s semantic description capabilities. Source: adapted from “www.semanticweb.org/SWWS/program/jamessnell.ppt”

18 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 18 Source: Sun Microsystems, Inc. How WSDL/UDDI Works

19 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 19 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. The JAX* Suite

20 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 20 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 W3C recommendaton

21 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 21 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.

22 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 22 1 2001-06-22T14:00:00-05:00 Pick up Mary at school at 2pm A SOAP Message

23 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 23 Composition of a SOAP Envelope envelope header body header element body element header element body element Source: G. Coulouris et al., Distributed Systems: Concepts and Design, Fourth Edition

24 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 24 <env: Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope/" env:encodingStyle="http://www.w3.org/2001/09/soap-encoding/"> env:mustUnderstand="1" 5 DEF A SOAP Envelope

25 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 25 Request (partial) DEF Response (partial) 22.50 SOAP Request and Response

26 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 26 POST /StockQuote HTTP/1.1 Host: www.example.org Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "http://example.org/2001/06/quotes" <m:GetLastTradePrice env:encodingStyle="http://www.w3.org/2001/09/soap-encoding" xmlns:m="http://example.org/2001/06/quotes"> DIS SOAP Message in an HTTP Request

27 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 27 POST /StockQuote HTTP/1.1 HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn <m:GetLastTradePriceResponse env:encodingStyle="http://www.w3.org/2001/09/soap- encoding" xmlns:m="http://example.org/2001/06/quotes"> 34.5 SOAP Message in an HTTP Response

28 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 28 Source: Sun Microsystems, Inc. A SOAP Use Case

29 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 29 XML Security Security functions: digital signature, encryption, key management –XML Signature, XML Encryption, XML Key Management Specification of W3C For use in cooperative work: applying security functions on part or the whole of an XML document Complementing secure transport protocols Alternative: WS-Security (of IBM)

30 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 30 Web Services Coordination/Choreography Beyond single request-response interactions Peer-to-peer collaborations Relevant languages: –WS-BPEL (Business Process Execution Language, was BPEL4WS) of OASIS For both abstract and executable processes Tailored for Web services –WS-CDL (Choreography Definition Language) of W3C For abstract processes Implementation neutral

31 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 31 Source: www.w3.org A Usage of WS-CDL

32 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 32 Service-Oriented Architecture (SOA) Service Oriented Architecture (SOA) represents a collection of best practices, principles, and patterns related to service-aware, enterprise-level, distributed computing. -- OASIS Focusing on logical, business-level views (of programs, data bases, business processes, etc.) Loosely coupled and message oriented: fewer operations but longer messages Platform neutral

33 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 33 A Service Brokering System Architecture

34 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 34 The Grid A kind of middleware To enable sharing of computing resources (in particular data, CPU cycles) on a very large scale –Across different groups/organizations –Heterogeneous systems, languages, etc. Applications: the world-wide telescope, etc. Challenges: –Coordination of the use of the resources –Ensuring correct use of the resources

35 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 35 The Grid (cont.) Characteristics of applications: –immense and increasing amount of raw data –different locations/organizations Requirements: –Remote access –processing of raw data on location –Meta data and directory services

36 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 36 Source: G. Coulouris et al., Distributed Systems: Concepts and Design, Fourth Edition. Open Grid Services Architecture (OGSA) Application specific grid services web services application specific OGSI services: naming, service data (metadata) OGSA services: directory, management, security service creation and deletion, fault model, service groups GridService e.g. interfaces e.g. astronomy, biomedical informatics, high-energy physics Factory grid service interfaces standard Note: OGSI is now replaced by WSRF and other Web Service standards.

37 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 37 The Globus Toolkit The Globus Project started in 1994 –Directory services, security, and resource management for scientific applications The first Globus Toolkit appeared in 1997 GT2 evolved into the Web services-based OGSA GT3 (2002) was based on OGSA Current version: GT4 –Monitoring and discovering: publishing, locating, and subscribing to information –security and file management Open source, governed by the Globus Alliance

38 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 38 Features of the Globus Toolkit The service container deals with dispatching, dynamic creation and management of service instances, access to service state, security functions, etc. Security service: based mostly on standards Directory/index service Management –monitoring and activating/deactivating service instances Reliable file transfer service

39 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 39 Standards Relevant to GT4 Standard Mechanisms Used: –SSL/TLS v1 (from OpenSSL) (IETF) –LDAP v3 (from OpenLDAP) (IETF) –X.509 Proxy Certificates (IETF) –SOAP (W3C) –HTTP (W3C) –GridFTP v1.0 (GGF) –OGSI v1.0 (GGF), now replaced by WSRF (GGF, OASIS) Reference Implementations Included: –WSRF (GGF, OASIS), DAI (GGF), WS-Agreement, WSDL 2.0 (W3C), WSDM, SAML (OASIS), and XACML (OASIS)

40 IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 40 Source: www.globus.org GT4


Download ppt "IM NTU Distributed Information Systems 2006 Web Services [2006/11/13] -- 1 Web Services Yih-Kuen Tsay Dept. of Information Management National Taiwan University."

Similar presentations


Ads by Google