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

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

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

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

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

Basistechnologien: Web-Services

Basistechnologien: Web-Services Alexander Rudolf Cloud-Computing Seminar Hochschule Mannheim WS0910 1/29 Basistechnologien: Web-Services Alexander Rudolf Hochschule Mannheim Fakultät für Informatik alexander.rudolf@stud.hs-mannheim.de

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

.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

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

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

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

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

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

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

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

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

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

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

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

Web Services. Dr. Wolfgang Süß

Web Services. Dr. Wolfgang Süß Service-orientierte Architektur (SOA) Architekturkonzept, da sich aus Diensten zusammensetzt. 3 Komponenten: Konnektoren: register Registrierung eines Dienstes bei einer Registry find Suchanfrage eines

Mehr

Web Services. JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network. Institut für Systemsoftware, Johannes Kepler Universität Linz

Web Services. JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network. Institut für Systemsoftware, Johannes Kepler Universität Linz Web Services JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network Pratikum SWE 2 Institut für Systemsoftware, Johannes Kepler Universität Linz Web Services Einführung Web-Services in Java JAXB

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

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

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

Friedrich. Kiltz. Java Webservices

Friedrich. Kiltz. Java Webservices Friedrich Kiltz Java Webservices Symbole.NET 379 @Action 279, 423 @Addressing 372 @BindingType 416 @Consumes 87 @Context 82, 88 @CookieParam 82, 88 @DefaultValue 82, 88 @DELETE 87 @Encoded 82, 88 @Endpoint

Mehr

Die JAX-WS API. Eine Einführung. Ali-Riza Ciftcioglu 17.06.2010. 1 Einführung 1 1.1 Unterstützte WS-*-Standards... 1

Die JAX-WS API. Eine Einführung. Ali-Riza Ciftcioglu 17.06.2010. 1 Einführung 1 1.1 Unterstützte WS-*-Standards... 1 Fachhochschule Gießen-Friedberg Fachbereich Mathematik, Naturwissenschaften und Informatik Die JAX-WS API Eine Einführung Ali-Riza Ciftcioglu 17.06.2010 Inhaltsverzeichnis 1 Einführung 1 1.1 Unterstützte

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

Vorlesung - Web Services

Vorlesung - Web Services Vorlesung - IVS Arbeitsgruppe Softwaretechnik Abschnitt 3.1.3 Grundlegende Web Service Technologien Seite 1 - Übersicht UDDI WSDL Requester SOAP over HTTP Provider Seite 2 - Übersicht A web service is

Mehr

WebService-Architekturen

WebService-Architekturen WebService-Architekturen W12 Mario Jeckle mario.jeckle jeckle@daimlerchrysler.comcom DaimlerChrysler Forschungszentrum Ulm Inhaltsübersicht WebService was ist das? Dienstanbieter (Service Provider) Dienstnachfrager

Mehr

Dienstorientierte Integration und Web Services

Dienstorientierte Integration und Web Services Forschungszentrum Informatik Universität Karlsruhe (TH) Information Process Engineering Dienstorientierte Integration und Web Services Andreas Schmidt WS 2009/10 Programm Dienstorientierte Integration

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

PS Distributed Systems

PS Distributed Systems PS Distributed Systems Patricia Derler 02.04.2008 Schedule Mo Tue Wed Thu Fr Sat Sun 31.3. 6.4. 2.4. 7.4. 13.4. 9.4. 14.4. 20.4. 21.4. 27.4. 23.4. 28.4. 4.5. 5.5. 11.5. 7.5. 12.5. 18.5. 19.5. 25.5. 21.5.

Mehr

9.7 Web-Dienste. Web Server für beliebig programmierte Dienste einsetzen, d.h. Web als Middleware

9.7 Web-Dienste. Web Server für beliebig programmierte Dienste einsetzen, d.h. Web als Middleware 9.7 Web-Dienste Idee: Web Server für beliebig programmierte Dienste einsetzen, d.h. Web als Middleware Warum? Allgegenwart des Web verspricht allgemeine Akzeptanz in heterogener Welt (statt CORBA,.NET,...)

Mehr

KompaSbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AXribuSerung. Mehr Spielraum auf Transportebene

KompaSbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AXribuSerung. Mehr Spielraum auf Transportebene Komponenten WCF (.NET Framework) WCF Verfeinerung und Reifung der ursprünglichen Version Geringere Unterschiede zu ASMX 2.0 (.NET 2.0) + WSE 3.0 Schwerpunkte KompaSbilität zu Standards (WS- I) Contracts

Mehr

Seminar-Ausarbeitung: Web Services

