Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Carsten Stubbe Geändert vor über 11 Jahren
1
1 Michael Klein kleinm@ipd.uni-karlsruhe.de http://www.michaelklein.net/nki Verlesung Informationssysteme: Neuere Konzepte Web Services
2
2 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 2 Übungsblätter Zunächst: Besprechung der 3 Übungsblätter
3
3 Michael Klein kleinm@ipd.uni-karlsruhe.de http://www.michaelklein.net/nki Verlesung Informationssysteme: Neuere Konzepte Web Services (Folien teilweise auf englisch)
4
4 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 4 Szenario (1) Telefon- anschluss? Telefongesellschaft Auftrag
5
5 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 5 Szenario (2) Telefongesellschaft Auftrag Reservierung der Nummer Eintrag Telefonbuch Einkauf EndgeräteVersand Endgeräte Eintrag? Einzug Anschlussgebühren Anschluss verfügbar? ja nein ja ok Entschuldigungs- schreiben Prob Geschäftsprozess
6
6 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 6 Dienstorientierte Architektur Geschäftsprozess Funktionalität A Dienst- geber 1 Funktionalität A Dienst- geber 2 Funktionalität A Dienst- geber 3 Funktionalität A Dienst- geber 5 Funktionalität B Nutzung von Funktionalität externer Entitäten über Dienste Funktionalität kann evtl. kostengünstig ausgelagert werden.
7
7 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 7 Service Oriented Computing Network not as collection of documents but as a collection of functionality Applications and business processes use functionality of other entities especially interesting: in mobile networks with limited capabilities in the internet: large companies, many services outsourcing Integration of distributed functionality across organizational and network boundaries
8
8 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 8 Characteristics of SOC Characteristics Functionality is hidden behind an interface Offered functionality is publicly described Service = public functionality that can be published, discovered, and executed across the network (client-server paradigm)
9
9 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 9 General Process: the Service Triangle Repository Requestor (Client) Provider (Server) 1. describe offer 2. publish 3. describe request 4. search For 5. match 6. select 7. configure 8. invoke 9. execute 10. transfer results
10
10 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 10 Service Description Language Service Requests Service Requests Service Provider Service Provider Service Provider Service Provider Service Provider Service Desc Service Desc Service Desc Service Desc Service Desc ? Which provider is appropriate? (matching) How to invoke it? (binding, configuration)
11
11 Web Services WSDL, SOAP, UDDI
12
12 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 12 What is a Web Service? Web Service Web Service = service that Accessible through the internet consumes and produces xml documents is uniquely identified by an uri Based on three main technologies WSDL: Web Service Description Language SOAP: Simple Object Access Protocoll UDDI: Universal Description, Discovery and Integration xml
13
13 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 13 Task of the Technologies Repository Requestor (Client) Provider (Server) 1. describe offer 2. publish 3. describe request 4. search For 5. match 6. select 7. configure 8. invoke 9. execute 10. transfer results WSDL UDDI SOAP automatic prematching based on categories manual matching and selecting static binding
14
14 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 14 WSDL, SOAP, and UDDI WSDL to describe the functionality of a service helps to find an appropriate service helps to invoke a found service correctly UDDI directory service is itself a service helps to get an overview of the services in the repository only helpful in case of very many services SOAP communication protocol between service requestor and provider helps to transfer simple (atomic) and complex (composite) data All based on XML
15
15 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 15 Web Service Stack CommunicationDescriptionDiscovery TCP/IP HTTP XML SOAP XML WSDL WSDL Extensions UDDI Semantics Task: provide a standard, flexible communications channel Task: provide a standard, flexible way to describe what and how a Web service does what it does. Task: provide a standard, flexible way to discover where a Web service is located. XML
16
16 WSDL Building Blocks
17
17 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 17 History of WSDL NASSL SDL/SCL … 2000: Microsoft, IBM and Ariba jointly issue WSDL 1.0 2001: A dozen companies submit WSDL 1.1 as W3C Note 2002: W3C publishes WSDL 1.2 as Working Draft 2003: WSDL is separated into three parts: core, messages, bindings 2004: WSDL 2.0 (mainly renamings)
18
18 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 18 WSDL 1.2 Components as UML Diagram service = publicly callable functionality operation = function that processes an input message and returns an output message message = collection of information that can be exchanged via network CONCRETE ABSTRACT
19
19 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 19 Types defines important datatypes primitive types from XML schema complex types buildable via -Tag <schema targetNamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/2000/10/XMLSchema">
20
20 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 20 Messages combines types to abstract messages smallest interchangeable units unidirectional built up from parts
21
21 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 21 Operation and PortType Operation is abstract functionality that receives an input messages processes it send set an output and fault messages PortType groups operations to interfaces
22
22 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 22 Operation Types One-way operations input only Request-Response input, then output (default) Solicit-Response output, then input Notification output only clientserver clientserver clientserver clientserver
23
23 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 23 Binding Connects abstract PortTypes with concrete Ports Defines concrete message syntax Defines concrete communication protocol details Most important protocol: SOAP Simpler protocols like HTTP GET/POST possible <soap:binding style= "document" transport= "http://schemas.xmlsoap.org/soap/http"/>
24
24 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 24 Port and Service Port specifies a concrete address of a binding Service is a collection of such ports
25
25 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 25 Components of WSDL 1.2 – Summary CONCRETE ABSTRACT
26
26 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 26 Renamings in WSDL 2.0 Port PortType Message Part WSDL 1.2 WSDL 2.0 Endpoint Interface no special tag. Directly defined by xs:element and xs:complexType no special tag. Directly defined by xs:sequence and xs:element
27
27 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 27 Example for Changes in WSDL 2.0 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema targetNamespace="http://…/schemas/resSvc.xsd> Message Part
28
28 WSDL Discovery
29
29 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 29 Matching Task: Given a service description for a requested service r and a service description of an offered service o. Question: Is o suitable to fulfill rs needs? To what degree? Idea: Matcher compares o and r and calculates matching value in [0,1] 0.0: o is not suitable at all 1.0: o is perfectly suitable intermediate values: o is suitable to the given degree
30
30 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 30 Matching WSDL Descriptions – Approaches (1) Keyword based Search Request r is set of keywords. Matching value is only a hint Manual postprocessing and selection necessary (2) Type based Matchers Check whether input message of request provides more information than input message of offer Check whether output message of request wants less information than output message of offer wants less each type in the request has to appear in the offer types of the offer have to be a subtype of the desired types in the request
31
31 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 31 Type based Matcher Service ir_1 … ir_n or_1 … or_m Service io_1 … io_k oo_1 … oo_l Request r Offer o For each or_i in r: Is there a oo_j in o with oo_j subtypeof or_i For each io_i in o: Is there a ir_j in r with ir_j subtypeof io_i
32
32 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 32 Problems with WSDL Matching Service incoming messages outgoing messages Message oriented service description Problems Not really new. Already in CORBA, DCOM, EJB, ebXML, … No advantage to pure interface description Semantics not clear Functionality has to be guessed from flow of information What does a service, that requests a String and outputs an Integer? automatic selection difficult Strict message compatibility If messages between provider and requestor do not match, the service cannot be used
33
33 WSDL Tools and Extensions
34
34 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 34 Tools for WSDL Integration in Programming Languages Microsoft.NET Sun: Java Web Service Development Pack XML Processing, SOAP Binding, XML Registry… Web Services Toolkit (WSTK) von IBM Plugins for Eclipse (WSDL Viewer, WSDL Validator, …) SOAP for Perl NuSOAP – SOAP Toolkit for PHP … Tools / Server Components for WSDL Axis (SOAP Server) IBMs Websphere Graphical WSDL editors like CapeClear WSDL generators (right-click on method) WSDL validators …
35
35 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 35 WSDL in Practice – Early Adopters amazon.com Amazon E-Commerce Service Everything but really buy: ItemLookup, ItemSearch, SimilarityLookup CartAdd, CartClear, CartCreate, CartGet, CartModify Service requestors need to registers first Intended usage: including Amazon in own web sites ebay.com eBay SOAP API Offer Items, Place Bids, Search for articles… google.com
36
36 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 36 WS-*: Language Extension for WSDL WS-Policy For including non-functional requirements/assertions in WSDL descriptions WS-Resource Framework (WSRF) For describing resources and states on the service provider. WS-Security (WSS) For securing the usage of web services WS-Coordination For enhancing WSDL descriptions by protocols to coordinate the actions of several participants. Example: WS- AtomicTransaction
37
37 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 37 Web Service Composition – BPEL4WS service requestor service provider subprovider 1 subprovider 2 subprovider 3 WSDL BPEL4WS BPEL4WS = Business Process Execution Language for Web Services Specification of the Orchestration, i.e. the coordination between main service and its subservice providers. Developed by Microsoft (XLANG) and IBM (WSFL)
38
38 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 38 Evaluation of WSDL Advantages Easy to understand Widely accepted Rich tool support good integration in programming languages many extensions important early adopters upcoming standard for description Disadvantages Low semantics primitive matchers not usable for automatic service selection designed for static service binding
39
39 Ausblick: Semantic Web Services
40
40 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 40 Dienstorientierte Architektur Geschäftsprozess Funktionalität A Dienst- geber 1 Funktionalität A Dienst- geber 2 Funktionalität A Dienst- geber 3 Funktionalität A Dienst- geber 5 Funktionalität B Nutzung von Funktionalität externer Entitäten über Dienste Dynamische Dienstbindung
41
41 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 41 Dynamic Service Binding Advantages robust context-aware network independent Most important task: automation Complete process should be automatic Important: Semantic Service Description Language
42
42 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 42 Ansätze ALLGEMEIN: Von syntaktischer zu semantischer Dienstbeschreibung Einigung auf ein gemeinsames Vokabular Ontologie Nicht mehr Drucker/Printer/prt/lpt1, sondern PRINTER Zusätzlich Beschreibung der Zustandsänderung durch den Dienst Welcher Zustand muss vor Dienstausführung gelten? Welcher Zustand gilt nach erfolgreicher Dienstausführung? Getrennte Anfrage- und Angebotsbeschreibungen Anfrager kann Präferenzen in die Anfrage integrieren Was muss, was soll, was darf, was könnte etc.
43
43 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 43 Gemeinsames Vokabular Grundsätzlicher Ansatz: Rechnerverständlichkeit benötigt gemeinsames Vokabular Einsatz von Ontologien Location RoomBuilding within room2.14:Roomroom335:Roomgeb50.34:Building within Schema Instanzen
44
44 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 44 Typen von Dienstbeschreibungen Dienst eingehende Nachrichten abgehende Nachrichten 1. Rein nachrichtenbasierte Dienstbeschreibung (z.B. WSDL) Dienst Zustände vor Dienstausführung Zustände nach Dienstausführung 2. Getrennt Nachrichten-/ Zustandsbasierte Dienstbeschreibung (z.B. OWL-S) Dienst 3. Rein Zustandsorientierte Dienstbeschreibung (z.B. DSD) konfigurierbare Zustände vor Dienstausführung konfigurierbare Zustände nach Dienstausführung Zustand Information
45
45 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 45 Vorteile Vorteile eines gemeinsamen Vokabulars: Keine unterschiedliche Benennung des gleichen Sachverhalts Beschreibung ist eindeutig Computer kann Vergleich selbstständig durchführen Allerdings auch Einigungsaufwand Vorteile von rein zustandsorientierten Beschreibungen: Keine explizite Beschreibung von Nachrichten Einfluss der ausgetauschten Information auf Zustände klar definiert Dienst können passen, obwohl Informationsfluss unterschiedlich
46
46 ZUSAMMENFASSUNG
47
47 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 47 Zusammenfassung Dienstorientierte Architektur WSDL SOAP UDDI Semantische Dienstbeschreibung Dynamische Dienstbindung Dienstverzeichnis Web Service abstrakte vs. konkrete Dienstbeschreibung Vergleich von WSDL-Beschreibungen rein zustandsorientierte Dienstbeschreibung BPEL4WS message-operation-port-service
48
48 Vorlesung Informationssysteme: Neuere Konzepte, Teil I, Michael Klein 48 Thank you for your attention!
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.