Web Services und SOAP. Früher. Heute. Einführung. Kunde sucht sich auf dem Internet die Hotel, Flug und Mietwagenfirmen-Seiten

Größe: px
Ab Seite anzeigen:

Download "Web Services und SOAP. Früher. Heute. Einführung. Kunde sucht sich auf dem Internet die Hotel, Flug und Mietwagenfirmen-Seiten"

Transkript

1 Web s und Einführung Sie wissen, was ein Web ist Sie wissen, was ist Sie wissen, wie eine Meldung aufgebaut ist Sie können Meldungen mittels beschreiben Sie können einen Web Klient und Server implementieren 1 von 64 2 von 64 Früher Heute Kunde sucht sich auf dem Internet die Hotel, Flug und MietwagenfirmenSeiten?? Credit Credit Card Card Fluggesellschaft Fluggesellschaft Stellt sich ein passen Angebot zusammen Kunde Kunde html html Kunde Kunde html Virtuelles Virtuelles Reisebüro Reisebüro?? Schifffahrtslinie Schifffahrtslinie Bahn Bahn Hotel Hotel Mietwagen Mietwagen html Es braucht eine standardisierte, maschinell verarbeitbare Kommunikation zwischen Reisebüro und Dienstleistungsanbietern 3 von 64 4 von 64

2 Definition Web (nach W3C) (Web) Architektur Ein Web ist folgendermassen definiert A A Web Web service service is is a a software software system system igned igned to to supendpoint supendpoint interoperable machinetomachine interaction over a network. interoperable machinetomachine interaction over a network. It has an interface cribed in a machineprocessable format It has an interface cribed in a machineprocessable format (specifically (specifically ). ). Other Other systems systems interact interact with with the the Web Web service service in in a a manner manner prescribed prescribed by by its its cription cription using using messages, typically conveyed using with an messages, typically conveyed using with an serialization in conjunction with other Webrelated standards. serialization in conjunction with other Webrelated standards. Verwaltet Verwaltet Servîce Servîce Ermöglicht Ermöglicht das das Eintragen Eintragen von von s s Ermöglicht Ermöglicht das das Finden Finden von von Anbieter Anbieter Adressen Adressen anhand anhand unterschiedlicher unterschiedlicher Kriterien Kriterien Finde Binde Publiziere Bietet Bietet Dienste Dienste an: an: Teil Teil der der Geschäftslogik Geschäftslogik Beschreibt die angebotenen Dienste Beschreibt die angebotenen Dienste wie wie sind sind die die Dienste Dienste abrufbar? abrufbar? (Dienstleistungs)Vertragsinhalt (Dienstleistungs)Vertragsinhalt Publiziert Publiziert Dienste Dienste in in Beschreibt Dienste so, dass Kunden Beschreibt Dienste so, dass Kunden den Dienstanbieter finden können den Dienstanbieter finden können Zweck ist Interoperation zwischen Maschinen Schnittstelle beschrieben in maschinenlesbarer Form () Nachrichtenaustausch über Meldungen meist via oder anderen Web Protokollen meist unter Verwendung von in kodierten Nachrichten Web Konsument Konsument Konsumiert Dienste Anbieters Konsumiert Dienste Anbieters Sucht den gewünschten Dienst im Sucht den gewünschten Dienst im Stellt Verbindung mit dem Stellt Verbindung mit dem Dienstanbieter her und nimmt Dienst Dienstanbieter her und nimmt Dienst in Anspruch in Anspruch Beschreibung Beschreibung "Vertrag" "Vertrag" Anbieter Anbieter Ein Web ist eine Funktion (Prozedur,Methode, Teil der Geschäftslogik), die via Internet Technologien zugegriffen werden kann Daten werden meist in Format übermittelt 5 von 64 6 von 64 Web s Vor und Nachteile Standard für Nachrichtenaustausch unabhängig von Transportprotokoll unabhängig von Client und Implementierung: Java,.NET, PHP, Vorteile unabhängig von Programmiersprache, Laufzeitumgebung und Betriebssystem baut auf bestehender InternetInfrastruktur auf standardisiert von den grossen unterstützt/vorangetrieben (ABM und Microsoft) Web s Description Language SchnittstellenBeschreibung in Kommunikation auf Basis existierenden Protokolle und Serverarchitekturen und WebServer SMTP und MailServer FTP und FTPServer Nachteile Performance () Gremien mit dominanten Vertretern mit Partikulärinteressen Standards z.t. komplex, zu allgemein gehalten (Kompromiss standarts) Erweiterbarkeit führt zu Interoperabilitätsproblemen Standardisierung (W3C & I Gremium) 1.2, 1.1 (1.2 und 2.0) Zusätzliche Protokolle basierend auf und 7 von 64 8 von 64

3 Web s : Simple Object Access Protocol Definiert ein StandardFormat für den Transport von Daten, via, SMTP und FTP für den Zugriff auf Web s : Web Description Language Beschreibt die Schnittstelle eines Web (Ein/Ausgabe Parameter, Protokoll Bindung, etc.) UDDI: Universal Description, Discovery, and Integration (Weltweites) von Web s in dem nach verschiedenen Kriterien gesucht werden kann Finde UDDI UDDI Publiziere Konsument Klient Klient Request Response Fassade Fassade Geschäfts Geschäfts Logik Logik Anbieter 9 von von 64 Basis Web Stack Erweiterter Web Stack Architektur Beschreibung Beschreibung Messaging Messaging Transport Transport Netzwerk Netzwerk Web s UDDI UDDI,, SMTP, SMTP, stellt für Web s zur Verfügung ermöglicht das Eintragen von s (Publikation) ermöglicht Finden von Adressen anhand folgender Kriterien Weisse Seiten: nach Namen Gelbe Seiten: nach Branchen Grüne Seiten: Beschreibung der Dienstleistung beschreibt die Schnittstelle Web s in maschinenlesbarer Form unabhängig von Programmiersprache beschreibt, welcher Transportmechanismus verwendet wird* beschreibt, wo der zu finden ist* definiert das Meldungsformat meistens Format ( basiert) unabhängig von BS kann Transport Netzwerk verwenden (gebunden werden) stellt Transportmechanismus für Daten zur Verfügung im Internet: basiert auf bestehenden Internet Protokollen: http, smtp, ftp im Intranet: auch andere Protokolle möglich: MQ *Design Fehler In konkreten Anwendungsfall von Web s sind Erweiterungen notwendig für Sicherheit, Transaktionssteuerung, etc. Werden angeboten vom Anbieter Infrastruktur ( Microsoft, IBM, Open Source) Standards z.t. noch nicht etabliert > proprietäre, z.t. nicht interoperable Lösungen Anwendung Anwendung Messaging Messaging API API.NET, JAX.NET, JAX Messaging Messaging Transport, SMTP, FTP Transport, SMTP, FTP Network Network Transport Transport Layer Layer TCP/IP TCP/IP Beschreibung Beschreibung UDDI. UDDI. Workflow, Workflow, BPEL, XLANG(MS) BPEL, XLANG(MS) Sicherheit Sicherheit Security Security Transaktionen Transactions Transaktionen Transactions Zuverlässigkeit Zuverlässigkeit Reliable Messaging Reliable Messaging Addressierung Addressierung Adressing Adressing Binäre Binäre Anhänge Anhänge Attachement Attachement 11 von von 64

4 * Konkret Stand der Implementierung (Ende 2008) Federation Federation Secure Secure Conversation Conversation Trust Trust Security Security Transfer Transfer Infoset Infoset Management Management Reliable Reliable Messaging Messaging Enumeration Enumeration Addressing Addressing Namespaces Namespaces Devices Devices Profile Profile Business Business Activity Activity Atomic Atomic Transaction Transaction Coordination Coordination Eventing Eventing MTOM MTOM MIME MIME Step 2 Workshops & Community Dev Step 2 Workshops & Community Dev Step 3 Standardization Step 3 Standardization Step 4 Approved Standard Step 4 Approved Standard Infrastructure Infrastructure and and Profiles Profiles Assurances Assurances Messaging Messaging / / UDP UDP / / Metadata Metadata Metadata Metadata Exchange Exchange Discovery Discovery UDDI UDDI Policy Policy Schema Schema Foundation Foundation einfaches Nachrichtenformat in für Verpackung beliebiger Anwendungsdaten einzelne Nachrichten ( oneway ) Unabhängig vom Transportprotokoll ist erweiterbar Sicherheit Authentifikation etc. Verschiedene Meldungsaustauschmuster durch kombination einzelner Nachrichten (Message Exchange Patterns) oneway, requestresponse Client Client 1: GetTime_Request 2: GetTime_Response Server Server 13 von von 64 Funktionsweise von über Interaktionsmodelle Client <soapenv:envelope> <m:getstockprice> <Stock>INTC</Stock> </m:getstockprice> </soapenv:body> Response ( : 200 OK) <soapenv:envelope> <m:getstockpriceresponse> <Price>34.5</Price> </m:getstockpriceresponse> </soapenv:body> Request (:POST) Beispiel RequestResponse Beispiel RequestResponse StockQuote One Way: /SMTP Einweg Kommunikation: nur unbestätigte Aufruf Meldung vom Klient zum Web RequestResponse: / (hier behandelt) Synchrone Kommunikation: Aufruf Meldung vom Klient zum Web mit Antwort vom Web Solicit Response: /SMTP Asynchrone Kommunikation: einzelne unbestätigte Aufruf Meldung vom Klient zum Web, dann unbestätigte Antwort zurück Notification: POP3 Benachrichtigung: einzelne unbestätigte Meldung vom Web zum Klient Client Web 15 von von 64

