Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar Praktische Informatik Web Services Norman Thomas 27. November 2003.

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Praktische Informatik Web Services Norman Thomas 27. November 2003."—  Präsentation transkript:

1 Seminar Praktische Informatik Web Services Norman Thomas 27. November 2003

2 Übersicht Einleitung Beispiel SOAP Struktur Datentypen WSDL Struktur UDDI Struktur Benutzung

3 Definition Web Services sind eine im Internet veröffentlichte Software, die ihren Dienst anbietet und über XML-basierte Standardschnittstellen angesprochen wird.

4 Übersichtsplan UDDI AnbieterBenutzer WSDL SOAP Benutzen des WS FindenEintragen

5 Anwendungsbeispiel Server Anbieter Kunde 1 OS: Windows Sprache: VB Kunde 3 OS: Linux Sprache: Python Kunde 4 OS: UNIX Sprache: C++ Kunde 2 OS: Mac OS Sprache: Java RMIDCOMCORBA CORBA-IDL

6 Lösungen (1) RMI Nur auf Java beschränkt Dafür sämtliche Java-fähige Plattformen DCOM Nur auf Windows beschränkt Dafür programmiersprachenunabhängig CORBA Viele Plattformen Viele Programmiersprachen ORBs sind jedoch nicht sehr einheitlich, deshalb werden nicht auf allen Plattformen alle Sprachen unterstützt

7 Lösungen (2) Eventuelle Lösung HTML parsen und Benutzer simulieren Scheint u.U. einfacher zu sein als es ist! Probleme: Parsen ist aufwändig Änderung des Layouts Parser anpassen Bei Änderungen ist der alte Parser auf keinen Fall weiter nutzbar Dienste werden erweitert Parser anpassen Verteilung des neuen Parsers an alle Kunden Man muss warten bis alle Kunden umgestellt haben

8 Lösungen (3) HTTP (HTML) und CORBA boten die besten Lösungen, wenn auch jedes für sich unvollkommen Kombination beider Techniken! HTTP als Transport-Protokoll CORBA-IDL ähnliches Verfahren zum Beschreiben der Fähigkeiten Ergebnis: Web Services

9 Übersichtsplan UDDI AnbieterBenutzer WSDL SOAP Benutzen des WS FindenEintragen

10 Client Server HTTP server Web Service SOAP server UDDI HTTP server SOAP server UDDI WebApp UDDI Business Logic UDDI DB

11 SOAP Basiert auf XML Aktuelle Version 1.2 seit Juni 2003 SOAP dient zum Nachrichtenaustausch Benötigt keine exotischen offenen Ports, da es auf Basis von HTTP, SMTP, etc. operieren kann

12 SOAP-Struktur

13 SOAP-Envelope Ist Umschlag einer SOAP-Nachricht Ist Root-Element der SOAP-Nachricht (des XML-Dokuments) In xmlns:SOAP wird die verwendete Version von SOAP angegeben (der Link aus dem Beispiel ist für SOAP 1.2)

14 SOAP-Header Ist optional Falls er angegeben wird muss er vor dem SOAP-Body stehen Im Header können Daten angegeben werden, die nicht zur eigentlichen Nachricht gehören (z.B. Authentisierungsdaten) Versteht der Empfänger den Header nicht, weiß also nicht die Daten auszuwerten, so wird der Header einfach verworfen

15 SOAP-Header (Code) norman webservices

16 SOAP-Body Hier steht die eigentliche Nachricht mit Methodenaufrufen Parameterübergaben Rückgabewerten (Antworten von Methoden) Fehlermeldungen

17 Java-Code public String sayHello( String name ) { return Hello + name; }

18 SOAP-Body (Code) Norman Methode Parametername Parameterwert

19 SOAP-Body (Code) Hello Norman Methode Parametername Parameterwert

20 SOAP-Fault Hierhin gehören Fehlermeldungen Fehlermeldungen werden charakterisiert durch: faultcode (VersionMismatch, MustUnderstand, Client, Server) faultstring faultfactor (Knoten, wo Fehler auftrat) details Befinden sich in der Umgebung innerhalb des SOAP-Bodys