Seminar-Ausarbeitung: Web Services Seminar-Ausarbeitung: Web Services Reinhold Rumberger Institute of Architecture of Application Systems (IAAS), University of Stuttgart rumberrd@studi.informatik.uni-stuttgart.de Inhaltsverzeichnis 1 Einleitung....................................................

Mehr

Service-Orientierte Architekturen

Service-Orientierte Architekturen Hochschule Bonn-Rhein-Sieg Service-Orientierte Architekturen Kapitel 4: Web Services I Vorlesung im Masterstudiengang Informatik Sommersemester 2010 Prof. Dr. Sascha Alda (sascha.alda@h-brs.de) (Vorläufiger)

Mehr

Vorlesung "SOA Entwicklung verteilter Systeme auf Basis serviceorientierter Architekturen" 3. Implementierung von Web Services und Clients

Vorlesung SOA Entwicklung verteilter Systeme auf Basis serviceorientierter Architekturen 3. Implementierung von Web Services und Clients Vorlesung "SOA Entwicklung verteilter Systeme auf Basis serviceorientierter Architekturen" 3. Implementierung von Web Services und Clients Gliederung Nutzung von Web Services zur Umsetzung von SOA Anwendungsszenario

Mehr

.NET und wieder eine Middleware Architektur?

.NET und wieder eine Middleware Architektur? .NET und wieder eine Middleware Architektur? Volker Birk CCC ERFA Ulm vb@ebios.de Volker Birk, vb@ebios.de 1 .NET na und?.net soll die Architektur im Internet werden meint Microsoft. Genau so wie Windows?.NET

Mehr

Grundlagen des Grid Computing

Grundlagen des Grid Computing Grundlagen des Grid Computing Webservices und Grid Computing Globus Toolkit 4 - Grundlagen ICA Joh.. Kepler Universität t Linz Eine Typische Grid-Applikation (Beispiel) VO Management Service Resource Discovery

Mehr

