Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Web Services (Axis) ETIS SS05. ETIS SS05 Nadine FröhlichWeb Services (Axis) 2 Gliederung Motivation Ablauf der Kommunikation Bestandteile –SOAP –WSDL.

Ähnliche Präsentationen


Präsentation zum Thema: "Web Services (Axis) ETIS SS05. ETIS SS05 Nadine FröhlichWeb Services (Axis) 2 Gliederung Motivation Ablauf der Kommunikation Bestandteile –SOAP –WSDL."—  Präsentation transkript:

1 Web Services (Axis) ETIS SS05

2 ETIS SS05 Nadine FröhlichWeb Services (Axis) 2 Gliederung Motivation Ablauf der Kommunikation Bestandteile –SOAP –WSDL –UDDI AXIS –Web Services erstellen –Web Services nutzen Zusammenfassung

3 ETIS SS05 Nadine FröhlichWeb Services (Axis) 3 Motivation - Web Service (WS) Software-Anwendung im Internet, die durch standardbasierte Protokolle wie HTTP nutzbar ist durch Uniform Resource Identifier (URI) eindeutig identifizierbar Beschreibung, Verzeichnisdienste und Nachrichtenaustausch XML-basiert als Middleware im Bereich E-Business von zunehmender Bedeutung bekannte Beispiele: Web Services von google, amazon, ebay

4 ETIS SS05 Nadine FröhlichWeb Services (Axis) 4 Ablauf der Kommunikation WSDL SOAP veröffentlichen finden zusammenarbeiten Provider (Service) Requester (Client) Service Registry UDDI

5 ETIS SS05 Nadine FröhlichWeb Services (Axis) 5 Wichtige Bestandteile SOAP –Simple Object Access Protocol (bis SOAP1.2) –Protokollstandard des W3C zur Kommunikation WSDL –Web Service Description Language –Sprache zur Beschreibung der unterstützten Methoden und Parameter UDDI –Universal Description, Discovery, and Integration –Verzeichnisdienst zur Registrierung von Web Services –ermöglicht dynamisches Finden von Web Service

6 ETIS SS05 Nadine FröhlichWeb Services (Axis) 6 SOAP Protokoll zum Datenaustausch in dezentralisierter, verteilter Umgebungen –Basiert auf XML Datenrepräsentation und Internet-Protokollen zur Nachrichten-Übertragung (gängig: SOAP über HTTP + TCP) –Standardisiert, plattform-, programmiersprachenunabhängig, robust, skalierbar –durch XML: etwas Overhead und geringere Performance Struktur: –Envelope: oberstes Element, umschließt gesamte Nachricht –Header (optional): Metainformationen der Nachricht (Routing, Verschlüsselung, Zugehörigkeit zu einer Transaktion) –Body: Nutzdaten, die vom Empfänger interpretiert werden –Evtl. Anhänge - abhängig von Transportprotokoll an Nachricht gehängt

7 ETIS SS05 Nadine FröhlichWeb Services (Axis) 7 SOAP xyz IBM 65.42

8 ETIS SS05 Nadine FröhlichWeb Services (Axis) 8 WSDL plattform-, programmiersprachen-, protokollunabhängiger XML- Standard zur WS-Beschreibung (für Nachrichtenaustausch) Inhalt: funktionelle Angaben zum Interface, Zugangsprotokoll, Deployment-Details, Zugriffsinformationen Hauptelemente: –types: Definition der Datentypen zum message-Austausch –messages: Abstrakte Definitionen übertragener Daten –portType: Menge von abstrakten Arbeitsschritten –binding: Bestimmt konkretes Protokoll + Datenformat für Arbeitsschritte und Mitteilungen –ports: Spezifizieren Adresse für binding (i.d.R. URI) –services: Zusammenfassung verwandter Ports mit WSDL auf Server verfügbare Funktionen bestimmenbar

9 ETIS SS05 Nadine FröhlichWeb Services (Axis) 9 UDDI Verzeichnisdienst - zentrale Rolle für dynamische WS –Services beschreiben (mittels WSDL), finden und integrieren –plattformunabhängig, Kommunikation über SOAP Drei Arten der Informationen über WS: –White Pages - eine Art Telefonbuch Namensregister der Anbieter + Detailangaben und Kontaktinformationen –Yellow Pages - Branchenverzeichnis Suche gemäß Taxonomie (Ort, Dienstart,...), verweist auf White Pages –Green Pages Informationen über Geschäftsmodell und Geschäftsprozesse des Unternehmens, technische Details zu angebotenen WS

