XML-Webservices & SOAP



Ähnliche Dokumente
Workflow, Business Process Management, 4.Teil

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Implementierung von Web Services: Teil I: Einleitung / SOAP

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Wiederholung: Beginn

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

Verteilte Systeme: Übung 4

WSDL. Web Services Description Language. André Vorbach. André Vorbach

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

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

Zustandsgebundene Webservices

Anwendungsprotokolle: HTTP, POP, SMTP

XML und SOAP Einführung und Grundlagen

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Auszug aus JAX-WS Folien

Architektur von SOAP basierten Web Services

Man liest sich: POP3/IMAP

E-Services mit der Web-Service-Architektur

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

SIMP 1.01 Protokollspezifikation (Mindestanforderung)

VVA Webservice Online Lieferbarkeits-Abfrage

Web Services and Semantic Web - Introduction to Web Services. von Andreas Weiler

Containerformat Spezifikation

Web-Sevices : WSDL Entwicklung von Web-Anwendungen

XML-Namensräume. Marc Monecke

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

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

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

Containerformat Spezifikation

.NET-Networking 2 Windows Communication Foundation

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

Thema: Web Services. Was ist ein Web Service?

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

ACCOUNTINFO 1.01 VERWENDEN DER ACCOUNTINFO-SCHNITTSTELLE ABFARGE VON ACCOUNT-INFORMATIONEN IN ECHTZEIT 02. MÄRZ 2010

XMPP: Extensible Messaging and Presence Protocol

SAP NetWeaver Gateway. 2013

Java Web Services Metadata JSR-181

Programmers Manual Geodaten Ver. 2.0

Web Service Discovery mit dem Gnutella Peer-to-Peer Netzwerk

3 Konfiguration OfficeMaster 3.10 SNMP

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

Schneller, höher, weiter Die erweiterten Amt24-Schnittstellen. Klaus-Peter Geyer (T-Systems)

Web Services Die Definition von Web Services in der Theorie und FNT-Command als Web Service in der Praxis

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Clientkonfiguration für Hosted Exchange 2010

Norm 240 Versionierung

END USER GUIDE IBS TICKET SYSTEM HOW-TO. Dokumenten Kontrolle. Version 1.1. Datum IBS Ticket System End User How-To D.doc.

WebServices Zwischen Buzzword und Nutzen

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

XML-RPC & SOAP. Sven Heß & Fabio Caprera Systemprogrammierung SS 08

Web-Applications mit SOAP und RSS. Vortrag 8, Jonas Mitschang,

Mobile-Szenario in der Integrationskomponente einrichten

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

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

Service Discovery in Ad-hoc Netzen

WebService in Java SE und EE

Zur Definition von Web-Services

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

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

Kommunikations-Parameter

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

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Standards und Standardisierungsgremien

easylearn Webservice lsessionservice Interface für Single Sign On (SSO)

FileMaker Go 13 ohne Connects

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

Mobile und Verteilte Datenbanken

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

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Norm 225 Service Definition mit WSDL

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

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

Leistungsbeschreibung Click2SMS 1.0

Autorisierung von ArcGIS 10.3 for Server mit Internetverbindung

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

Digitale Lastenhefte - Austausch von Dokumenten

PCC Outlook Integration Installationsleitfaden

ITF2XML. Transferservice. Version 1.1. Tel.: 044 / Fax: 044 / CH-8005 Zürich

FIREPLACE EXPANDABLE BANNER v1.01

... MathML XHTML RDF

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling

IAWWeb PDFManager. - Kurzanleitung -

Lernprogramm "Veröffentlichen von WMS- Services"

Java und XML 2. Java und XML

5. Übung zur Vorlesung Service-orientierte Architekturen

Web Grundlagen zum Spidering

Semantic Web Services

Spezifikation DPD und primetime WebService Shopfinder Gültig für Paketversender in Österreich. Version 3.3.0

Vertiefte Grundlagen Graphentheorie

Ein neues Outlook Konto können Sie im Control Panel über den Eintrag Mail erstellen.

Definition Web Service

pr[sms] MMS-MM7/SOAP Schnittstelle Version: 1.1 Stand: Autor: Gollob Florian