5 Aufbau einer Meldung POST/objectURI /1.1 Action soapenv:envelope soapenv:header Objekt Endpunkt Objekt Identifikation Methoden Identifikation Informationen für den Transport der Nachricht Informationen für den/die Empfänger der Nachricht Meldungen Header 1 Header 2 Erweiterungskopfteil Meldungsdaten Daten Informationen über die Daten der Nachricht, Unterschrift, etc. soapenv:body Daten Logische Aufteilung Daten der Nachricht Nachricht 17 von von 64 Beispiel: Aufbau einer Meldung Header Header Header (def: (def: ) ) POST /Accounts /1.1 Host: webservicebank.com ContentLength: nnnn ContentType: text/xml xml; charset=" ="utf8" Action: : "SomeURI" <:Envelope xmlns:="http://schemas. :="http://schemas.xmlsoap.org/soap/envelope/" :encodingstyle encodingstyle="http://schemas. ="http://schemas.xmlsoap.org/soap/encoding/"> <:Header> <t:signature xmlns:t="someuri" :mustunderstand mustunderstand="1"> </t:signature> </:Header> <:Body> <m:deposit xmlns:m="someuri"> <acctnumber> </ > </acctNumber> <amount>200</amount> Body Entry </m:deposit> Body Entry (def:applikation) </:Body> (def:applikation) </:Envelope> Envelope Envelope (def: ) (def: ) Header Header (def:,opt) (def:,opt) Header Entry Header Entry (def:applikation) (def:applikation) Body Body (def:) (def:) POST Aufruf meist über POST ContentType: text/xml und charset=utf8 (Unicode variabler Länge) Host: ZielMaschinenname Action: für Routing und Dispatching von Meldungen Request ab 1.2 nicht mehr verwendet, da nur für gültig Action: "" bei POST wird direkt der Endpunkt s angegeben POST /axis/services/my /1.0 POST /axis/services/my /1.0 ContentType: text/xml; charset=utf8 ContentType: text/xml; charset=utf8 Host: localhost Host: localhost Action: "" Action: "" ContentLength: 414 ContentLength: 414 Response / OK / OK ContentType: text/xml; charset="utf8" ContentType: text/xml; charset="utf8" ContentLength: 564 ContentLength: von von 64

6 Aufruf (GETPOST) Beispielaufruf via GET bzw. POST Aufruf über GET Aufruf kodiert (URLencoded) Response kodiert Einschränkung auf einfache Aufrufe (keine HeaderEinträge, keine strukturierten Daten) Aufruf von GetTime(bool shortform) bei Web Aufruf : Aufruf über POST Datenteil POSTRequest enthält kodierte Anfrage Antwort kodiert ohne Einschränkungen Response: /1.1 / OK OK ContentType: ContentType: text/xml; text/xml; charset=utf8 charset=utf8 ContentLength: ContentLength: length length <?xml <?xml version="1.0" version="1.0" encoding="utf8"?> encoding="utf8"?> <string <string xmlns="http://tempuri.org/">string</string> 21 von von 64 Envelope Header Envelope Element definiert in Namespace: ://schemas.xmlsoap.org/soap/envelope/ beinhaltet KindElemente Header: Kopfteil (optional) : Informationen über die Meldung Body: Daten (Payload) Fault: als Teil von Body (optional) bei Fehler <soapenv:envelope xmlns:soapenv soapenv=" ="http:// ://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/schema" Envelope Envelope Namespaces Namespaces xmlns:xsi="http://www.w3.org/2001/schemainstance"> <soapenv:header> </soapenv soapenv:header> <soapenv:fault> Schema Namespaces Schema Namespaces </soapenv soapenv:fault> </soapenv soapenv:body> </soapenv soapenv:envelope> Kann verwendet werden um anwendungsspezifische Information zur Meldung hinzuzufügen, z.b. Authentisierung, Transaktionssteuerung wird dem Body vorangestellt Ermöglicht das "piggybacking" von Metainformation (Information über Daten) zusätzliche (Status) Informationen Sicherheit, etc. Wird von der Infrastruktur interpretiert <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/schema" xmlns:xsd="http://www.w3.org/2001/schema" xmlns:xsi="http://www.w3.org/2001/schemainstance"> xmlns:xsi="http://www.w3.org/2001/schemainstance"> <:Header soapenv:encodingstyle="http://schemas.xmlsoap.org/soap/encoding <:Header soapenv:encodingstyle="http://schemas.xmlsoap.org/soap/encoding <t:signature xmlns:t=" :t="someuri" <t:signature xmlns:t="someuri" :mustunderstand mustunderstand="1" xsi:type="xsd:string"> :mustunderstand="1" xsi:type="xsd:string"> </t:signature Signature> </t:signature> </:Header Header> </:Header> 23 von von 64

7 Body Die Datenformat im <Body>Element Im Body werden die eigentlichen Daten übertragen Daten im <Body> Element sind grundsätzlich frei wählbar (wellformed ) Meist jedoch durch Schema definierte Struktur literal: literal: onthewire onthewire Format Format in in einem einem Schema Schema definiert definiert (exact) (exact) encoded: encoded: onthewire onthewire Format Format entspricht entspricht nicht nicht dem dem Schema Schema sondern sondern dem dem definierten definierten Encoding Encoding z.b z.b Endcoding Endcoding Request <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/schema" xmlns:xsd="http://www.w3.org/2001/schema" xmlns:xsi="http://www.w3.org/2001/schemainstance"> xmlns:xsi="http://www.w3.org/2001/schemainstance"> <soapenv:header <soapenv:header document: document: Übermittlung Übermittlung eines eines Dokuments Dokuments <soap:envelope> <soap:envelope> <soap:body> <soap:body> <mymethoddata> <mymethoddata> <x>5</x> <x>5</x> </mymethoddata> </mymethoddata> </soap:body> </soap:body> </soap:envelope> </soap:envelope> <soap:envelope> <soap:envelope> <soap:body> <soap:body> <mymethoddata> <mymethoddata> <x xsi:type="xsd:int">5</x> <x xsi:type="xsd:int">5</x> </mymethoddata> </mymethoddata> </soap:body> </soap:body> </soap:envelope> </soap:envelope> <m:deposit xmlns:m=" :m="someuri"> <m:deposit xmlns:m="someuri"> <acctnumber> </ > </acctNumber> <acctnumber> </acctnumber> <amount>200</ >200</amount> <amount>200</amount> </m:deposit Deposit> </m:deposit> </soapenv:body Body> </soapenv:body> Response rpc: rpc: Aufruf Aufruf einer einer Funktion Funktion <soap:envelope> <soap:envelope> automatisch <soap:body> automatisch <soap:body> <mymethod> <mymethod> <x>5</x> <x>5</x> </mymethod> </mymethod> </soap:body> </soap:body> </soap:envelope> </soap:envelope> <soap:envelope> <soap:envelope> <soap:body> automatisch <soap:body> automatisch <mymethod> <mymethod> <x xsi:type="xsd:int">5</x> <x xsi:type="xsd:int">5</x> </mymethod> </mymethod> </soap:body> </soap:body> </soap:envelope> </soap:envelope> 25 von von 64 Die Daten im <Body>Element Serialisierung von Datenstrukturen Nachrichtenformat: rpc Methodenname als Teil der Meldung Abbildung der einfachen Datentypen der Programmiersprache folgende Abbildungsregeln (=Binding) werden für Java angewandt JAXBCompatible Type Mapping document Methodenname nicht Teil der Meldung Kodierung: literal Daten werden nach einem Schema kodiert encoded Daten werden nach Regeln (Section 5) kodiert übliche Kombinationen: document/literal die heute am häufigsten verwendetes Format, beste Interoperabilität rpc/literal verwendet bei Java Umfeld, weniger Hilfs/Wrapper Klassen rpc/encoded früher häufig verwendet 27 von von 64

8 Serialisierung von Datenstrukturen Serialisierung von Datenstrukturen Einfache Datentypen werden einfach in Elemente abgebildet ElementName = Variablen Name ElementInhalt = Wert Typ durch XSD Schema definiert xsi:type= xsd:string xsi:type= xsd:string singlereference und "nested" Strukturen (Klassen) werden eingebettet <e:book> <title>my Life and Work</title> <author> <name>henry Ford</name> <address> <web>http://www.henryford.com</web> </address> </author> </e:book> <title> My Life and Work </title> <price> </price> xsi:type= xsd:float xsi:type= xsd:float Arrays und Listen einfach als Sequenz von gleichen Elementen Andere Andere Collections Collections problematisch problematisch multireference Strukturen verwenden id & href attributes <e:books> <e:book> <title>my Life and Work</title> <author href="#person1" </e:book> <e:book> <title>the Success of Tin Lizzy</title> <author href="#person1" </e:book> </e:books> <e:person id="person1"> <name>henry Ford</name> <address> <web>http://www.henryford.com</web> </address> </e:person> 29 von von 64 Konsequenzen litteral Formats Fault Body Daten sind durch Schema bzw. beschrieben Vorteil: Meldung kann mit Schema validiert werden Nachteil: Bei nicht Baum Daten Strukturen komplex (Z.B. Graphen, Mehrfachreferenzen) <?xml version="1.0"?> <?xml version="1.0"?> <xsd:schema> <xsd:schema> <xsd:complextype name="arg"> <xsd:complextype name="arg"> <xsd:sequence> <xsd:sequence> type="xsd:" name="arg0" type="xsd:" name="arg0" type="xsd:" name="arg1" type="xsd:" name="arg1" </xsd:sequence> </xsd:sequence> </xsd:complextype > </xsd:complextype > name="op1" type="listing3:op1type" name="op1" type="listing3:op1type" <arg> <arg> <arg0>20.0</arg0> <arg0>20.0</arg0> <arg1>22.0</arg1> <arg1>22.0</arg1> </arg> </arg> </soapenv:body> </soapenv:body> Fault: Ein Fehler ist aufgetreten erstes/einziges Element von Body faultcode: Klassifizierung Fehlers MustUnderstand (Header with mustunderstand=1 nicht verstanden) VersionMismatch (falsche namespace) Client (Fehler in request Meldung vom Klienten) Server (Fehler auf der Server Seite) faultstring/detail: Beschreibung Fehlers Result: Result: / Internal Server Error ContentType: text/xml; charset=utf8 <soapenv:envelope > <soapenv:fault> <faultcode>ns1:server.userexception</faultcode> <faultstring>java.rmi.remoteexception: Overflow</faultstring> <detail><ns2:stacktrace xmlns:ns2="http://xml.apache.org/axis/">java.rmi.remoteexception: at calc.calculatorsoapbindingimpl.add(calculatorsoapbindingimpl.java:12) </detail> </soapenv:fault> </soapenv:body> 31 von von 64