Oliver Olbrich Das ebxml Projekt Entstand 1999 in einer gemeinsamen Initiative von OASIS (Organisation for the Advancement of Structured Information Standards) und UN/CEAFACT (United Nations Center for

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Service Oriented Architecture Teil 2. Web Services

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Service Oriented Architecture Teil 2. Web Services UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Service Oriented Architecture Teil 2 Web Services el0100 copyright W. G. Spruth, wgs 04-09

Mehr

Interface Spezifikation exotargets LS

Interface Spezifikation exotargets LS Interface Spezifikation exotargets LS Einführung Inhaltsverzeichnis Inhaltsverzeichnis Inhalt 1. Einführung 3 2. History 3 3. Online-Schnittstelle 3 4. Offline-Schnittstelle 6 5. Implementationshinweise

Mehr

Web-Services Grundlagen

Web-Services Grundlagen Web-Services Grundlagen J. Heinzelreiter WS 2004/05 Web-Services: Definition A web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using

Mehr

Java Forum Stuttgart 2008

Java Forum Stuttgart 2008 Professionelle Open Source SOA in 45 Minuten! Java Forum Stuttgart 2008 Dr. Halil-Cem Gürsoy, CDI AG Der Referent Insgesamt ca. 10 Jahre Beratung, davor Forschung Senior Consultant - JEE Evangelist Hauptsächlich

Mehr

Enterprise Java Beans Einführung

Enterprise Java Beans Einführung Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse

Mehr

SAP NetWeaver Gateway. Connectivity@SNAP 2013

SAP NetWeaver Gateway. Connectivity@SNAP 2013 SAP NetWeaver Gateway Connectivity@SNAP 2013 Neue Wege im Unternehmen Neue Geräte und Usererfahrungen Technische Innovationen in Unternehmen Wachsende Gemeinschaft an Entwicklern Ausdehnung der Geschäftsdaten

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

XML- RPC = WebService

XML- RPC = WebService XML- RPC = WebService Kapitel 8 Komponententechnologien Bisher: 99% Programmieren Feste APIs System- Call- Schnittstelle zum Kernel Bibliotheksfunktionen Eventuell proprietäre Konfiguration Nativ oder

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

WebServices: Kommunikation

WebServices: Kommunikation WebServices: Kommunikation WS Basiskomponenten & Rollen SOAP XML-RPC SOAP XML-RPC WS-Kommunikations Paradigmen Kommunikation nicht an bestimmte Level5-Protokolle gebunden Üblicherweise jedoch: SOAP XML-RPC

Mehr

Java für Computerlinguisten

Java für Computerlinguisten Java für Computerlinguisten 2. Objektorientierte Programmierung Christian Scheible Institut für Maschinelle Sprachverarbeitung 28. Juli 2009 Christian Scheible Java für Computerlinguisten 28. Juli 2009

Mehr

SLA4D-Grid! Einführung, Konzepte und Ergebnisse

SLA4D-Grid! Einführung, Konzepte und Ergebnisse Service Level Agreements for D-Grid SLA4D-Grid! Einführung, Konzepte und Ergebnisse Philipp Wieder, Service Computing, TU Dortmund SLAs in Grid und Cloud Workshop 09. September 2010, Karlsruhe, DE http://www.sla4d-grid.de

Mehr

Der zukünftige SOAP-Standard des W3C

Der zukünftige SOAP-Standard des W3C Der zukünftige SOAP-Standard des W3C Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de Gliederung I Herausforderung: Kommunikation in heterogenen

Mehr

Block Web-Dienste. Beispiel: ohne Browser. ohne Browser. Beispiel: Definition

Block Web-Dienste. Beispiel: ohne Browser. ohne Browser. Beispiel: Definition Block Web-Dienste Web-Dienste Klaus Schild, 2004 1 heutige Vorlesung Was sind Web-Dienste (Web Services)? diensteorientierte Architekturen Was ist SOAP, WSDL und UDDI? Entfernte Prozeduraufrufe (RPCs)

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste

Mehr

XML- und Webservice- Sicherheit

XML- und Webservice- Sicherheit XML- und Webservice- Sicherheit 3. Web Service Security 3.2 WS-Security Erweiterungsstandards Gliederung 1. WSDL 2. WS-Policy 3. WS-SecurityPolicy Literatur: J. Rosenberg and D. Remy, Securing Web Services

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Auszug aus Axis2 Schulung

Auszug aus Axis2 Schulung Auszug aus Axis2 Schulung Dieses Dokument ist ein Auszug aus unserem Skript zur Axis2- Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen Mehr

Mehr

extra und WebServices

extra und WebServices einheitliches XML-basiertes Transportverfahren Version 1.0 Ausgabestand 1.0.0 Final Seite: 2 Herausgeber: AWV Arbeitsgemeinschaft für wirtschaftliche Verwaltung e. V. Düsseldorfer Str. 40 65760 Eschborn

Mehr

Doris Jung. 27. Mai 2001

Doris Jung. 27. Mai 2001 Einführung in LDAP Doris Jung 27. Mai 2001 1 LDAP Protokoll LDAP ist ein Netz Protokoll, ein erweiterbares Directory Access Protokoll, also eine Sprache in der Klient und Server miteinander kommunizieren

Mehr

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM

Mehr

JAXR Java API for XML Registries. Jasmin Hatteh

JAXR Java API for XML Registries. Jasmin Hatteh JAXR Java API for XML Registries Jasmin Hatteh Übersicht Web Service Architektur Rollenverteilung Interaktionen Business-Registry UDDI ebxml JAXR Architektur Interaktionen Pakete Was sind Web Services?

Mehr

MS SharePoint Server 2007. Justus Storch

MS SharePoint Server 2007. Justus Storch MS SharePoint Server 2007 Justus Storch MS SharePoint Server 2007 SharePoint Vorraussetzungen des SharePoint Server 2007 Architektur des SharePoint Server 2007 Zusammmenarbeit mit ASP.Net Anwendungsgebiete

Mehr

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus]

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] ESB Open Source ESB: Mule Flightreservation Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] Inhalt 1. Open Source ESB: Mule... 2 1.1. Überblick... 2 1.1.1. Das Beispiel Zeigt:... 2 1.2. Installationsanleitung...

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Geschäftsprozessmodellierung essmodellierung mit BPEL

Geschäftsprozessmodellierung essmodellierung mit BPEL Geschäftsprozessmodellierung essmodellierung mit BPEL Autor: Stefan Berntheisel Datum: 8. Januar 2010 Stefan Berntheisel Hochschule RheinMain Fachseminar WS 09/10 Agenda Grundlagen Business Process Execution

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF

AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF Mathias Slawik, SS 2009 Agenda Technologien Java RMI (Remote Method Invocation) Microsoft WCF (Windows Communication Foundation) Benchmark

Mehr

Web Services mit Java

Web Services mit Java Web Services mit Java Neuentwicklung und Refactoring in der Praxis Torsten Langner new technology Markt+Technik Verlag Inhaltsverzeichnis Vorwort 13 Warum ausgerechnet dieses Buch? 13 An wen richtet sich

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

KompaRbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AWribuRerung. Mehr Spielraum auf Transportebene

KompaRbilität zu Standards (WS- I) Contracts. Interfaces und Generics Umfangreiche AWribuRerung. Mehr Spielraum auf Transportebene Komponenten WCF (.NET Framework) WCF Verfeinerung und Reifung der ursprünglichen Version Geringere Unterschiede zu ASMX 2.0 (.NET 2.0) + WSE 3.0 Schwerpunkte KompaRbilität zu Standards (WS- I) Contracts

