Standards und Realisierung in Java http://werner.gaulke.net 4.6.2007
Idee Aufbau und Standards und Java Outline 1 Idee Idee hinter? 2 Aufbau und Standards Schichtenmodell WSDL Fazit WSDL SOAP Fazit SOAP 3 und Java JAX-WS Axis Web Tools Platform
Idee Aufbau und Standards und Java Outline 1 Idee Idee hinter? 2 Aufbau und Standards Schichtenmodell WSDL Fazit WSDL SOAP Fazit SOAP 3 und Java JAX-WS Axis Web Tools Platform
Idee Aufbau und Standards und Java Idee hinter? Idee / Merkmale: Daten auf entfernten Systemen nutzbar machen Funktionen auf entfernten Systemen nutzbar machen Freie Wahl der Programmiersprache Verwenden offener Standards Vergleich sind für den Computer das, was Internetseiten für Menschen sind.
Idee Aufbau und Standards und Java Idee hinter? Idee / Merkmale: Daten auf entfernten Systemen nutzbar machen Funktionen auf entfernten Systemen nutzbar machen Freie Wahl der Programmiersprache Verwenden offener Standards Vergleich sind für den Computer das, was Internetseiten für Menschen sind.
Idee Aufbau und Standards und Java Idee hinter? Idee / Merkmale: Daten auf entfernten Systemen nutzbar machen Funktionen auf entfernten Systemen nutzbar machen Freie Wahl der Programmiersprache Verwenden offener Standards Vergleich sind für den Computer das, was Internetseiten für Menschen sind.
Idee Aufbau und Standards und Java Idee hinter? Idee / Merkmale: Daten auf entfernten Systemen nutzbar machen Funktionen auf entfernten Systemen nutzbar machen Freie Wahl der Programmiersprache Verwenden offener Standards Vergleich sind für den Computer das, was Internetseiten für Menschen sind.
Idee Aufbau und Standards und Java Idee hinter? Idee / Merkmale: Daten auf entfernten Systemen nutzbar machen Funktionen auf entfernten Systemen nutzbar machen Freie Wahl der Programmiersprache Verwenden offener Standards Vergleich sind für den Computer das, was Internetseiten für Menschen sind.
Idee Aufbau und Standards und Java Idee hinter? Änderungen durch Änderungen durch Mit dem Einsatz von ändert sich die Gestaltung von Anwendungen: bisher: Anwendungen/Web Sites beziehen ihre Daten aus Dateien oder Datenbanken. Datenmanipulation und Berechnungen finden lokal statt. mit : Anwendungen können ihre Daten von beliebig vielen beziehen. Berechnungen und Datenmanipulation müssen nicht mehr lokal implementiert werden. Die können ausgetauscht werden.
Idee Aufbau und Standards und Java Idee hinter? Änderungen durch Änderungen durch Mit dem Einsatz von ändert sich die Gestaltung von Anwendungen: bisher: Anwendungen/Web Sites beziehen ihre Daten aus Dateien oder Datenbanken. Datenmanipulation und Berechnungen finden lokal statt. mit : Anwendungen können ihre Daten von beliebig vielen beziehen. Berechnungen und Datenmanipulation müssen nicht mehr lokal implementiert werden. Die können ausgetauscht werden.
Idee Aufbau und Standards und Java Idee hinter? Änderungen durch Anforderungen Damit in einem möglichst großen Spektrum eingesetzt werden können, besitzt die Implementierung viele Freiheiten: Verwendung jeder beliebigen Programmiersprache Verwendung jedes beliebigen Kommunikationsprotokolls keine Beschränkung der Einsatzgebiete Dabei sollen automatisiert von Applikationen verwendet werden können beliebig kombinier- und austauschbar sein
Idee Aufbau und Standards und Java Outline 1 Idee Idee hinter? 2 Aufbau und Standards Schichtenmodell WSDL Fazit WSDL SOAP Fazit SOAP 3 und Java JAX-WS Axis Web Tools Platform
Idee Aufbau und Standards und Java Schichtenmodell Aufbau eines Entdeckung Beschreibung Verpackung Transport Netzwerk Schichtenmodell unterteilen sich in 5 Schichten. Jede dieser Schichten verwendet eine eigene Technologie.
Idee Aufbau und Standards und Java Schichtenmodell Entdeckungsschicht Entdeckung Beschreibung Verpackung Transport Netzwerk Entdeckungsschicht Zugriffspunkte zu den Web Services sind nicht immer bekannt. Es muss Mechanismen geben, die und deren Zugriffspunkte aufspüren. Techniken: UDDI WS-Inspection
Idee Aufbau und Standards und Java Schichtenmodell Beschreibungsschicht Entdeckung Beschreibung Verpackung Transport Netzwerk Beschreibungsschicht Bereitstellung von Informationen über die Schnittstelle eines Web Services und verwendbare Protokolle. Hilft dem Service-Kosumenten, den Web Service zu kontaktieren und zu nutzen. WSDL
Idee Aufbau und Standards und Java Schichtenmodell Verpackungsschicht Entdeckung Beschreibung Verpackung Transport Netzwerk Verpackungsschicht Verpackt die Anwendungsdaten in XML, damit sie über die Transportschicht übertragen werden können. (Serialisierung) Techniken: SOAP XML-RPC
Idee Aufbau und Standards und Java Schichtenmodell Transportschicht Entdeckung Beschreibung Verpackung Transport Netzwerk Transportschicht Ermöglicht auf Basis der Netzwerkschicht die Kommunikation der Anwendung. können auf beliebige Transportprotokolle aufsetzen. Techniken z.b.: HTTP SMTP
Idee Aufbau und Standards und Java Schichtenmodell Netzwerkschicht Entdeckung Beschreibung Verpackung Transport Netzwerk Netzwerkschicht Physische Übertragungsebene. Siehe OSI/ISO Schichtenmodell. TCP/IP
Idee Aufbau und Standards und Java WSDL Description Language Was ist WSDL? Die Description Language WSDL wird vom World Wide Web Consortium (W3C) entwickelt. (Version 2.0 aktuell) WSDL beschreibt Austauschprotokolle, Funktionen, Daten und Datentypen eines. WSDL definiert Parameter und Rückgabewerte der von außen zugänglichen Operationen des. WSDL beschreibt Schnittstelle und Zugangsprotokoll die der Web Service verwendet. WSDL hält alles in einem maschinenlesbaren Format fest, was für die Verwendung von nötig ist.
Idee Aufbau und Standards und Java WSDL Description Language Was ist WSDL? Die Description Language WSDL wird vom World Wide Web Consortium (W3C) entwickelt. (Version 2.0 aktuell) WSDL beschreibt Austauschprotokolle, Funktionen, Daten und Datentypen eines. WSDL definiert Parameter und Rückgabewerte der von außen zugänglichen Operationen des. WSDL beschreibt Schnittstelle und Zugangsprotokoll die der Web Service verwendet. WSDL hält alles in einem maschinenlesbaren Format fest, was für die Verwendung von nötig ist.
Idee Aufbau und Standards und Java WSDL WSDL Aufbau types message porttype binding port service Bestandteile WSDL Dokumente bestehen aus: Definition Abstrakter Beschreibung Bindung an konkrete Formate
Idee Aufbau und Standards und Java WSDL WSDL Aufbau types message porttype binding port service types Mit dem types Element werden die auftretenden Datenformate definiert. Dabei wird eine allgemeingültige Form verwendet. XML Schema Beliebige Datentypen (auch nicht XML) möglich
Idee Aufbau und Standards und Java WSDL WSDL Aufbau types message porttype binding port service message Das message Element definiert die Gestalt der zu sendenden Nachrichten, ohne aber das Datenformat festzulegen. abstrakte Definition nachrichten bestehen aus mehreren Teilen (parts) werden später an konkretes Format gebunden
Idee Aufbau und Standards und Java WSDL WSDL Aufbau types message porttype binding port service porttype porttype Elemente definieren die Schnittstelle des Services nach außen. Es wird wieder allgemeingültig definiert. abstrakte Definition message Elemente mit Ein-Ausagabe Operation verwenden bilden der Interaktionsmuster
Idee Aufbau und Standards und Java WSDL WSDL Aufbau -Einschub Interaktionsmuster Interaktionsmuster In WSDL sind vier Interaktionsmuster definiert: in One-way: Der Client sendet eine Eingabenachricht an den Service in-out Request-response: Der Service bekommt eine Eingabenachricht und sendet eine Antwort an den Client out-in Solicit-response: Service sendet eine Nachricht an den Client, die dieser beantwortet out Notification: Der Service sendet eine Ausgabenachricht
Idee Aufbau und Standards und Java WSDL WSDL Aufbau types message porttype binding port service binding Mit dem binding Element werden die abstrakten Elemente an konkrete Protokolle und Formate gebunden. binden an konrete Formate message Elemente mit Ein-Ausagabe Operation verwenden beliebig viele bindings zu den porttypes möglich
Idee Aufbau und Standards und Java WSDL WSDL Aufbau types message porttype binding port service service & port Ein service wird aus mehreren port zusammengestellt. ports können nicht miteinander kommunizeren legt einen konkreten Endpunkt fest (URI)
Idee Aufbau und Standards und Java Fazit WSDL WSDL - Fazit Abstrakt zu konkret Man kann WSDL Dokumente in drei Elemente aufteilen: Einen Definitionsteil, in dem alle nötigen Typen eingeführt werden - type Element Einen abstrakten Teil, der Nachrichten und Operationen einführt ohne sich auf ein Format oder Protokoll festzulegen - message, porttype Element Einen konkreten Teil, der alle abstrakten Definitionen mit konkreten Formaten oder Protokollen verbindet und eine ansprechbare Adresse festlegt - binding, service und port Element
Idee Aufbau und Standards und Java Fazit WSDL WSDL - Fazit Abstrakt zu konkret Man kann WSDL Dokumente in drei Elemente aufteilen: Einen Definitionsteil, in dem alle nötigen Typen eingeführt werden - type Element Einen abstrakten Teil, der Nachrichten und Operationen einführt ohne sich auf ein Format oder Protokoll festzulegen - message, porttype Element Einen konkreten Teil, der alle abstrakten Definitionen mit konkreten Formaten oder Protokollen verbindet und eine ansprechbare Adresse festlegt - binding, service und port Element
Idee Aufbau und Standards und Java Fazit WSDL WSDL - Fazit Abstrakt zu konkret Man kann WSDL Dokumente in drei Elemente aufteilen: Einen Definitionsteil, in dem alle nötigen Typen eingeführt werden - type Element Einen abstrakten Teil, der Nachrichten und Operationen einführt ohne sich auf ein Format oder Protokoll festzulegen - message, porttype Element Einen konkreten Teil, der alle abstrakten Definitionen mit konkreten Formaten oder Protokollen verbindet und eine ansprechbare Adresse festlegt - binding, service und port Element
Idee Aufbau und Standards und Java Fazit WSDL WSDL - Fazit Vorteile einheitliche Beschreibungsform der WS Schnittstellen Grundlage für Entwicklung und den Einsatz Möglichkeit Services mit gleicher Beschreibung untereinander auszutauschen freie Wahl bei der Realisierung der abstrakten Schnittstellen (SOAP, HTTP, etc.) Nachteile verschiedene Protokollbindungen können unterschiedliche Semantik haben nur einfache Interakionsmuster keine Unterscheidung synchron oder asynchron
Idee Aufbau und Standards und Java Fazit WSDL WSDL - Fazit Vorteile einheitliche Beschreibungsform der WS Schnittstellen Grundlage für Entwicklung und den Einsatz Möglichkeit Services mit gleicher Beschreibung untereinander auszutauschen freie Wahl bei der Realisierung der abstrakten Schnittstellen (SOAP, HTTP, etc.) Nachteile verschiedene Protokollbindungen können unterschiedliche Semantik haben nur einfache Interakionsmuster keine Unterscheidung synchron oder asynchron
Idee Aufbau und Standards und Java SOAP SOAP Spezifikation SOAP - Nachrichten sind XML-Daten Stellt die Message-Spezifikation von dar. Standard umfasst drei Hauptpunkte Spezifikation des Aufbaus einer SOAP - Nachricht (SOAP Envelope) Serialisierungsregeln (SOAP Encoding Rules) Remote Procedure Call Mechanismus (SOAP RPC representation) Übertragung der SOAP Nachrichten kann über verschiedene Protokolle geschehen, meistens HTTP
Idee Aufbau und Standards und Java SOAP SOAP Spezifikation SOAP - Nachrichten sind XML-Daten Stellt die Message-Spezifikation von dar. Standard umfasst drei Hauptpunkte Spezifikation des Aufbaus einer SOAP - Nachricht (SOAP Envelope) Serialisierungsregeln (SOAP Encoding Rules) Remote Procedure Call Mechanismus (SOAP RPC representation) Übertragung der SOAP Nachrichten kann über verschiedene Protokolle geschehen, meistens HTTP
Idee Aufbau und Standards und Java SOAP SOAP Nachrichten bestehen im aus drei Elementen: Envelope Header Body SOAP macht intensiven Gebrauch von Namespaces und XML Schema
Idee Aufbau und Standards und Java SOAP SOAP Request 1 2 <SOAP ENV:Envelope xmlns:soap ENV= h t t p : / / schemas. xmlsoap. org / soap / envelope / 3 xmlns:xsi= h t t p : / /www.w3. org /2001/XMLSchema instance 4 xmlns:xsd= h t t p : / /www.w3. org /2001/XMLSchema > 5 6 <SOAP ENV:Body> 7 <ns1:babelfish xmlns:ns1= urn:xmethodsbabelfish 8 SOAP ENV:encodingStyle= h t t p : / / schemas. xmlsoap. org / soap / encoding / > 9 <translationmode x s i : t y p e = x s d : s t r i n g >de en</ translationmode> 10 <sourcedata x s i : t y p e = x s d : s t r i n g >Hallo Welt</ sourcedata> 11 </ ns1:babelfish> 12 </SOAP ENV:Body> 13 14 </SOAP ENV:Envelope>
Idee Aufbau und Standards und Java SOAP SOAP Response 1 <SOAP ENV:Envelope xmlns:soap ENC= h t t p : / / schemas. xmlsoap. org / soap / encoding / 2 SOAP ENV:encodingStyle= h t t p : / / schemas. xmlsoap. org / soap / encoding / 3 xmlns:xsi= h t t p : / /www.w3. org /2001/XMLSchema instance 4 xmlns:soap ENV= h t t p : / / schemas. xmlsoap. org / soap / envelope / 5 xmlns:xsd= h t t p : / /www.w3. org /2001/XMLSchema > 6 7 <SOAP ENV:Body> 8 <namesp1:babelfishresponse xmlns:namesp1= urn:xmethodsbabelfish > 9 <return x s i : t y p e = x s d : s t r i n g >h e l l o world</ return> 10 </ namesp1:babelfishresponse> 11 </SOAP ENV:Body> 12 13 </SOAP ENV:Envelope>
Idee Aufbau und Standards und Java Fazit SOAP Vorteile offener Standard für die Datenübertragung einfache Erweiterung allgemein akzeptierte Standardisierung Plattformunabhängig bei Nutzung von HTTP, keine Probleme mit Firewalls Nachteile mehr Overhead etwas geringere Performance wegen des verwendeten Darstellungsprotokolls in XML
Idee Aufbau und Standards und Java Fazit SOAP Vorteile offener Standard für die Datenübertragung einfache Erweiterung allgemein akzeptierte Standardisierung Plattformunabhängig bei Nutzung von HTTP, keine Probleme mit Firewalls Nachteile mehr Overhead etwas geringere Performance wegen des verwendeten Darstellungsprotokolls in XML
Idee Aufbau und Standards und Java Outline 1 Idee Idee hinter? 2 Aufbau und Standards Schichtenmodell WSDL Fazit WSDL SOAP Fazit SOAP 3 und Java JAX-WS Axis Web Tools Platform
Idee Aufbau und Standards und Java JAX-WS Webservice mit JAX-WS? Benötigt: JAX-WS 2.0 (in Java 6 enthalten) JAX-WS 2.1.1 aktuelle Version
Idee Aufbau und Standards und Java Axis Webservices mit Axis Benötigt: Apache Axis 1.4 oder Axis 2 Apache Tomcat 5.5 oder 6
Idee Aufbau und Standards und Java Web Tools Platform Webservices mit Eclipse Benötigt: Eclipse Web Tools Platform http://www.eclipse.org/webtools/main.php WebTools 1.5.4 verwenden noch Axis 1.3 WebTools 2.0 setzen auf Axis 1.4 oder Axis 2
Idee Aufbau und Standards und Java Web Tools Platform Apache Axis Beispiel und einige SOAP/WS Folien von Sebastian Klenke JAX-WS Download um Java 5 nachzurüsten, https://jax-ws.dev.java.net/ JAX-WS Beispiel aus den Folien als Eclipse Projekt, http://werner.gaulke.net/arbeiten/jax-ws-example.zip Eclipse Web Tools Platform http://www.eclipse.org/webtools/main.html Unterstützung bei der Implementierung von Web Applikationen aller Art unter Eclipse W3C WSDL Spezifikation, http://www.w3.org/2002/ws/desc/ Tieferer Einblick in die XML Elemente Service-orientierte Architekturen mit 2005, Dostal, Jeckle, Melzer, Zengler
Idee Aufbau und Standards und Java Web Tools Platform Konzepte, Standards und Praxis für den Einsatz von Web Services im Überblick UDDI Browser http://www.soapclient.com/uddisearch.html
Idee Aufbau und Standards und Java Web Tools Platform Ende Vielen Dank für die Aufmerksamkeit!