Einbindung des Web Map Service für Gemeinden Anleitung

Web Sockets mit HTML5. Quelle:

Transkript:

Definition Motivation 12.07.2010

Definition Motivation Definition: A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards [http://www.w3.org/tr/ws-arch/]

Definition Motivation Beispiel-Szenario: Preisvergleich von Flugtickets.

Definition Motivation 1 Einführung Definition Motivation 2 Ablauf & Elemente UDDI & WSDL 3 Elemente Envelope, Header & Body Attribute Knoten & Fehler Erweiterbarkeit & Einbettung Message Exchange Patterns 4 Vor- und Nachteile

Ablauf & Elemente 1 Der Client muss vom Web Service erfahren 2 Die Parameter und der Aufruf der Methoden müssen bekannt sein. (Metadaten) 3 Menschliche Eingabe von Parametern und Semantiken 4 Datenaustausch

Ablauf & Elemente Ein besteht im aus 3 Einzelteilen aus der: UDDI (Universal Description Discovery and Integration) WSDL (Web Service Definition Langauge) (ehem.: Simply Object Access Protocol) 1 1 Quelle:http://upload.wikimedia.org/wikipedia/de/9/95/.png

Ablauf & Elemente UDDI: Universal Description Discovery and Integration dient der dynamischen suche nach s. WSDL: Web Service Definition Language ist eine Metasprache der technischen Beschreibung eines s. In WSDL werden alle notwendigen technischen Details beschrieben.

Elemente Attribute Knoten & Fehler Erweiterbarkeit & Einbettung Message Exchange Patterns Das Simply Object Accsess Protokoll () ist ein XML basiertes protokoll mit den Zielen: Einfachheit Erweiterbarkeit

Elemente Attribute Knoten & Fehler Erweiterbarkeit & Einbettung Message Exchange Patterns Eine Nachricht besteht aus 3 Elementen: Envelope Header Body

Elemente Attribute Knoten & Fehler Erweiterbarkeit & Einbettung Message Exchange Patterns Der -Envelope definiert das XML Dokument zur Nachricht. <? xml v e r s i o n= 1.0?> <s o a p : E n v e l o p e x m l n s : s o a p= h t t p : //www. w3. org /2001/12/ soap e n v e l o p e soap: encodingstyle= h t t p : //www. w3. org /2001/12/ soap encoding >... </ s o a p : E n v e l o p e>

Elemente Attribute Knoten & Fehler Erweiterbarkeit & Einbettung Message Exchange Patterns Im -Header werden Metainformationen der Nachricht untergebracht oder Informationen für Zwischenknoten bzw. Features. <s o a p : H e a d e r> <m:trans xmlns:m= h t t p : //www. BeispielXML. com/ Login / s o a p : m u s t U n d e r s t a n d= 1 > </ m:trans> </ s o a p :Header>

Elemente Attribute Knoten & Fehler Erweiterbarkeit & Einbettung Message Exchange Patterns Der -Body enthält die eigentliche Nachricht für den Service Anbieter: <soap:body> <m : G e t P r i c e xmlns:m= h t t p : //www. BeispielXML. com/ g e t P r i c e s > <m:item>a p p l e s</ m:item> </ m :GetPrice> </ soap:body>

Elemente Attribute Knoten & Fehler Erweiterbarkeit & Einbettung Message Exchange Patterns encodingstyle Attribute (Envelope) soap:encodingstyle: URI role Attribute (Header) soap:role: URI mustunderstand Attribute (Header) soap:mustunderstand= 0 oder 1 relay Attribute (Header) soap:realy= 0 oder 1

Elemente Attribute Knoten & Fehler Erweiterbarkeit & Einbettung Message Exchange Patterns Nachrichten müssen nicht immer direkt vom Service Konsumenten zum Service Anbieter geleitet werden. Es können auch zwischen Zwischenknoten traversiert werden. Diese Zwischenknoten müssen über eine URI eindeutig identifizierbar sein und werden über einen Header-Block angesprochen.

Elemente Attribute Knoten & Fehler Erweiterbarkeit & Einbettung Message Exchange Patterns Falls beim Senden der -Nachricht ein Fehler auftritt wird ein Fehler Code generiert und zum Sender der Nachricht geschickt. Obligatorische Inhalte: code: Spezifiziert Fehlerart reason: Beschreibung des Fehlers Optionale Inhalte: node: Welcher Knoten den Fehler verursachte role: Welche Rolle der Knoten hatte detail: Detail Informationen zum Fehler

Elemente Attribute Knoten & Fehler Erweiterbarkeit & Einbettung Message Exchange Patterns Einbettung: Nachrichten werden in oder auf einem weiteren Protokoll Transportiert wie z.b. HTTP. Es gibt 2 Arten von Erweiterungen: Einbettung Features

Elemente Attribute Knoten & Fehler Erweiterbarkeit & Einbettung Message Exchange Patterns Einbettung: Das Einbetten von in ein Protokoll erweitert es um die Funktionen die das Protokoll bereitstellt. Features: Features werden in einem Header-Block ber ein Modul eingebunden. Dieses Modul ist ein Zwischenknoten der das Feature zur Verfügung stellt.

Elemente Attribute Knoten & Fehler Erweiterbarkeit & Einbettung Message Exchange Patterns Konsument und Anbieter können auf mehreren Wegen miteinander kommunizieren z.b. one-way, peer-to-peer, request-response. Eine MEP muss 4 Eigenschaften erfüllen. Wird mit einer URI identifiziert Beschreibt den Lebenszyklus eines Nachrichtenaustauschs nach plan beschreibt wie Nachrichten untereinander stehen während Nachrichten ausgetauscht werden. beschreibt den normalen und die fehlerhafte Beendigung des Nachrichtenaustauschs.

Vor- und Nachteile Vorteile: Unabhängig von Rahmenbedingungen (Plattform etc.) einfach Erweiterbar Nachteile: Der Sicherheitsaspekt ist ein grosser Nachteil Eine Nachricht ist Resourcen intensiv. (Rechenzeit wie Bandbreite)

Vor- und Nachteile Vielen Dank für ihre Aufmerksamkeit! Fragen?

Vor- und Nachteile <env: Envelope xmlns:env= h t t p : //www. w3. org /2003/05/ soap envelope xmlns:m= h t t p : //www. example. org / t i m e o u t s x m l n s : x m l= h t t p : //www. w3. org /XML/1998/ namespace > <env:body> <e n v : F a u l t> <env:code> <e n v : V a l u e>e n v : S e n d e r</ e n v : V a l u e> <env:subcode> <e n v : V a l u e>m:messagetimeout</ e n v : V a l u e> </ env:subcode> </ env:code> <e n v : R e a s o n> <e n v :Text x m l : l a n g= en >Sender Timeout</ e n v :Text> </ e n v :Reason> <e n v : D e t a i l> <m:maxtime>p5m</m:maxtime> </ e n v : D e t a i l> </ e n v : F a u l t> </ env:body> </ e n v : E n v e l o p e>

Vor- und Nachteile Fault-Codes VersionMismatch (Fehlerhafter Env.) MustUnderstand (Ein Header-Block, der pflicht ist konnte nich verarbeitet werden) Client (Sender Fehler) Server (Server Fehler)

Vor- und Nachteile Rollen: next Rolle fr Zwischenknoten und auch für Endknoten none Rolle trifft auf keinen Knoten zu ultimatereceiver Rolle trift nur auf den Ultimate Receiver zu

Vor- und Nachteile // Example service for Axis Release Candidate 1 import j a v a. u t i l. ; import j a v a. l a n g. ; p u b l i c c l a s s Add{ p u b l i c i n t add ( i n t number1, i n t number2 ) { r e t u r n ( number1+number2 ) ; } //add () } // c l a s s Add

Vor- und Nachteile import j a v a. n e t. ; import org. apache. a x i s. c l i e n t. C a l l ; import org. apache. a x i s. c l i e n t. S e r v i c e ; // Types for ParameterModes import org. apache. a x i s. e n c o d i n g. XMLType ; import org. apache. a x i s. u t i l s. O p tions ; import j a v a x. xml. r p c. ParameterMode ; import j a v a x. xml. namespace. QName ; p u b l i c c l a s s A d d C l i e n t { public s t a t i c void main ( String [ ] args ) throws Exception{ i f ( a r g s. l e n g t h <=2) { System. out. p r i n t l n ( \n \nusage : A d d C l i e n t i n t i n t u r l \n } URL u r l = new URL( a r g s [ 2 ] ) ; // construct a c a l l C a l l mycall = new C a l l ( u r l ) ; // set the URL of the c a l l endpoint mycall. settargetendpointaddress ( u r l ) ; // the child of the Body element schould look l i k e t h i s : // <ns1 : add xmlns : ns1= urn :NumberAdder ></ns1 : add>

Vor- und Nachteile mycall. setoperationname ( new QName( urn : NumberAdder, add ) ) ; // prepare the parameters for the c a l l mycall. addparameter ( number1, XMLType. XSD INT, ParameterMode. IN ) ; mycall. addparameter ( number2, XMLType. XSD INT, ParameterMode. IN ) ; // set the return type of the c a l l mycall. setreturntype (XMLType. XSD INT ) ; // invoke the c a l l O b j ect myparams [ ] = new O b ject [ 2 ] ; myparams [ 0 ] = ( O b j e c t ) new I n t e g e r ( a r g s [ 0 ] ) ; myparams [ 1 ] = ( O b j e c t ) new I n t e g e r ( a r g s [ 1 ] ) ; I n t e g e r r e s p = ( I n t e g e r ) mycall. i n v o k e ( myparams ) ; System. out. p r i n t l n ( r e s p ) ; } // End main } // End Class CallAdd

Vor- und Nachteile POST / a x i s / s e r v l e t / A x i s S e r v l e t HTTP/ 1. 0 Content Type: text / xml ; charset=utf 8 A c c e p t : a p p l i c a t i o n / soap+xml, a p p l i c a t i o n /dime, m u l t i p a r t / r e l a t e d, t e x t / User Agent: Axis / beta3 H o s t : 1 0. 0. 0. 1 6 0 Cache C o n t r o l : no cache Pragma: no cache Action: Content L e n g t h : 472 <? xml v e r s i o n= 1.0 encoding= UTF 8?> <s o a p e n v : E n v e l o p e x m l n s : s o a p e n v= h t t p : // schemas. xmlsoap. org / soap / e n v e l o p e / x m l n s : x s d= h t t p : //www. w3. org /2001/XMLSchema x m l n s : x s i= h t t p : //www. w3. org /2001/XMLSchema i n s t a n c e > <soapenv:body> <n s 1 : a d d s o a p e n v : e n c o d i n g S t y l e= h t t p : // schemas. xmlsoap. org / soap / e n c o d i n g / x m l n s : n s 1= urn:numberadder > <number1 x s i : t y p e= x s d : i n t >1</ number1> <number2 x s i : t y p e= x s d : i n t >2</ number2> </ n s 1 :add> </ soapenv:body> </ s o a p e n v : E n v e l o p e>

Vor- und Nachteile HTTP/ 1. 1 200 OK Date: Sun, 22 Sep 2002 11 : 16: 42 GMT S e r v e r : MyHTTPServer Content Type: text / xml ; charset=utf 8 C o n n e c t i o n : c l o s e <? xml v e r s i o n= 1.0 encoding= UTF 8?> <s o a p e n v : E n v e l o p e x m l n s : s o a p e n v= h t t p : // schemas. xmlsoap. org / soap / e n v e l o p e / x m l n s : x s d= h t t p : //www. w3. org /2001/XMLSchema x m l n s : x s i= h t t p : //www. w3. org /2001/XMLSchema i n s t a n c e > <soapenv:body> <ns1:addresponse soapenv: encodingstyle= h t t p : // schemas. xmlsoap. org / soap / encoding / x m l n s : n s 1= urn:numberadder > <addreturn x s i : t y p e= x s d : i n t >3</ addreturn> </ n s 1 :addresponse> </ soapenv:body> </ s o a p e n v : E n v e l o p e>