9 Fragen und Fakten zu Wieso sollte man kennen? StandardBeschreibungssprache für Web Schnittstellen finden von Interoperabilitätsproblemen beschreibung mit Wieso ist so kompliziert? früh entwickelt (noch bevor XSD fertig definiert war) grosse Allgemeinheit abgedeckt (Protokolle, Aufrufmodelle, etc.) Werkzeuge zur Erstellung Texteditor: ziemlich mühsam (sollte man aber einmal gemacht haben) mit graphischen Werkzeugen: einfacher aber kein Standard, z.b. Spy Finden von die meisten Web Implementationen liefern Schnittstelle (automatisch) <Web URL>? se auf dem Internet (siehe Anhang) 33 von von 64 Schnittstellen Beschreibung Web Description Language () Funktionen einer Schnittstellen Beschreibungssprache (IDL) von Menschen lesbar und erstellbar Definition der Schnittstelle (SW Engineering zuerst) "interface first" Ansatz Dokumentation von Maschine lesbar zur Laufzeit: überprüfen ob Daten mit Schnittstelle konform(validierung) zur Entwicklungszeit: Generierung von Hilfsklassen Implementierungsrumpf für Web s Stub (Stumpf) für den Aufruf ist basierte IDL für Webs in wird beschrieben: Interface Verwendete Datentypen Aufbau einzelner Nachrichten Operationen (Methoden) Implementation Protokolle um Operationen aufzurufen Adressen für Web Web Definition Language März 2001 definiert Version 2.0 (früherer Name = 1.2) seit Juni 2007 W3C Recommendation Umbenennung: Port>Endpoint; definition > cribtion; Interface> Interface Elimination von Message (> wird zu XSD Complex Type) 35 von von 64

10 Struktur eines Dokuments Aufbau eines Dokuments Struktur eines Dokuments (von 1.1 zu 2.0) message > x porttype > interface port > endpoint EndPoint z.b. z.b. + + Operation Verwendung Verwendung von von Schema Schema Type/ Element EndPoint Binding (Interface) Interface (abstraktes Interface) Operation request/ response Types Type/ Element Type/ Element EndPoint Operation Web Protokoll Operationen abstraktes Interface Typen & Elemente 37 von von 64 Aufbau eines Dokuments Grundstruktur von 2.0 Type/Element Definiert Typen und Strukturen als Schema Request/Response Data Strukture Type definieren wie die Typen verwendet werden Operation verknüpft 2 (1) Meldung: requestresponse Interface verknüpft mehrere Operationen zu einem abstrakten Interface Binding fügt protokollspezifische Information zu Interface hinzu EndPoint ist die Schnittstelle eines Web s (instance) (Web) kann verschiedene Schnittstellen (EndPoints) haben Web Protokoll abstraktes Interface 39 von 64 <definitions> <types> <xsd;> </xsd:> <xsd:complextype> </xsd:complextype> </types> <interface> <operation> <input> <output> </operation> </interface> <binding> <operation> </binding> <service> <endpoint> </service> </definitions> Beschreibung eines Webs Typen beschrieben in <xsd:schema> einzelne Nachrichten Teile der Nachricht InterfaceBeschreibung Operationen eines Interfaces InputNachricht OutputNachricht Binden von Interfaces an Protokolle + Kodierung Beschreibung der Anbindung für jede Operation beschreibung URI und Anbindung für Endpoint abstrakter Teil konkreter Teil 40 von 64

11 Beispiel Abstrakter Teil Beispiel Konkreter Teil Types Abschnitt der häufig in separate XSD Datei und mittels <include> hineingenommen <cription xmlns="http://www.w3.org/ns/wsdl" xmlns:tns="http://www.example.com/wsdl20sample" xmlns:whttp="http://www.w3.org/ns/wsdl/http" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" targetnamespace="http://www.example.com/wsdl20sample"> <! Abstract types > <types> <xs:schema xmlns="http://www.example.com/wsdl20sample" xmlns:xs="http://www.w3.org/2001/schema" targetnamespace="http://www.example.com/wsdl20sample"> <xs:element name="request"> <xs:complextype> <xs:sequence> <xs:element name="header" maxoccurs="unbounded"> <xs:complextype> <xs:simplecontent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="required" </xs:extension> </xs:simplecontent> </xs:complextype> <xs:element name="body" type="xs:anytype" minoccurs="0" </xs:sequence> </xs:complextype> <xs:element name="response"> <xs:complextype> <xs:sequence> <xs:element name="header" maxoccurs="unbounded"> <xs:complextype> <xs:simplecontent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="required" </xs:extension> </xs:simplecontent> </xs:complextype> <xs:element name="body" type="xs:anytype" minoccurs="0" </xs:sequence> </xs:complextype> </xs:schema> </types> <! Abstract interfaces > <interface name="timer"> <operation name="gettime" pattern="http://www.w3.org/ns/wsdl/inout"> <input messagelabel="getmsg" element="tns:request" <output messagelabel="successfulmsg" element="tns:response" </operation> </interface> Konkreter Teil beschreibt das verwendete Protokoll für jede einzelne Operation heute oft auch noch REST Binding beschreibt die URL Endpoints oft Ursache von Problemen (später) <! Concrete Binding Over > <binding name="interfacehttpbinding" interface="tns:interface" type="http://www.w3.org/ns/wsdl/http">. <operation ref="tns:gettime" whttp:method="post" </binding> <! Web offering endpoint > <service name="time" interface="tns:timer"> <endpoint name="soapendpoint" binding="tns:interfacehttpbinding" address="http://www.example.com/soap/" public class Timer public public String gettime(string format) public String gettime(string format) 41 von von 64 Aufbau eines Dokuments Struktur <wsdl:definitions <wsdl:definitions name="calculator" name="calculator" targetnamespace="http://localhost:8080/axis/calculator" targetnamespace="http://localhost:8080/axis/calculator" Namesspaces xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" Namesspaces xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/schema" xmlns:xsd="http://www.w3.org/2001/schema" xmlns:impl="http://localhost:8080/axis/calculator" xmlns:impl="http://localhost:8080/axis/calculator" import > zusätzlicher Schemas import > zusätzlicher Schemas <xsd:schema> <xsd:schema> <xsd:import> <xsd:import> namespace="" namespace="" location location = = "" "" <xs:element <xs:element name="request" name="request" name="addresponse"> name="addresponse"> </xs:element </xs:element > > Binding <xs:element <xs:element name="response"> Binding definiert definiert name="response"> endpoint endpoint Typ: Typ:.. Interface Interface </xs:element </xs:element > > <wsdl:interface <wsdl:interface name="calculator"> name="calculator"> </wsdl:interface> </wsdl:interface> <wsdl:binding <wsdl:binding name="calculatorsoapbinding" name="calculatorsoapbinding" type="impl:calculator"> type="impl:calculator"> endpoint endpoint fügt fügt prot. prot. </wsdl:binding> </wsdl:binding> abh. abh. Bindung Bindung hinzu hinzu <wsdl:service <wsdl:service name="calculator"> name="calculator"> <wsdl:endpointbinding="impl:calculatorsoapbinding" <wsdl:endpointbinding="impl:calculatorsoapbinding" name="calculator"> name="calculator"> </wsdl:endpoint> </wsdl:endpoint> </wsdl:service> </wsdl:service> </wsdl:definitions> </wsdl:definitions> mit mit EndPoints EndPoints Web Protokoll abstraktes Interface 43 von 64 Interface Typen & Elemente Die Typen und Elemente werden mittels Schemas beschrieben Deklaration der Typen, die in Aufruf verwendet werden add( a, b) <xsd:schema <xsd:schema targetnamespace='http://localhost:8080/axis/calcmessage/' targetnamespace='http://localhost:8080/axis/calcmessage/' xmlns:xsd='http://www.w3.org/2001/schema' xmlns:xsd='http://www.w3.org/2001/schema' xmlns:typens='http://localhost:8080/axis/calcmessage/'> xmlns:typens='http://localhost:8080/axis/calcmessage/'> name="op1" name="op1" type="xsd:" type="xsd:" name="op2" name="op2" type="xsd:" type="xsd:" name="result" name="result" type="xsd:" type="xsd:" <arg0 xsi:type="xsd:">20.0</arg0> <ns1:add xmlns:ns1="http://localhost:8080/axis/calculator"> <ns1:add xmlns:ns1="http://localhost:8080/axis/calculator"> <arg0 xsi:type="xsd:">20.0</arg0> <arg1 xsi:type="xsd:">22.0</arg1> <arg1 xsi:type="xsd:">22.0</arg1> </ns1:add> </ns1:add> </soapenv:body> </soapenv:body> 44 von 64