21 SOAP & Datentypen SOAP verwendet Standard-XML-Typen Bei komplexen Typen wie Arrays oder Strukturen kann man eigene Typen definieren

22 Arrays Cambria Hts. Baldwin

23 Struktur Mozartstr Kassel

24 WSDL Web Service Description Language XML-basiert WSDL beschreibt Web Services Aus WSDL lassen sich Code-Gerüste generieren Aktuelle Version ist 1.1, jedoch sind 1.2 und 2.0 in Arbeit Noch kein offizieller W3C-Standard wie SOAP Alternativen: RDF, DAML

25 In werden mittels der -Unterelemente die Funktionen mit deren Attributen und Rückgabewerten aufgelistet, wobei das Attribut name hat, das den Namen der Funktion erhält und mit dem Attribut name den Namen des Parameters und mit type den Typen des Parameters festlegt. Gibt es mehrere Parameter dann muss man mehrere -Elemente verwenden und sind optional. In kann eine textuelle Beschreibung der WSDL und des Dienstes stehen. Mit kann man WSDL-Dokumente modular aufbauen und so WSDL-Teile importieren listet alle Operationen eines Web Services auf. Dazu dienen die -Elemente, die als Attribut name den Namen der Funktion haben. hat wiederum Unterelemente, und zwar, und. WSDL – Struktur ist ebenfalls optional. Werden jedoch eigens definierte Datentypen z.B. Strukturen verwendet, dann müssen sie hier definiert werden, damit sie in SOAP verwendet werden können.

26 WSDL-Operation

27 WSDL-binding & service legt fest über welche Transportwege die Kommunikation laufen kann (SOAP, HTTP GET/POST, MIME, …) type-Attribut verweise auf ein portType In werden -Elemente zusammengefasst Attribut binding verweist auf -Elemente Das Unterelement enthält wieder ein Unterelement bzw, das ein Attribut location mit der URL des Services besitzt.

28 UDDI Universal Description, Discovery Integration UDDI ist kein W3C-Standard Katalog bzw. Suchmaschine für Web Services Anbieter registriert seinen Web Service am UDDI Registry Anwender sucht im UDDI Registry nach Web Services Basiert ebenfalls au XML Alternative: WSIL

29 Übersichtsplan UDDI AnbieterBenutzer WSDL SOAP Benutzen des WS FindenEintragen

30

31 UDDI – Publisher & Requestor Publizieren Mit delete beginnende Befehle dienen dem Löschen Mit save beginnende Befehle dienen dem Speichern Abfragen Mit find beginnende Befehle suchen und browsen durch das Verzeichnis Mit get beginnende Befehle dienen dem Abrufen von Details

32 UDDI Publisher add_publisherAssertions, set_publisherAssertions, get_publisherAssertions, delete_publisherAssertions, get_assertionStatusReport save_business, delete_business save_service, delete_service save_tModel, delete_tModel get_registeredInfo Requestor find_business, get_businessDetail, get_businessDetailExt find_relatedBusiness find_service, get_serviceDetail find_tModel, get_tModel

33 Ausblick Nutzung von Web Services zur Integration von Google, Amazon, Babelfish, etc. in eigene Applicationen Nutzung von Web Services zum Grid Computing

34 Web Service Sicherheit SOAP XML HTTP, FTP, SMTP, … TCP/IP Transport Layer Application Layer SSL XML Signature XML Encryption WS-Security WS-Trust WS-Security Policy WS-Policy

35 Quellen (1) Perspectives on Web Services, Applying SOAP, WSDL and UDDI to Real-World Projects. Olaf Zimmermann, Mark Tomlinson, Stefan Peuser. Springer Verlag Web Services – kompakt. Michael Kuschke, Ludger Wölfel. Spektrum Verlag

36 Quellen (2) ibm.com/developerworks/webservices/ 106.ibm.com/developerworks/webservices/ ducation/ws-dewsdl/ws-dewsdl-a4.pdf ducation/ws-dewsdl/ws-dewsdl-a4.pdf /default.asp /default.asp

37 Quellen (3)


Herunterladen ppt "Seminar Praktische Informatik Web Services Norman Thomas 27. November 2003."

Ähnliche Präsentationen


Google-Anzeigen