SOAP. SOAP: Envelope



Ähnliche Dokumente
WSDL. Web Services Description Language. André Vorbach. André Vorbach

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Workflow, Business Process Management, 4.Teil

Verteilte Systeme: Übung 4

Wiederholung: Beginn

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Implementierung von Web Services: Teil I: Einleitung / SOAP

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

XML-RPC, SOAP und Web Services. Jörn Clausen

Übersicht. Angewandte Informatik 2 - Tutorium 6. Teile einer WSDL-Datei. Was ist WSDL. Besprechung: Übungsblatt 5

VVA Webservice Online Lieferbarkeits-Abfrage

E-Services mit der Web-Service-Architektur

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2)

Web-Sevices : WSDL Entwicklung von Web-Anwendungen

3-schichtige Informationssystem-Architektur

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako

XML Schema vs. Relax NG

Thema: Web Services. Was ist ein Web Service?

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Java und XML 2. Java und XML

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

MSXFORUM - Exchange Server 2003 > Konfiguration Sender ID (Absendererkennu...

Themen. Web Service - Clients. Kommunikation zw. Web Services

Anleitung zur Webservice Entwicklung unter Eclipse

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java

Auszug aus JAX-WS Folien

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

Zustandsgebundene Webservices

WebService in Java SE und EE

FAQ IMAP (Internet Message Access Protocol)

SOAP, WSDL, UDDI. Martin Grimmer. Proseminar: Die Zukunft der Softwareentwicklung: Komponentensysteme/Web Services Vortrag 1 am

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices

Grundlagen der Web-Entwicklung INF3172

SDK zur CRM-Word-Schnittstelle

Ein Hinweis vorab: Mailkonfiguration am Beispiel von Thunderbird

WSDL Web-basierte Anwendungen WSDL WSDL. Eine Vertiefungsveranstaltung mit Schwerpunkt auf XML-Technologien. Web Services Description Language

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Schritt 1: Auswahl Schritt 3 Extras > Konten Schritt 2: Konto erstellen Konto hinzufügen klicken

Einrichtung eines -konto mit Thunderbird

Inhalt Einführung Was ist SAML Wozu braucht man SAML Wo wird SAML verwendet kleine Demo SAML. Security Assertion Markup Language.

Lokale Installation von DotNetNuke 4 ohne IIS

Enterprise Application Integration Erfahrungen aus der Praxis

Web Services. Standards und Realisierung in Java

FL1 Hosting Technische Informationen

Java Web Services Metadata JSR-181

Online-Dateienablage und Datenaustauschdienst Box.net Stand: September 2011

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

Anwenderleitfaden Citrix. Stand Februar 2008

Algorithmische Kryptographie

POIS-Praktikum Prozessimplementierung, RosettaNet PIPs 3A

SUCHMASCHINENOPTIMIERUNG FÜR DEN INTERNETAUFTRITT

Microsoft.NET und SunONE

SIMP 1.01 Protokollspezifikation (Mindestanforderung)

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Man liest sich: POP3/IMAP

Schritt 1. Anmelden. Klicken Sie auf die Schaltfläche Anmelden

Algorithmen und Datenstrukturen

Installation SQL- Server 2012 Single Node

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Bedienungsanleitung für den SecureCourier

Flash, Network und Facebook. Steven Mohr

Erstellen einer in OWA (Outlook Web App)

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

Dieses HowTo darf nicht vervielfältigt oder veröffentlich werden ohne Einverständnis des Erstellers. Alle Angaben ohne Gewähr.

12. Kieler OpenSource und Linux Tage. Wie funktioniert eigentlich Mail? , Frank Agerholm, Linux User Group Flensburg e.v.

ÖSTERREICH RECHNET MIT UNS. Standard e-rechnungs-webservice (SERWS) - Status DI Philip Helger, BRZ

... MathML XHTML RDF

Übungen zu Softwaretechnik

Benutzerhandbuch für die Verwendung des viavac HL7 Forcast Webservices (VAC-CDSS)

Anleitung OpenCms 8 Webformular Auswertung

Anlegen einer neuen Newsmeldung

Architektur von SOAP basierten Web Services

MSXFORUM - Exchange Server 2003 > Exchange 2003 Filter

FAQ s für die Exchange Migration

Mobile und Verteilte Datenbanken

5. Übung zur Vorlesung Service-orientierte Architekturen

Web Interface für Anwender

BFV Widget Kurzdokumentation

Web Services. Eine kleine Einführung. Werner Gaulke

Digitale Leseexemplare

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Webservices Ein Vortrag von:

Kapitel 5 Web-Services

Installation der SAS Foundation Software auf Windows

Teilnahme am Apple ios Developer Program

Windows 8 Lizenzierung in Szenarien

Outlook Vorlagen/Templates

Kurzanleitung SEPPmail

Internet Explorer Version 6

Transkript:

SOAP Simple Object Access Protocol XML-basierter Nachrichtenaustauschmechanismus Projektbeginn 1998 (Microsoft). Heute: SOAP V1.2 W3C Recommendation http://www.w3.org/2002/ws/ Spezifikation umfasst: SOAP envelope Struktur eine SOAP Nachricht SOAP encoding Serialisierungsregeln für strukturierte Datentypen SOAP binding Framework Bindung an ein bestimmtes Transportprotokoll SOAP RPC Realisierung von RPC mittels SOAP Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-21 SOAP: Envelope <xs:element name="envelope" type="tns:envelope" /> <xs:complextype name="envelope" > <xs:sequence> <xs:element ref="tns:header" minoccurs="0" /> <xs:element ref="tns:body" minoccurs="1" /> </xs:sequence> <xs:anyattribute /> </xs:complextype> Header Blöcke optional Body Block zwingend Namensraum: http://www.w3.org/2003/05/soap-envelope. Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-22

SOAP: Verarbeitungsmodell SOAP Knoten sind für die Bearbeitungen der Nachrichten zuständig. SOAP Interaktion kann mehr als zwei Knoten betreffen. Initial SOAP sender (Client), SOAP intermediary, Ultimate SOAP receiver (Web Service) Jeder Knoten verarbeitet die Header Blöcke die seiner Rolle entsprechen und reicht die Nachricht weiter (role, mustunderstand, relay). Empfängerknoten bearbeitet Body und unadressierte Header Blöcke Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-23 SOAP: Header Headerblöcke enthalten Daten für die Bearbeitung auf SOAP Knoten. Header spezifizieren durch role-attribut, wer diesen verarbeiten soll. Reservierte Rollen: http://www.w3.org/2003/05/soap-envelope/role/none http://www.w3.org/2003/05/soap-envelope/role/next http://www.w3.org/2003/05/soapenvelope/role/ultimatereceiver http://www.w3.org/tr/soap12-part1/#tabpredefroles Das mustunderstand Attribut legt fest ob der SOAP Knoten die Nachricht verstehen können muss. Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-24

SOAP: Body Body enthält Anwendungsdaten: Bsp. GoogleSearch <SOAP-ENV:Body> <ns1:dogooglesearch xmlns:ns1="urn:googlesearch" SOAP-ENV:encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/"> <key xsi:type="xsd:string">00000000000000000000000000000000</key> <q xsi:type="xsd:string">shrdlu winograd maclisp teletype</q> <start xsi:type="xsd:int">0</start> <maxresults xsi:type="xsd:int">10</maxresults> <filter xsi:type="xsd:boolean">true</filter> <restrict xsi:type="xsd:string"></restrict> <safesearch xsi:type="xsd:boolean">false</safesearch> <lr xsi:type="xsd:string"></lr> <ie xsi:type="xsd:string">latin1</ie> <oe xsi:type="xsd:string">latin1</oe> </ns1:dogooglesearch> </SOAP-ENV:Body> Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-25 SOAP: Fehlerbehandlung <xs:element name="fault" type="tns:fault" /> <xs:complextype name="fault" final="extension"> <xs:annotation> <xs:documentation>fault reporting structure </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="code" type="tns:faultcode" /> <xs:element name="reason" type="tns:faultreason" /> <xs:element name="node" type="xs:anyuri" minoccurs="0" /> <xs:element name="role" type="xs:anyuri" minoccurs="0" /> <xs:element name="detail" type="tns:detail" minoccurs="0" /> </xs:sequence> Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-26

SOAP Protokollbindung Umsetzung der SOAP Konzepte auf darunterliegendes Transportprotokoll Identifikation des Nachrichtenempfängers wird dem Transportprotokoll überlassen. SOAP HTTP SOAP over Email (SMTP) Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-27 SOAP: RPC RPC Daten werden im SOAP Body übertragen Struktur entspricht den unter SOAP encoding vorgestellten Konzepten Voraussetzungen für RPC: URI des Empfängerknotens Funktions/Methoden Name Funktions/Methoden Signatur Funktionsparameter Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-28

SOAP: RPC Beispiel <env:envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"> <env:body > <tmp:temp.gettemp_request> xmlns:tmp="http://www.temp.ch/2005/temp" > <tmp:plz>4056</tmp:plz> </tmp:temp.gettemp_request> </env:body></env:envelope> <env:envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"> <env:body > <tmp:temp.gettemp_response> xmlns:tmp="http://www.temp.ch/2005/temp" > <tmp:datumzeit>14.06.2005 14.15</tmp:datumZeit> <tmp:tempcelsius>19.5</tmp:tempcelsius> </tmp:temp.gettemp_response> </env:body> </env:envelope> Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-29 WSDL WSDL = Web Services Description Language XML-basiert Was? Um welchen Webservice handelt es sich, welche Funktionen werrdne erbracht: interface, porttype WIE? Wie erfolgt der Zugriff auf den Service: binding WO? Welcher URL kann eine Funktion aufrufen: service Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-30

WSDL: Dokumentaufbau <definition> <types> <message> <porttype> <binding> <port> <service> Logisches Wurzelelement, in welchem die verschiedenen Namespaces als Attribute definiert werden Datentypdefinitionen Abstrakte Definition der Nutzdatenpakete, die übertragen werden. Eine Nachricht (Message) entspricht auf dieser Ebene noch nicht einer Methode oder Funktion, wie man vielleicht meinen könnte. Fasst eine Menge von Operationen zusammen Erst hier werden konkrete Protokolle (SOAP, http-get, etc.) und Datenformate für Operationen und Nachrichten definiert. Spezifikation einer Adresse für eine Bindung Aggregation von zusammengehörigen Ports Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-31 WSDL: Typen Die Standardtypen aus XML-Schema sind vorgegeben Eigene Typen können in diesem Types-Abschnitt analog zu XML-Schema und SOAP definiert werden. PositionsInfo_Request Temperatur_Response plz datumzeit tempcelsius Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-32

WSDL: Typen - Beispiel <wsdl:types> <xsd:schema targetnamespace= http://beispiel.com xmlns:xsd= http://www.w3.org/2000/10/xmlschema > <xsd:element name= PositionsInfo_Request > <xsd:complextype> <xsd:sequence> <xsd:element name= plz type= string /> </xsd:sequence> </xsd:complextype> </xsd:element> <xsd:element name= Temperatur_Response > <xsd:complextype> <xsd:sequence> <xsd:element name= datumzeit type= datetime /> <xsd:element name= tempcelsius type= /> </xsd:sequence> </xsd:complextype> </xsd:element> </wsdl:types> Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-33 UDDI White Pages Yellow Pages Green Pages Namensregister Anbieter- Auflistung Kontaktinformationen (Telefon, Email,...) Branchenverzeichnis Suche nach Kategorie (Verkäufer,Dienstart,... ) Technische Details zu den Web Service www.uddi.org 7 Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-34

UDDI UBR = UDDI Business Registry Die UBR ist eine logisch zentralisiertes, physisch aber verteiltes Service mit mehreren Wurzelknoten, die regelmäßig untereinander Daten austauschen Es genügt, wenn ein Service an einer beliebigen Instanz registriert wird, da diese die Registrierung nach oben hin weiterreicht. DNS-ähnlicher Aufbau der Informationsstruktur Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-35 AXIS http://ws.apache.org/axis/index.html AXIS ist eine SOAP engine. Läuft als Servlet z.b. unter TOMCAT. Kann Java Klassen aus WSDL generieren. Einfache Webservices können direkt erzeugt werden (.jws). Komplexere mittels Web Service Deployment Descriptor (WSDD). Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-36

Google Web Service Develop Your Own Applications Using Google: http://www.google.com/apis/ 1.Download Developer s Kit 2.Create a Google Account 3.Write Program Using License key Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-37 Google Beispiel String clientkey = args[0]; String directive = args[1]; String directivearg = args[2]; GoogleSearch s = new GoogleSearch(); s.setkey(clientkey); try { if (directive.equalsignorecase("search")) { s.setquerystring(directivearg); GoogleSearchResult r = s.dosearch(); System.out.println("Google Search Results:"); System.out.println("======================"); System.out.println(r.toString()); } else Helmar Burkhart Webtechnologies (CS211) Lektion 11: Webservices 11-38