Mehr

Flexible Automatisierung von Geschäftsprozessen mit BPMN und Web Services

Flexible Automatisierung von Geschäftsprozessen mit BPMN und Web Services Flexible Automatisierung von Geschäftsprozessen mit BPMN und Web Services Wolfgang Bauhardt, Jochen Göpfert Kurzfassung Der Beitrag zeigt Möglichkeiten der Modellierung von Geschäftprozessen mit der Business

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

Web Services Monitoring

Web Services Monitoring Web Services Monitoring Foliensatz zum Vortrag von der OIO Hauskonferenz am 17. Dezember 2009 predic8 GmbH Moltkestr. 40 53173 Bonn www.predic8.de info@predic8.de Ihr Sprecher Thomas Bayer Trainer, Berater,

Mehr

Java Web Services mit Apache Axis2 Entwickler

Java Web Services mit Apache Axis2 Entwickler Thilo Frotscher, Dapeng Wang, Marc Teufel Java Web Services mit Apache Axis2 Entwickler Vorwort 15 1 Einleitung 25 1.1 Entstehung 26 1.2 Unterstützte Standards 28 1.3 Was beinhaltet Axis2? 29 1.4 Warum

Mehr

Systembeschreibung. Masterplan Kommunikationsinterface. ASEKO GmbH. Version 1.0 Status: Final

Systembeschreibung. Masterplan Kommunikationsinterface. ASEKO GmbH. Version 1.0 Status: Final Systembeschreibung Masterplan Kommunikationsinterface ASEKO GmbH Version 1.0 Status: Final 0 Inhaltsverzeichnis 1 Einleitung... 2 2 Architektur... 2 2.1 Anbindung an die MKI Lösung... 2 2.2 Inbound Kommunikationsmethoden...

Mehr

Cloud4E. OCCI-Service-Framework. Stand: 29. Mai 2014

Cloud4E. OCCI-Service-Framework. Stand: 29. Mai 2014 Cloud4E OCCI--Framework Stand: 29. Mai 2014 Cloud4E Ziele Flexible, cloud-basierte Simulationsumgebungen für mittelständische Unternehmen Definition und Umsetzung eines Software-Stacks zur Portierung bestehender

Mehr

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern Objektorientierte Programmierung mit Python Polymorphismus und Vererbung Eltern Kind Kind Kind Kind Prinzipien der objektorientierten Programmierung Vererbung Strukturierung von Klassen. Oberbegriffe beschreiben

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Yellowbill Adapter Spezifikationen Voraussetzungen Datum : 22.08.2013 Version : 1.0.0.2 22.08.2013 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung...3 2 Architektur...3 2.1 Grundsätze

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) TFH-Berlin Sommer Semester 2008 Manfred Gruner mailto:wpr@gruner.org Web-Programmierung (WPR) Literatur: Web-Technologien (Heiko Wöhr) Konzepte Programmiermodelle - Architekturen

Mehr

Datenbanken und Internet

Datenbanken und Internet Datenbanken und Internet XML-Schema oder DTD XML-Datei XML-Datei XML-Datei XML-Datei XML-Datei Validating XML Parser Application? Applikation / Anwendung Was ist das eigentlich? Wofür und für wen? Wie

Mehr

Anwendungsbeispiele des EPO XML Connectors im Vergleich zu konventionellen Schnittstellentechnologien

Anwendungsbeispiele des EPO XML Connectors im Vergleich zu konventionellen Schnittstellentechnologien Anwendungsbeispiele des EPO XML Connectors im Vergleich zu konventionellen Schnittstellentechnologien EPO XML Connector: ABAP TM add-on für alle Integrationen mit SAP. Inhaltsverzeichnis 1 Management Summary...

Mehr

Web Services Eine Übersicht. Jörn Clausen joern@techfak.uni-bielefeld.de

Web Services Eine Übersicht. Jörn Clausen joern@techfak.uni-bielefeld.de Web Services Eine Übersicht Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Was sind Web Services? XML-RPC und SOAP WSDL und UDDI Wo können wir Web Services einsetzen? Web Services Eine Übersicht

Mehr

Hausarbeit. Electronic Business: B2B. Thema: - Web Services -

Hausarbeit. Electronic Business: B2B. Thema: - Web Services - Hausarbeit Electronic Business: B2B Thema: - Web Services - Dozent: Prof. Dr. Thomas Allweyer Ausarbeitung: Alexander Vogl Datum: 04.04.2003 Alexander Vogl (info@agrv.de) Seite 1 von 15 Inhaltsverzeichnis

Mehr