12 Interface Typen & Elemente Komplexe Typen Einbezug von externen Schemas Es können eigene Typen definiert werden Grundsätzlich voller XSD Umfang, aber meist nicht vollständig implementiert Oft besser Datentypen nicht in sondern in externen Schemas zu definieren können in mehreren verwendet werden übersichtlicher Werkzeugunterstützung <xsd:schema <xsd:schema targetnamespace='http://localhost:8080/axis/calcmessage/' targetnamespace='http://localhost:8080/axis/calcmessage/' xmlns:xsd='http://www.w3.org/2001/schema' xmlns:xsd='http://www.w3.org/2001/schema' xmlns:typens='http://localhost:8080/axis/calcmessage/'> xmlns:typens='http://localhost:8080/axis/calcmessage/'> <xsd:simpletype <xsd:simpletype name="op1type"> name="op1type"> <xsd:restriction <xsd:restriction base="xsd:" base="xsd:" </xsd:simpletype> </xsd:simpletype> name="op1" name="op1" type="typens:op1type" type="typens:op1type" 45 von 64 <?xml version="1.0"?> <?xml version="1.0"?> <xsd:schema targetnamespace="urn:listing3" <xsd:schema targetnamespace="urn:listing3" xmlns:xsd="http://www.w3.org/2001/schema"> xmlns:xsd="http://www.w3.org/2001/schema"> <xsd:import namespace="http://www.w3.org/2001/schema" <xsd:import namespace="http://www.w3.org/2001/schema" <xsd:simpletype name="op1type"> <xsd:simpletype name="op1type"> <xsd:restriction base="xsd:" <xsd:restriction base="xsd:" </xsd:simpletype> </xsd:simpletype> name="op1" type="listing3:op1type" name="op1" type="listing3:op1type" <xsd:schema <xsd:schema targetnamespace='http://localhost:8080/axis/calcmessage/' targetnamespace='http://localhost:8080/axis/calcmessage/' xmlns:xsd='http://www.w3.org/2001/schema' xmlns:xsd='http://www.w3.org/2001/schema' xmlns:typens='http://localhost:8080/axis/calcmessage/'> xmlns:typens='http://localhost:8080/axis/calcmessage/'> <xsd:import <xsd:import namespace="urn:listing3" namespace="urn:listing3" schemalocation="listing3.xsd" schemalocation="listing3.xsd" name="op1" name="op1" type="listing3:op1type" type="listing3:op1type" 46 von 64 Interface message und part abstraktes Interface Interface Definition wie die Typen verwendet werden: fasst definierte Typen zu Meldungen zusammen entspricht in Java der Liste der formalen Parameter in Methode: [] add([ a, b]) es können auch direkt XSD Typen verwendet werden: element="xsd:" Name Name Meldungstyp Meldungstyp Types <xsd:schema > <xsd:schema > name="op1" type="xsd:" name="op1" type="xsd:" name="op2" type="xsd:" name="op2" type="xsd:" name="result" type="xsd:" name="result" type="xsd:" Interface definiert ein (abstraktes) Interface enthält eine oder mehrere operations interface entspricht in Java dem Interface interface Calculator Calculator add( add( a, a, b); b); Definiert Eingabe und AusgabeMeldung wsdl:input = request "Messages" wsdl:output = response <xs:element name="request"> Name Name Interfaces Interfaces Namen der Operation(en) Namen der Operation(en) <xs:element name="request"> <xs:element name="response"> <xs:element name="response"> <xs:element <xs:element name="request"> name="request"> <xs:element <xs:element name="response"> name="response"> Namen Namen Meldungsteils Meldungsteils Typ Typ Meldungsteils Meldungsteils (part) (part) <wsdl:interface <wsdl:interface name="calculator"> name="calculator"> <wsdl:operation <wsdl:operation name="add" name="add" pattern="http://www.w3.org/ns/wsdl/inout"> pattern="http://www.w3.org/ns/wsdl/inout"> <wsdl:input <wsdl:input messagelabel="addrequestop" messagelabel="addrequestop" element="tns:request" element="tns:request" <wsdl:output <wsdl:output messagelabel="addresponseop" messagelabel="addresponseop" element="tns:response" element="tns:response" </wsdl:interface> </wsdl:interface> Meldungen für request und response Meldungen für request und response 47 von von 64

13 Protokoll binding binding: bindet Interface an Protokoll enthält eine oder mehrere operations entspricht Aufbau von Interface Interface <wsdl:interface name="calculator"> <wsdl:interface name="calculator"> <wsdl:operation name="add" > <wsdl:operation name="add" > <wsdl:input name="addrequestop" <wsdl:input name="addrequestop" <wsdl:output name="addresponseop" <wsdl:output name="addresponseop" </wsdl:interface> </wsdl:interface> <wsdl:binding <wsdl:binding name="calculatorsoapbinding" name="calculatorsoapbinding" type="impl:calculator"> type="impl:calculator"> Name <wsdlsoap:binding <wsdlsoap:binding style="rpc" Name style="rpc" Interfaces Interfaces Transport="http://schemas.xmlsoap.org/soap/http" Transport="http://schemas.xmlsoap.org/soap/http" <wsdl:operation <wsdl:operation name="add"> verwende name="add"> verwende <wsdl:input <wsdl:input name="addrequestop"> Name der Alle name="addrequestop"> Name der für für Transport Transport Alle Operation Operationen Operation Operationen </wsdl:input> </wsdl:input> <wsdl:output <wsdl:output name="addresponseop"> name="addresponseop"> Namen der Namen der Operationsteile Operationsteile </wsdl:output> </wsdl:output> </wsdl:binding> </wsdl:binding> konkretes Interface: EndPoint und definiert endpoint: protokollabhängiges, konkretes Interface mehrere EndPoints, für verschiedene Protokolle möglich wsdlsoap:address : AdressElement EndPoints location Attribut: URI EndPoints Namen Namen EndPoints EndPoints Namen Namen <wsdl:binding name="calculatorsoapbinding" > <wsdl:binding name="calculatorsoapbinding" > <wsdlsoap:binding <wsdlsoap:binding <wsdl:operation name="add"> <wsdl:operation name="add"> </wsdl:binding> </wsdl:binding> <wsdl:service <wsdl:service name="calculator"> name="calculator"> <wsdl:endpoint <wsdl:endpoint name="calculator" name="calculator" binding="impl:calculatorsoapbinding" binding="impl:calculatorsoapbinding" > > <wsdlsoap:address <wsdlsoap:address location="http://localhost:8080/axis/services/calculator" location="http://localhost:8080/axis/services/calculator" </wsdl:endpoint> </wsdl:endpoint> </wsdl:service> </wsdl:service> URL Web s URL Web s 49 von von 64 Steuerung Serialisierungsformats Fehler: Faults use: beschreibt auf welche grundsätzliche Art die Daten serialisiert werden sollen "literal" : übermittelte Daten im Body entsprechen (exakt) dem Schema. "encoded": übermittelte Daten im Body sind nach encodingstype Attribut definiertem Verfahren codiert (z.b. Section 5) encodingstyle: identifiziert Regel, wie serialisiert werden soll es können beliebige (eigene) Encodingformate definiert werdenn oft Section 5 Encoding "http://schemas.xmlsoap.org/soap/encoding/" style: beschreibt den Stil (Struktur) Aufruf "rpc" erstes Kind Element von Body Element wird automatisch erzeugt ( Namen der Method); Daten werden als Kind Elemente übergeben "dokument" es wird nur ein Element beim Aufruf übergeben; diese Element enthält alle Daten add( add( a, a, b); b); class addrequestop class addrequestop a,b a,b add(addrequestop add(addrequestop msg); msg); Detaillierte Fehlermeldung kann definiert werden fault folgt dem body Element gleich wie input und output: message,interface, binding Wird eher selten gemacht StandardFehlerelement wird stattsen verwendet <wsdl:definitions <wsdl:definitions <wsdl:message name='overflow'> <wsdl:message name='overflow'> <wsdl:part name='overflowfault' element='xsd:string' <wsdl:part name='overflowfault' element='xsd:string' </wsdl:message> </wsdl:message> <wsdl:interface <wsdl:interface <wsdl:operation name='add'> <wsdl:operation name='add'> <wsdl:input message='wsdlns:dividerequest' <wsdl:input message='wsdlns:dividerequest' <wsdl:output message='wsdlns:divideresponse' <wsdl:output message='wsdlns:divideresponse' <wsdl:fault message='typens:overflow' name='overflow' <wsdl:fault message='typens:overflow' name='overflow' <wsdl:binding name='arithmeticssoapbinding' type='impl:arithmeticsendpoint' > <wsdl:binding name='arithmeticssoapbinding' type='impl:arithmeticsendpoint' > <soap:binding <soap:binding <wsdl:operation <wsdl:operation <soap:body <soap:body <wsdl:fault> <wsdl:fault> <wsdlsoap:fault name="overflow" <wsdlsoap:fault name="overflow" </wsdl:fault> </wsdl:fault> 51 von von 64

14 Aufrufe in Java Definition eines Java APIs for based RPC (JAX) Sun liefert ReferenzImplementation: Teil von J2EE Konkrete Implementation JSR181 JSR181 Config Config Client Client Generierte Generierte Stubs Stubs JAX JAX Runtime Runtime Import, Gen Server Server JAX JAX Runtime Runtime Web Web Server Server 53 von von 64 Erzeugen der Client Stub Klassen Klientenseitig : 1) Aufruf über generierten Stubs Der Web Server bietet unter der URL an Stubs müssen mittels KommandozeilenWerkzeug erzeugt werden directory directory Statische Bindung an Interface () Interface Implementation (endpoint) Aufruf einfach 1) Instanziere 2) hole EndPoint Interface 3) rufe EndPoint Interface bzw. die implementierende Klasse wsimport d. keep p com.javatutor.insel.ws.gen.chrisws Aus "Java ist auch eine Insel", Galileo Computing package der package der generierten generierten Klassen Klassen DII Client Client Generierte Generierte Stubs Stubs JAX JAX Runtime Runtime wsimport Calculator service = new Calculator(); Calculator service = new Calculator(); Calculator calc = service.getcalculatorendpoint(); Calculator calc = service.getcalculatorendpoint(); d = calc.add(4,5); d = calc.add(4,5); public interface Calculator public interface Calculator public Calculator getcalculator(); public Calculator getcalculator(); public class Calculator public class Calculator public Calculator getcalculatorendpoint() public Calculator getcalculatorendpoint() von von 64