10 ETIS SS05 Nadine FröhlichWeb Services (Axis) 10 AXIS Open source Implementierung von SOAP –Von Apache Software Foundation –Basiert auf SAX Anwendung, u.a. –Implementierung + Bereitstellung von Web-Services –Entwicklung von Clients Unterstützte Standards –SOAP –WSDL –JAX-RPC-Spezifikation (Simple API for XML-based RPC) –SAAJ (SOAP with Attachments for Java)

11 ETIS SS05 Nadine FröhlichWeb Services (Axis) 11 AXIS - Eigene Web Services erstellen I JWS-Dateien –Als WS zu veröffentlichende Java-Klasse Endung.jws geben –.jws in Wurzelverzeichnis von axis kopieren –Bei erstem Aufruf über URL automatisches Kompilieren + Ausführen –begrenzt Konfigurationsmöglichkeiten, Packagenutzung… AdminClient + Web Service Deployment Descriptor (WSDD) –.class-Datei zu veröffentlichenden WS in axis\WEB-INF\classes kopieren –Mit WSDD (XML-basierte Konfigurationsdatei) Beschreibung Deployment-Vorgang + Verhalten von Axis bei Ausführung des WS

12 ETIS SS05 Nadine FröhlichWeb Services (Axis) 12 AXIS - Eigene Web Services erstellen II WSDD-Datei wird Admin-Client zugeführt und damit wird Web Service in Laufzeitumgebung eingebracht Bsp.-WSDD-Datei:

13 ETIS SS05 Nadine FröhlichWeb Services (Axis) 13 AXIS - Web Services nutzen I Über URL-Eingabe im Browser Client schreiben –Instanzierung der Klassen Service und Call, um damit: Metadaten zum Aufruf des Service zu speichern und Methoden bereitzustellen, mit denen sich der Service aufrufen lässt –URL (Endpoint) des Services angeben –Aufzurufende Methode angeben –Aufruf des Web-Service mit Methode invoke

14 ETIS SS05 Nadine FröhlichWeb Services (Axis) 14 AXIS - Web Services nutzen II try { String endpoint = "http://localhost:8080/axis/services/echo"; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new java.net.URL(endpoint) ); call.setOperationName(new QName("echoString")); String ret = (String) call.invoke( new Object[] { "Peter" } ); System.out.println("Hello " + ret); } catch (Exception e) { System.err.println(e.toString()); }

15 ETIS SS05 Nadine FröhlichWeb Services (Axis) 15 Zusammenfassung Vorteile –Kostenvorteile, da basierend auf offenen Standards (Lizenzkosten) und allgegenwärtigen internetbasierten Technologien –HTTP-Protokoll zur Datenübertragung: selten Probleme mit Firewalls (Gegensatz: CORBA, RMI) –nicht an HTTP gebunden (SMTP, FTP möglich) –offene und flexible Architektur, unabhängig von Plattformen, Programmiersprachen und Protokollen Nachteile –Sicherheitsaspekte - wichtige Web Services verschlüsseln! –Geringere Performance: XML, Parsen und Dateigröße –relativ viel Know How erforderlich

16 ETIS SS05 Nadine FröhlichWeb Services (Axis) 16 JAX-RPC Quelle: JAX, Java APIs for XML Kick Start

17 ETIS SS05 Nadine FröhlichWeb Services (Axis) 17 Literatur Wikipedia –http://de.wikipedia.org/wiki/SOAP –http://de.wikipedia.org/wiki/Web_Service magdeburg.de/~schmiete/lehre/vorlesung/ss_05_md.html T. Bayer, T. Frotscher, M. Teufel, D. Wang, Die Achse des Guten, Javamagazin 07/04. A. Chowdhury, P. Choudhary, JAX, Java APIs for XML Kick Start, Sams,


Herunterladen ppt "Web Services (Axis) ETIS SS05. ETIS SS05 Nadine FröhlichWeb Services (Axis) 2 Gliederung Motivation Ablauf der Kommunikation Bestandteile –SOAP –WSDL."

Ähnliche Präsentationen


Google-Anzeigen