Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Web Services (Axis) ETIS SS05.

Ähnliche Präsentationen


Präsentation zum Thema: "Web Services (Axis) ETIS SS05."—  Präsentation transkript:

1 Web Services (Axis) ETIS SS05

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

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 Web Services (Axis) ETIS SS05 Nadine Fröhlich

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

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 Web Services (Axis) ETIS SS05 Nadine Fröhlich

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 Web Services (Axis) ETIS SS05 Nadine Fröhlich

7 SOAP <?xml version="1.0" encoding=“utf-8“?>
<soap:Envelope xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope“> <soap:Header> <Digest>xyz</Digest> </soap:Header> <soap:Body> <StockReport> <Symbol>IBM</Symbol> <Prise>65.42</Prise> </StockReport> </soap:Body> </soap:Envelope> Web Services (Axis) ETIS SS05 Nadine Fröhlich

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 Web Services (Axis) ETIS SS05 Nadine Fröhlich

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 Web Services (Axis) ETIS SS05 Nadine Fröhlich

10 AXIS Open source Implementierung von SOAP Anwendung, u.a.
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) Web Services (Axis) ETIS SS05 Nadine Fröhlich

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 Web Services (Axis) ETIS SS05 Nadine Fröhlich

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: <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="MyService" provider="java:RPC"> <parameter name="className" value="bsp.MyService"/> <parameter name="allowedMethods" value="*"/> </service> </deployment> Web Services (Axis) ETIS SS05 Nadine Fröhlich

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 Web Services (Axis) ETIS SS05 Nadine Fröhlich

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()); } Web Services (Axis) ETIS SS05 Nadine Fröhlich

15 Zusammenfassung Vorteile Nachteile
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 Web Services (Axis) ETIS SS05 Nadine Fröhlich

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

17 Literatur Wikipedia 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, Web Services (Axis) ETIS SS05 Nadine Fröhlich


Herunterladen ppt "Web Services (Axis) ETIS SS05."

Ähnliche Präsentationen


Google-Anzeigen