15 Klientenseitig : 2) Aufruf über DII JAX mit (JSR181 Web Metadata) Dynamic Invocation Interface : DII Dynamischer Bindung an keine nötig Aufruf wird mittels generischen Klassen und Call "von Hand" aufgebaut Selber verantwortlich, dass Reihenfolge, Anzahl und Typen der Argumente korrekt nur für einfache Beispiele geeignet, fehleranfällig import org.apache.axis.client.call; 1)Instanziere den import org.apache.axis.client.call; 1)Instanziere den import org.apache.axis.client.; generischen import org.apache.axis.client.; generischen String endpoint = "http://localhost:8080/axis/services/calculator"; String endpoint "http://localhost:8080/axis/services/calculator"; String namespace = "http://localhost:8080/axis/calculator"; String namespace = "http://localhost:8080/axis/calculator"; service = new (); service = new (); Call call = (Call) service.createcall(); Call call = (Call) service.createcall(); call.settargetendpointaddress( new java.net.url(endpoint)); call.settargetendpointaddress( new java.net.url(endpoint)); call.setoperationname(new javax.xml.namespace.qname(namespace, "add")); call.setoperationname(new javax.xml.namespace.qname(namespace, "add")); Object param = new Object[2]; Object param = new Object[2]; param[0] = new Double(4); param[0] = new Double(4); param[1] = new Double(5); param[1] = new Double(5); Double ret = (Double) call.invoke(param); Double ret = (Double) call.invoke(param); 2)Erzeuge 2)Erzeuge generisches generisches Call Call Object Object 6)Führe 6)Führe Aufruf Aufruf aus aus 3)Setze Adresse 3)Setze Adresse s s 4)Setze Namen 4)Setze Namen der Operation der Operation 5)Konstruiere 5)Konstruiere Argumentliste: Object[] Argumentliste: Object[] 57 von 64 Seit Java 6 in JDK integriert Definition der Web Schnittstelle einer annotierten Java Klasse Folgende Annotation in javax.ws und javax.ws.soap Jede WebImplementierung muss diese KlassenAnnotation besitzen. Optionale Elemente sind zum Beispiel name (bestimmt den <wsdl:interface>, Standard ist der unqualifizierte Name der Klasse bzw. Schnittstelle), targetnamespace, servicename oder Setzt den Stil der Nachrichten auf Dokument oder Die Annotation macht eine Methode zur WebOperation. Der StandardName unter <wsdl:operation> ist der Name der Methode; er lässt sich mit dem Element operationname ändern. Beschreibt die Parameter genauer. Das Element name überschreibt den Parameternamen, der sonst»argx«heißen würde, für das Element Definiert die Rückgabe einer WebMethode Für asynchrone Aufrufe. Aus "Java ist auch eine Insel", Galileo Computing 58 von 64 Beispiel eines Servers Erzeugen der Server Klassen ist einfache Java Klasse (POJO) = Binding.Style.DOCUMENT, package com.javatutor.insel.ws; = Binding.Style.DOCUMENT, package com.javatutor.insel.ws; use=binding.use.literal,parameterstyle=binding.paramet use=binding.use.literal,parameterstyle=binding.paramet erstyle.bare) import javax.jws.*; erstyle.bare) import javax.jws.*; import javax.jws.soap.*; @Binding(style = = Binding.Style.RPC) public class MyBmiWeb public public String hello( String name ) public String hello( String name ) return "Hello " + name + "!"; return "Hello " + name @WebResult(name = = "yourbmi") public height, public weight weight ) bmi = weight / (height * height) * 10000; bmi = weight / (height * height) * 10000; System.out.println(this.getClass().getSimpleName()+" called:"+height+ " "+weight+" "+bmi); System.out.println(this.getClass().getSimpleName()+" called:"+height+ " "+weight+" "+bmi); return bmi; return bmi; Aus "Java ist auch eine Insel", Galileo Computing Die Timer Klasse enthält Implementation von Web Versehene mit JSR 181 Annotationen ressource ressource Files 1.2 Files 1.2 wsgen r. extension wsdl:xsoap1.2 cp. keep timerservice.timer Java Klasse Java Klasse Aus "Java ist auch eine Insel", Galileo Computing 59 von von 64

16 Veröffentlichung Webs Der Klient In JSDK 1.6 ist auch ein MiniWebServer integriert Der Klient muss generierte Klassen importieren Mittels Endpoint.publish wird der angemeldet package com.javatutor.insel.ws; package com.javatutor.insel.ws; package com.javatutor.insel.ws; package com.javatutor.insel.ws; import javax.swing.joptionpane; import javax.swing.joptionpane; import javax.xml.ws.endpoint; import javax.xml.ws.endpoint; public class PublishWsOnServer public class PublishWsOnServer public static void main( String[] args ) public static void main( String[] args ) String endpointurl = "http://localhost:8081/services";; String endpointurl = "http://localhost:8081/services";; Object service = new MyBmiWeb(); Object service = new MyBmiWeb(); Endpoint endpoint = Endpoint.publish(endpointUrl,service); Endpoint endpoint = Endpoint.publish(endpointUrl,service); JOptionPane.showMessageDialog( null, service.getclass().getsimplename() JOptionPane.showMessageDialog( null, service.getclass().getsimplename() +" started on "+ endpointurl+"\nstop?"); +" started on "+ endpointurl+"\nstop?"); endpoint.stop(); endpoint.stop(); import com.javatutor.insel.ws.gen.chrisws.bmiwebs; import com.javatutor.insel.ws.gen.chrisws.bmiwebs; import com.javatutor.insel.ws.gen.chrisws.mybmiweb; import com.javatutor.insel.ws.gen.chrisws.mybmiweb; public class MyBmiClient public class MyBmiClient public static void main( String[] args ) public static void main( String[] args ) BmiWebs EndPoint = new MyBmiWeb().getBmiWebsEndPoint(); BmiWebs EndPoint = new MyBmiWeb().getBmiWebsEndPoint(); System.out.printf( "%s Your BMI is %.1f%n", System.out.printf( "%s Your BMI is %.1f%n", EndPoint.hello( "Chris" ), EndPoint.hello( "Chris" ), EndPoint.bodyMassIndex( 183, 84 ) ); EndPoint.bodyMassIndex( 183, 84 ) ); Aus "Java ist auch eine Insel", Galileo Computing Aus "Java ist auch eine Insel", Galileo Computing 61 von von 64 Zusammenfassung Referenzen, Links Web bietet Funktionen mittels WebTechnologie an definiert Standardformat für Web s, basierend auf Daneben eine Reihe von Diensten: UDDI, Security, Transaction Meldung besteht aus Envelope, Header, Body (Fault) Meist wird für den Transport verwendet Zur Beschreibung verwendet man abstrakte Schnittstelle(Interface), Binding (EndPoint), Web Java APIs for based Communication: JAX Liste verfügbarer Web s: & Web s & Java home Java Web s tutorial Java Web s tutorial 1.1,1.2 Java ist auch eine Insel von Christian Ullenboom JAX als Teil JDK von von 64

Verteilte Systeme: Übung 4

Verteilte Systeme: Übung 4 Verteilte Systeme: Übung 4 WSDL und SOAP Oliver Kleine Institut für Telematik https://www.itm.uni-luebeck.de/people/kleine SOAP Nachrichten Serialisierung in XML Root-Element einer SOAP Nachricht ist

Mehr

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik SOA Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik Laderampen müssen passen Modularisieren Softwarearchitektur Modul A Modul B Modul C Modul D Große Anwendung im Unternehmen Modul

Mehr

XML-Webservices & SOAP

XML-Webservices & SOAP 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

Mehr

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

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

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

Übersicht. Angewandte Informatik 2 - Tutorium 6. Teile einer WSDL-Datei. Was ist WSDL. Besprechung: Übungsblatt 5 Übersicht Angewandte Informatik 2 - Tutorium 6 Besprechung: Übungsblatt 5 Götz Bürkle (goetz@buerkle.org) Übungsblatt 5: Aufgabe 4 - Webservices Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

Kapitel 5 Web-Services

Kapitel 5 Web-Services Kapitel 5: Web-Services 1 Kapitel 5 Web-Services 5.1 Web-Services Verwendung/Aufruf (Service Invocation) SOAP Beschreibung (Service Description) WSDL Repository/Verzeichnis (Service Discovery) UDDI 5.2

Mehr

Implementierung von Web Services: Teil I: Einleitung / SOAP

Implementierung von Web Services: Teil I: Einleitung / SOAP Implementierung von Web Services: Teil I: Einleitung / SOAP Prof. Dr. Kanne - FSS 2007 Carl-Christian Kanne, February 25, 2007 Web Services - p. 1/12 Web Services: Allgemein XML Datenaustauschformat plattformunabhängig

Mehr

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? Großer Beleg Christian Wurbs Zwischenbericht http://www.inf.tu-dresden.de/~cw6 cw6@inf.tu-dresden.de Überblick 2 Aufgabenstellung CORBA

Mehr

Web Services: Inhalt

Web Services: Inhalt Web Services Fachseminar Verteilte Systeme 8. April 2002 - Marco Steiner Assistent: Thomas Schoch Professor: Dr. F. Mattern Web Services: Inhalt Bedeutung Gegenwart Architektur SOAP WSDL UDDI Vergleich

Mehr

Software Reuse Sommer 2004

Software Reuse Sommer 2004 8. Web Services Peter Sturm Universität Trier Ausgangspunkt Client/Server-Systeme Traditioneller RPC OO-Pendant RMI (CORBA) Probleme Installationbedarf auf Clientseite Aufwendige Installation auf Serverseite

Mehr

SOA, Webservices und SOAP für Schnelleinsteiger

SOA, Webservices und SOAP für Schnelleinsteiger SOA, Webservices und SOAP für Schnelleinsteiger (C)opyright 2005 by Jochen Vajda Inhalt Einführung I. Was ist SOA? II. Webservices, SOAP und WSDL SOAP mit PHP5 I. Benötigte Komponenten II. Client ohne

Mehr

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

WSDL. Web Services Description Language. André Vorbach. André Vorbach André Vorbach WSDL Web Services Description Language André Vorbach Übersicht Was ist WSDL? Dokumentenstruktur Elemente Definitions Types Messages porttype Binding Service SOAP-Bindings Beispiel Was ist

Mehr

WebServices Zwischen Buzzword und Nutzen

WebServices Zwischen Buzzword und Nutzen WebServices Zwischen Buzzword und Nutzen Tobias Koenig Übersicht Webservices Allgemein WSDL Anwendungsbeispiele Programmierung Perl Python C++/KDE Zusammenfassung LUG Dresden 2005 p.1 Webservices Trennung

Mehr

Definition Web Service

Definition Web Service Gliederung Einführung Definition Web Service Drei Schhichtenmodell Architectural Model System Model Web Service Standards SOAP WSDL UDDI Types of Web Services Programmatic Web Services Interactive Web

Mehr

Webservices Ein Vortrag von:

Webservices Ein Vortrag von: Webservices Ein Vortrag von: Andreas Münstermann Michael Reiher Markus Buschky Gliederung Einführung in Webservices Technische Grundlagen SOAP UDDI WSDL Sicherheitskonzepte Blick in die Zukunft Einführung

Mehr

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

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL Seminar E-Services WS 02/03 WSDL Web Services Description Language SES 02 - WSDL Zum Ablauf Einleitung Webservices und WSDL Grundlagen (XML - Schema und Namespaces) WSDL Syntax Beispiel Zusammenfassung

Mehr

XML-RPC, SOAP und Web Services. Jörn Clausen joern@techfak.uni-bielefeld.de

XML-RPC, SOAP und Web Services. Jörn Clausen joern@techfak.uni-bielefeld.de XML-RPC, SOAP und Web Services Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Was ist RPC? Was hat XML mit RPC zu tun? Was sind XML-RPC und SOAP? Was sind Web Services? Wird das die Welt retten?

Mehr

Motivation. Web Services in der Bioinformatik. Web Services. Motivation (2) Definition

Motivation. Web Services in der Bioinformatik. Web Services. Motivation (2) Definition Web Services in der Bioinformatik 1. Motivation 2. Web Services - Definition - Funktionsweise - Umsetzung (WSDL, SOAP, UDDI) 3. Beispiele - XEMBL - OpenBQS - OmniGene 4. Zusammenfassung Situation: Viele

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

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

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java von Christian Brand Kennnummer: 09376 November 2005 Abkürzungen Abkürzungen API - Application Programming Interface

Mehr

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

WSDL. 7363 - Web-basierte Anwendungen WSDL WSDL. Eine Vertiefungsveranstaltung mit Schwerpunkt auf XML-Technologien. Web Services Description Language Fachhochschule Wiesbaden - Fachhochschule Wiesbaden - 7363 - Web-basierte Anwendungen Eine Vertiefungsveranstaltung mit Schwerpunkt auf XML-Technologien Web Services Description Language 10.06.2004 H.

Mehr

SOAP. SOAP: Envelope

SOAP. SOAP: Envelope 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

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

Web Service Entwicklung mit Java. Sven Lindow

Web Service Entwicklung mit Java. Sven Lindow Web Service Entwicklung mit Java Sven Lindow 22.11.2006 Agenda Einleitung SOAP, REST, WSDL, UDDI Web Services mit Java JWSDP JAX-RPC, JAX-WS 2.0 AXIS, AXIS2 Web Services nutzen Google, Ebay Web Services

Mehr

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 12.09.2002 J.M.Joller 1

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 12.09.2002 J.M.Joller 1 Web Services XML, WSDL, SOAP und UDDI Einblicke und Ausblicke 12.09.2002 J.M.Joller 1 Beschreibung Zugriff auf Web Services - SOAP Inhalt Einleitendes Beispiel Die SOAP Spezifikation SOAP Envelope SOAP

Mehr

Netzprogrammierung Web-Dienste

Netzprogrammierung Web-Dienste Netzprogrammierung Web-Dienste Robert Tolksdorf und Mitarbeiter und Peter Löhr Überblick 1. Was sind Web-Dienste? 3 2. WSDL 13 3. Axis 20 4. SOAP 23 5. SOAP und HTTP 30 6. Zusammenfassung 36 Robert Tolksdorf

Mehr

Java Web Services. Seminarunterlage. Version 4.02 vom

Java Web Services. Seminarunterlage. Version 4.02 vom Seminarunterlage Version: 4.02 Version 4.02 vom 4. September 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

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

Web Services and Semantic Web - Introduction to Web Services. von Andreas Weiler Web Services and Semantic Web - Introduction to Web Services von Andreas Weiler Definitionen Beispiele Technologien Vorteile Kritik Abschlussbeurteilung Fragen? Definition von IBM: Web services are a new

Mehr

5. Übung zur Vorlesung Service-orientierte Architekturen

5. Übung zur Vorlesung Service-orientierte Architekturen 5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter

Mehr

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

SOAP, WSDL, UDDI. Martin Grimmer. Proseminar: Die Zukunft der Softwareentwicklung: Komponentensysteme/Web Services Vortrag 1 am 21.06. Proseminar: Die Zukunft der Softwareentwicklung: Komponentensysteme/Web Services Vortrag 1 am 21.06.2006 Betreuer: Dipl.-Inform. Andreas Both Lehrstuhl Softwaretechnik und Programmiersprachen, Institut

Mehr

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

Mehr

Auszug aus JAX-WS Folien

Auszug aus JAX-WS Folien Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen

Mehr

Architektur von SOAP basierten Web Services

Architektur von SOAP basierten Web Services Architektur von SOAP basierten Web Services André Homeyer 28.11.2005 Worst-Case einer verteilten Anwendung TravelTime Client Benutzerinterface WackyWing Server Flüge suchen TravelTime Server Flüge suchen

Mehr

3-schichtige Informationssystem-Architektur

3-schichtige Informationssystem-Architektur 3-schichtige Informationssystem-Architektur plattformunabhängig beliebige Endgeräte Client als Applikation & Applet XML über SOAP Standard plattformunabhängig objektorientierte Architektur multiuserfähig

Mehr

ist mein ebusiness skalierbar und verfügbar?

ist mein ebusiness skalierbar und verfügbar? 12-1 ist mein ebusiness skalierbar und verfügbar? Datenbank HTML client HTTP Internet HTTP Web Application Server Web Server Anforderungen: - Verfügbarkeit - Skalierbarkeit - Performance - Sicherheit HTML

Mehr

Web-Sevices : WSDL Entwicklung von Web-Anwendungen

Web-Sevices : WSDL Entwicklung von Web-Anwendungen Web-Sevices : WSDL Entwicklung von Web-Anwendungen Axel Reusch : ar047 MIB page 1 : 50 Agenda! Allgemeines! Prinzip! Anwendung! Details! WSDL und SOAP! Beispiel mit Java! Erweiterungen! Vorteile! Nachteile!

Mehr

Übersicht. Projekt DB-basierte, mobile Systeme. Übersicht. Was sind Web Services? Web Service - Kompakt. Warum das Rad neu erfinden?!

Übersicht. Projekt DB-basierte, mobile Systeme. Übersicht. Was sind Web Services? Web Service - Kompakt. Warum das Rad neu erfinden?! Übersicht HTML Projekt DB-basierte, mobile Systeme JAX-RPC via SOAP Aufgabenblatt 4 Web Services Übersicht Was sind Web Services? "A web service is any service that is available over the Internet, uses

Mehr

WebServices -reloaded-

WebServices -reloaded- WebServices -reloaded- Jan Krüger Bielefeld Bioinformatics Service Institute of Bioinformatics CeBiTec Bielefeld University jkrueger@techfak.uni-bielefeld.de 3 Juli 2007 Übersicht Motivation Was sind WebServices?

Mehr

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

XML-RPC & SOAP. Sven Heß & Fabio Caprera Systemprogrammierung SS 08 XML-RPC & SOAP & Fabio Caprera Systemprogrammierung SS 08 Inhalt XML-RPC Überblick Entstehung Konzept Fehlerbehandlung Vor- und Nachteile SOAP Überblick Entstehung Konzept Fehlerbehandlung Vor- und Nachteile

Mehr

Termin 4: Web Services Computing

Termin 4: Web Services Computing Arbeitsgruppe Übung Netzbasierte Informationssysteme Termin 4: Web Services Computing Prof. Dr. Adrian Paschke Arbeitsgruppe Corporate Semantic Web (AG-CSW) Institut für Informatik, Freie Universität Berlin

Mehr

Asynchrone Webservices mit Axis 1.x in Java

Asynchrone Webservices mit Axis 1.x in Java Asynchrone Webservices mit Axis 1.x in Java 1. Übersicht Architektur Da Webservices nach relativ kurzen Timeouts Anfragen abgearbeitet haben müsse, sind komplexe Anfragen wie sie in der Bioinformatik üblich

Mehr

SOAP Simple Object Access Protocol

SOAP Simple Object Access Protocol Informatikseminar Tobias Briel Überblick 1. Einführung - was ist? 2. Middlewaretechnologie 3. Aufbau von Nachrichten 4. Vergleiche 5. Beispielanwendung 6. Zusammenfassung 1 Einführung was ist Soap? neue

Mehr

wsdl-analyse von hand kein normaler mensch macht das am beispiel currencyconverter

wsdl-analyse von hand kein normaler mensch macht das am beispiel currencyconverter wsdl-analyse von hand kein normaler mensch macht das am beispiel currencyconverter worgtsone.scienceontheweb.com - mailto: worgtsone @ hush.com 2013-10-18 18. Oktober 2013 Inhaltsverzeichnis 1 Intro 1

Mehr

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek Speaker Andreas Holubek VP Engineering andreas.holubek@arlanis.com arlanis Software AG, D-14467 Potsdam 2009, arlanis

Mehr

Web Services. Eine kleine Einführung. Werner Gaulke 7.2.2007

Web Services. Eine kleine Einführung. Werner Gaulke 7.2.2007 Eine kleine Einführung 7.2.2007 Idee Aufbau WS WSDL im Detail SOAP im Detail und Java Zusammenfassung & Ausblick Outline 1 Idee Idee hinter? 2 Aufbau WS Schichtenmodell und Standards 3 WSDL im Detail WSDL

Mehr

Java Web Services Metadata JSR-181

Java Web Services Metadata JSR-181 Java Web Services Metadata JSR-181 Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Albertus-Magnus-Str.

Mehr

Arten von Broker Architekturen

Arten von Broker Architekturen Arten von Broker Architekturen Common Object Request Broker Architecture (CORBA) Entworfen von Object Management Group (OMG) Für Datenaustausch und Kommunikation zwischen Komponenten verschiedener Programmiersprachen

Mehr

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer *Was sind Web Services? *Beispiele für Web Services *Web Service Architektur *Web Services Technologien *Fazit 2 *Übertragungsstandard

Mehr

Web-Services Grundlagen

Web-Services Grundlagen Web-Services Grundlagen Praktikum Informationsintegration 1.11.2005 Agenda Aktueller Stand Was sind Web-Services? Allgemeines Web-Service-Technologien SOAP WSDL 2 Umgebung (Korrektur) Rechner/Server mangold.informatik.hu-berlin.de

Mehr

FuE-Bereich IuK-Systeme im Gesundheitswesen

FuE-Bereich IuK-Systeme im Gesundheitswesen FuE-Bereich IuK-Systeme im Gesundheitswesen IG XML und Web Services Dipl.-Inform. Axel Schwolow IG Kommunikation im Web Entwicklung früher ausschließlich Kommunikation über Browser heute zunehmend direkt

Mehr

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

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

SOA mit.net: Vom Geschäftsprozess zur Lösung

SOA mit.net: Vom Geschäftsprozess zur Lösung SOA mit.net: Vom Geschäftsprozess zur Lösung Manfred Steyer Aktuelles Buch.Net 4.0 Update ISBN 978-3866454439 http://tinyurl.com/net4update 1 Kontakt [www] www.softwarearchitekt.at [mail] Manfred.Steyer@SoftwareArchitekt.at

Mehr

10.1 Remote Method Invocation (RMI)

10.1 Remote Method Invocation (RMI) 10.1 Remote Method Invocation (RMI) Verteilte Java Anwendungen Methodenaufrufe auf Fremdobjekten (remote objects) Object Serialization Typen bleiben erhalten Package java.rmi (und andere) Vorläufige Version

Mehr

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

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm Web Services Boto Bako Inhaltsverzeichnis 1.Einführung und Motivation...3 2.Verwendete Standards...4 2.1.SOAP...5 2.2.WSDL...6

Mehr

XML und SOAP Einführung und Grundlagen

XML und SOAP Einführung und Grundlagen XML und SOAP Einführung und Grundlagen Matthias Böhmer 16.12.2005 Agenda 1. XML 2. SOAP 3. Seife im Buchladen?! E-Commerce :: XML und SOAP Matthias Böhmer 16.12.2005 2 XML :: Einführung (1) extensible

Mehr

Service Oriented Architecture. Hanno Wunderlich SWT-Projekt WS07/08

Service Oriented Architecture. Hanno Wunderlich SWT-Projekt WS07/08 Service Oriented Architecture Hanno Wunderlich SWT-Projekt WS07/08 1 Agenda Einführung SOA / Webservices Standards und Technologien hinter SOA/Webservices Beispiel für SOA SOA in unserem Projekt 2 Einführung

Mehr

Markus Schulz Seminar: XML für Fortgeschrittene 30.06.2003

Markus Schulz Seminar: XML für Fortgeschrittene 30.06.2003 Markus Schulz Seminar: XML für Fortgeschrittene 30.06.2003 Vortragsgliederung 1. Motivation 2.-8. WS : Definition, Ansatz, Architektur,... 9.x. SOAP : Definition, Geschichte,... 10.x.x. WSDL : siehe oben...

Mehr

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

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2) Referat im Rahmen des Proseminars Internettechnologie WS 2007/2008 Thema: Web Services und serviceorientierte Architekturen (SOA) vorgelegt von: Intelligente Web Services sind für das Informationszeitalter,

Mehr

XML Vorlesung ETHZ SS 2006 27.6.2006. XML Vorlesung ETHZ, Sommersemester 2006. http://dret.net/lectures/xml-ss06/

XML Vorlesung ETHZ SS 2006 27.6.2006. XML Vorlesung ETHZ, Sommersemester 2006. http://dret.net/lectures/xml-ss06/ XML Vorlesung ETHZ, Sommersemester 2006 Web Services Erik Wilde 27.6.2006 http://dret.net/lectures/xml-ss06/ 27.6.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht XML als Präsentationsschicht Vergleich mit

Mehr

SOAP und WSDL in der Praxis. Wie wird SOAP/WSDL verwendet? Heutige Vorlesung. .net. und Apache Axis

SOAP und WSDL in der Praxis. Wie wird SOAP/WSDL verwendet? Heutige Vorlesung. .net. und Apache Axis Heutige Vorlesung SOAP und WSDL in der Praxis Aufbau von WSDL-Beschreibungen Protokoll-Bindungen in WSDL Google-WSDL lesen und erweitern können Vor- und Nachteile von WSDL heute Wie wird SOAP/WSDL verwendet?.net,

Mehr

5. Web-Services. Kommunikation zwischen Client und Server über XML-Format SOAP

5. Web-Services. Kommunikation zwischen Client und Server über XML-Format SOAP 1 5. Web-Services Kommunikation zwischen Client und Server über XML-Format SOAP Client SOAP Server Beschreibung von Webservices in WSDL (Web Services Description Language) Web Service Protokollstapel Suche

Mehr

Inhalt. ! Einführung. ! Model/Architektur und Protokoll-Stack. ! Begriffe XML-RPC, SOAP, WSDL und UDDI. ! Web Services Ablauf (Anhand eines Beispiels)

Inhalt. ! Einführung. ! Model/Architektur und Protokoll-Stack. ! Begriffe XML-RPC, SOAP, WSDL und UDDI. ! Web Services Ablauf (Anhand eines Beispiels) Webtechnologien - webt Web Services webt web services zeman, feisthammel, marti, burkert 04/2004 1 webt web services zeman, feisthammel, marti, burkert 04/2004 2 Verteilte Software-Systeme Ziel Protokolle,

Mehr

epayment Leistungen des Bundes einfach, schnell und sicher bezahlen mit Payment Eine Idee mit Zukunft 17.05.2005 1

epayment Leistungen des Bundes einfach, schnell und sicher bezahlen mit Payment Eine Idee mit Zukunft 17.05.2005 1 epayment Leistungen des Bundes einfach, schnell und sicher bezahlen mit Payment Eine Idee mit Zukunft 17.05.2005 1 Übersicht Internet eshop n... Leistungen des Bundes Rechnung Lastschrift Einzelüberweisung

Mehr

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.

Mehr

Die Technik hinter Web Services. Wie baut man einen Web Service? Was sind die technischen Details von WSDL, SOAP und UDDI?

Die Technik hinter Web Services. Wie baut man einen Web Service? Was sind die technischen Details von WSDL, SOAP und UDDI? Die Technik hinter Web Services Wie baut man einen Web Service? Was sind die technischen Details von WSDL, SOAP und UDDI? Folie 1 / 47 Themen Beschreibung des Beispiels Exkurs: XML Beschreibung eines Web

Mehr

Norm 410 Security Token Service

Norm 410 Security Token Service 1 Norm 410 Security Token Service 2 3 4 Release und Version Release 2 Version 2.5.0 (2.4.0) vom 25.04.2013, NAUS-Beschluss vom 14.06.2012 5 6 7 8 9 10 Status Arbeitsentwurf vom 12.08.2008 Potenzielle Norm

Mehr

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle. Java und XML/XML und Java Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de XML und Programmiersprachen... Java ist... Programmiersprache

Mehr

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

Web-Applications mit SOAP und RSS. Vortrag 8, Jonas Mitschang, 15.6.2005 Web-Applications mit SOAP und RSS Vortrag 8, Jonas Mitschang, 15.6.2005 Inhalt Motivation Web Applications / Web Services SOAP - Simple Object Access Protocol RSS - Really Simple Syndication Bewertung

Mehr

SMS-API. Sloono Schnittstellenbeschreibung. Version 1.2 Stand 22.10.2014

SMS-API. Sloono Schnittstellenbeschreibung. Version 1.2 Stand 22.10.2014 SMS-API Sloono Schnittstellenbeschreibung Version 1.2 Stand 22.10.2014 Diese Seiten über die SLOONO-APIs sollen Ihnen helfen SLOONO in Ihre bestehenden Anwendungen zu integrieren oder neue Anwendungen

Mehr

SOA Guidelines. Service Contract Design mit der Web Service Description Language (WSDL) Guido Schmutz Technology Manager

SOA Guidelines. Service Contract Design mit der Web Service Description Language (WSDL) Guido Schmutz Technology Manager http://www.ibm.com/developerworks/xml/library/ws-tip-headers/index.html SOA Guidelines Service Contract Design mit der Web Service Description Language (WSDL) Guido Schmutz Technology Manager Version 1.0

Mehr

Affiliate SOAP-Schnittstelle

Affiliate SOAP-Schnittstelle Affiliate SOAP-Schnittstelle Inhalt: SOAP-Statistik - Schnittstellenbeschreibung - URI - Methode - Authentifizierung - Detaillierte Beschreibung des Soap-Service - Suchen von Transaktionsdaten - Statistiken

Mehr

Theorie und Praxis einer JSON-RPC-basierten Web-API

Theorie und Praxis einer JSON-RPC-basierten Web-API Theorie und Praxis einer JSON-RPC-basierten Web-API Christian Krause Christian.Krause@raritan.com Raritan Deutschland GmbH Chemnitzer LinuxTage 2015 Gliederung 1 2 Remote Procedure Call Interface Definition

Mehr

1 Web Service Techniken (2)

1 Web Service Techniken (2) 1 Web Service Techniken (2) K.3 Web Services Anforderungen an Web-Service-Techniken system- und programmiersprachen-unabhängige Interoperabilität unabhängige Schnittstellenbeschreibungen Dienste zur Lokalisierung

Mehr

Web- und Gridservices zur Überwindung von Heterogenität. Bearbeiter: Lei Xia 16.07.2004

Web- und Gridservices zur Überwindung von Heterogenität. Bearbeiter: Lei Xia 16.07.2004 Web- und Gridservices zur Überwindung von Heterogenität Bearbeiter: Lei Xia 16.07.2004 Gliederung Einleitung Formen von Heterogenität Grundlagen Web Services als Schnittstelle zu DBMS Grid Data Services

Mehr

Apache AXIS Architektur

Apache AXIS Architektur In diesem Kapitel Um was geht s? Axis Architektur Eine Übersicht Subsysteme Message Flow Handlers und Chains (Handler Ketten) Message Contexts Adminstratives Subsystem SOAP Message Modell Subsystem Message

Mehr

XML Schema vs. Relax NG

XML Schema vs. Relax NG XML Schema vs. Relax NG p. 1/2 XML Schema vs. Relax NG Semistrukturierten Daten 1 Präsentation der Gruppe 2 XML Schema vs. Relax NG p. 2/2 Wozu XML Schema? W3C Empfehlung zur Definition von XML-Dokumentstrukturen

Mehr

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr

Zustandsgebundene Webservices

Zustandsgebundene Webservices Zustandsgebundene Webservices Präsentation ausgewählter Problemstellungen der Informatik Markus Oertel oer@uni-paderborn.de Universität Paderborn 25. September 2005 Zustandsgebundene Webservices Seite

Mehr

An Geschäftsprozessen ausgerichtete IT- Infrastruktur. In SOA werden Services (Dienste) lose miteinander verbunden.

An Geschäftsprozessen ausgerichtete IT- Infrastruktur. In SOA werden Services (Dienste) lose miteinander verbunden. SOA - Service Oriented Architecture An Geschäftsprozessen ausgerichtete IT- Infrastruktur. In SOA werden Services (Dienste) lose miteinander verbunden. Service Provider (bietet den Dienst an) Service Consumer

Mehr

Thema: Web Services. Was ist ein Web Service?

Thema: Web Services. Was ist ein Web Service? Willkommen zum Component Ware Seminar Thema: Achim Grimm & Fabian Unterschütz Folie 1 Was ist ein Web Service? Web Services sind selbstbeschreibende, modulare Softwarekomponenten im Internet, die sich

Mehr

Norm 225 Service Definition mit WSDL

Norm 225 Service Definition mit WSDL 1 Norm 225 Service Definition mit WSDL 2 3 Release und Version Release 1, Version 2.0, vom 19. Juni 2007 4 5 Status Offizielle Norm 6 7 Editor Dr. Torsten Schmale, inubit AG 8 9 10 11 12 13 14 15 16 17

Mehr

VS11 Slide 1. Verteilte Systeme. Vorlesung 11 Sebastian Iwanowski FH Wedel

VS11 Slide 1. Verteilte Systeme. Vorlesung 11 Sebastian Iwanowski FH Wedel VS11 Slide 1 Verteilte Systeme Vorlesung 11 Sebastian Iwanowski FH Wedel VS11 Slide 2 Verteilte Systeme 1. Innovative Beispiele aus der Praxis 2. Allgemeine Anforderungen und Techniken verteilter Systeme

Mehr

1 Web Service Techniken (2)

1 Web Service Techniken (2) 1 Web Service Techniken (2) K.3 Web Services Anforderungen an Web-Service-Techniken system- und programmiersprachen-unabhängige Interoperabilität unabhängige Schnittstellenbeschreibungen Dienste zur Lokalisierung

Mehr

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

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP) Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats

Mehr

Organisatorisches. 1. Übung zur Vorlesung "Einführung in Verteilte Systeme" Inhalt. Termine. Wintersemester 2005/06. Thema: Web Services.

Organisatorisches. 1. Übung zur Vorlesung Einführung in Verteilte Systeme Inhalt. Termine. Wintersemester 2005/06. Thema: Web Services. 1. Übung zur Vorlesung "Einführung in Verteilte Systeme" Wintersemester 2005/06 Thema: Web Services Ulf Rerrer Institut für Informatik Universität Paderborn Übungsgruppenleiter: Ulf Rerrer F2.104 Tel.

Mehr

Web-Services Implementierung mit Java

Web-Services Implementierung mit Java Web-Services Implementierung mit Java J. Heinzelreiter WS 2004/05 Java-APIs für Web-Services (1) Anwendungs-Code JAXR JAXM JAX-RPC SAAJ SOAP/SwA JWSDL WSDL XML/XML-Schema Web-Services/Java - 2 Java-APIs

Mehr

Middleware. im Schweinsgalopp

Middleware. im Schweinsgalopp Middleware im Schweinsgalopp 1 Szenario Unternehmen verwendet SAP als ERP-System wickelt Versand über Dienstleister, hier UPS ab UPS bietet Verfolgung der Lieferung über Web- Schnittstelle Daten im ERP

Mehr

Tutorial: Web Services. Was ist das? Wozu sind Web Services nützlich? Wie implementiere ich eigene Web Services

Tutorial: Web Services. Was ist das? Wozu sind Web Services nützlich? Wie implementiere ich eigene Web Services Tutorial: Web Services Was ist das? Wozu sind Web Services nützlich? Wie implementiere ich eigene Web Services Bei Web Services handelt es sich um Softwarebausteine, die auf verschiedenen Netzwerkrechnern

Mehr

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling Open-Xchange Authentication & Sessionhandling Version Date Author Changes 1.0 28.08.2006 Stephan Martin Initiale Version 1.1 29.08.2006 Marcus Klein Details Authentication via JSON 1.2 04.09.2006 Stephan

Mehr

Service Contract Handling. Best-Practices zum Umgang mit Service Contract Artefakten (WSDL) in Oracle SOA Suite 11g

Service Contract Handling. Best-Practices zum Umgang mit Service Contract Artefakten (WSDL) in Oracle SOA Suite 11g Service Contract Handling Best-Practices zum Umgang mit Service Contract Artefakten (WSDL) in Oracle SOA Suite 11g Matthias Furrer Principal Consultant November 2013 Dieses Dokument beschreibt allgemeine

Mehr

5. Web-Services. Kommunikation zwischen Client und Server über XML-Format SOAP

5. Web-Services. Kommunikation zwischen Client und Server über XML-Format SOAP 1 5. Web-Services Kommunikation zwischen Client und Server über XML-Format SOAP Client SOAP Server Beschreibung von Webservices in WSDL (Web Services Description Language) Web Service Protokollstapel Suche

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Web-Konzepte für das Internet der Dinge Ein Überblick

Web-Konzepte für das Internet der Dinge Ein Überblick Web-Konzepte für das Internet der Dinge Ein Überblick Samuel Wieland sawielan@student.ethz.ch ETH Zürich Seminar Das Internet der Dinge Historisches Tim Berners-Lee Erster Web-Server Bildquelle: Wikimedia

Mehr

XML Vorlesung ETHZ SS 2006 27.6.2006. 27.6.2006 XML Vorlesung ETHZ SS 2006 2. 27.6.2006 XML Vorlesung ETHZ SS 2006 4

XML Vorlesung ETHZ SS 2006 27.6.2006. 27.6.2006 XML Vorlesung ETHZ SS 2006 2. 27.6.2006 XML Vorlesung ETHZ SS 2006 4 XML Vorlesung ETHZ, Sommersemester 2006 Web Services Erik Wilde 27.6.2006 http://dret.net/lectures/xml-ss06/ Übersicht XML als Präsentationsschicht Vergleich mit dem OSI Referenzmodell Abstract Syntax

Mehr

Service-Oriented Architecture (SOA) [1]

Service-Oriented Architecture (SOA) [1] Verteilte Systeme SoSe 2007 Service-Oriented Architecture und Web Services Service-Oriented Architecture (SOA) [1] Ziel: Entwicklung einer robusten Architektur zur einfachen, schnellen und sicheren Integration

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

SOAP Schnittstelle von SHAB/Simap/KAB ZH. Version 3.0

SOAP Schnittstelle von SHAB/Simap/KAB ZH. Version 3.0 SOAP Schnittstelle von SHAB/Simap/KAB ZH Version 3.0 Inhaltsverzeichnis 1 Einleitung... 4 2 Beschreibung... 5 2.1 Voraussetzung für die Benutzung des Webservice... 5 2.2 Der Soapserver... 5 2.3 Aufruf

Mehr