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:=" :=" :encodingstyle encodingstyle=" =" <: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=" 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=" =" ://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=" Envelope Envelope Namespaces Namespaces xmlns:xsi=" <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=" <soapenv:envelope xmlns:soapenv=" xmlns:xsd=" xmlns:xsd=" xmlns:xsi=" xmlns:xsi=" <:Header soapenv:encodingstyle=" <:Header soapenv:encodingstyle=" <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=" <soapenv:envelope xmlns:soapenv=" xmlns:xsd=" xmlns:xsd=" xmlns:xsi=" xmlns:xsi=" <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 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> < >mailto:henryford@hotmail.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> < >mailto:henryford@hotmail.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=" 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 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=" xmlns:tns=" xmlns:whttp=" xmlns:wsoap=" targetnamespace=" <! Abstract types > <types> <xs:schema xmlns=" xmlns:xs=" targetnamespace=" <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=" <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=" <operation ref="tns:gettime" whttp:method="post" </binding> <! Web offering endpoint > <service name="time" interface="tns:timer"> <endpoint name="soapendpoint" binding="tns:interfacehttpbinding" address=" 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=" targetnamespace=" Namesspaces xmlns:wsdl=" Namesspaces xmlns:wsdl=" xmlns:wsdlsoap=" xmlns:wsdlsoap=" xmlns:xsd=" xmlns:xsd=" xmlns:impl=" xmlns:impl=" 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=' targetnamespace=' xmlns:xsd=' xmlns:xsd=' xmlns:typens=' xmlns:typens=' 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=" <ns1:add xmlns:ns1=" <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=' targetnamespace=' xmlns:xsd=' xmlns:xsd=' xmlns:typens=' xmlns:typens=' <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=" xmlns:xsd=" <xsd:import namespace=" <xsd:import namespace=" <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=' targetnamespace=' xmlns:xsd=' xmlns:xsd=' xmlns:typens=' xmlns:typens=' <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=" pattern=" <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=" Transport=" <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=" location=" </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 " 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 = " String endpoint " String namespace = " String namespace = " 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 = " String endpointurl = " 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

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

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

Ü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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Wissenschaftliche Vertiefung Web Services. Esslingen, 22. Januar 2016 Simon Schneider

Wissenschaftliche Vertiefung Web Services. Esslingen, 22. Januar 2016 Simon Schneider Wissenschaftliche Vertiefung Web Services Esslingen, 22. Januar 2016 Agenda 1. Einführung 2. Serviceorientierte Architektur 3. SOAP Web Service 4. Standards und Protokolle von SOAP Web Services 5. Bewertung

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

WebService in Java SE und EE

WebService in Java SE und EE Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.

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 Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

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

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

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Man liest sich: POP3/IMAP

Man liest sich: POP3/IMAP Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und

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

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

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

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

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

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

VVA Webservice Online Lieferbarkeits-Abfrage

VVA Webservice Online Lieferbarkeits-Abfrage Version 1.0 Dateiname VVA_OLA_Schnittstellenbeschreibung_2012.docx Erstellt am 30.05.2010 Seitenanzahl 5 arvato media GmbH Historie der Dokumentversionen Version Datum Autor Änderungsgrund / Bemerkungen

Mehr

Abbildungsregeln für Body- und Header-Daten in ein XML-Dokument

Abbildungsregeln für Body- und Header-Daten in ein XML-Dokument 3.2 SOAP-Umschlag (10) Verarbeitung in Zwischenknoten (fortges.) Beispiel für veränderte Anfragenachricht

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.1-21.02.2014 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

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

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

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

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.0-09.05.2011 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

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

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

How-to: Webserver NAT. Securepoint Security System Version 2007nx

How-to: Webserver NAT. Securepoint Security System Version 2007nx Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver

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

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

Schwachstellenanalyse 2012

Schwachstellenanalyse 2012 Schwachstellenanalyse 2012 Sicherheitslücken und Schwachstellen in Onlineshops Andre C. Faßbender Schwachstellenforschung Faßbender 13.01.2012 Inhaltsverzeichnis 1. Abstract... 3 2. Konfiguration der getesteten

Mehr

WSDL. Heutige Vorlesung. Wozu WSDL? Wie wird WSDL verwendet? Language. Services. Description. Web. Abstrakte vs. konkrete Syntax

WSDL. Heutige Vorlesung. Wozu WSDL? Wie wird WSDL verwendet? Language. Services. Description. Web. Abstrakte vs. konkrete Syntax Heutige Vorlesung WSDL Prinzipieller Aufbau von WSDL-Beschreibungen Beschreibung von Protokoll-Bindungen in WSDL Vor- und Nachteile von WSDL Lernziel Google-WSDL lesen und erweitern können Klaus Schild,

Mehr

Clientkonfiguration für Hosted Exchange 2010

Clientkonfiguration für Hosted Exchange 2010 Clientkonfiguration für Hosted Exchange 2010 Vertraulichkeitsklausel Das vorliegende Dokument beinhaltet vertrauliche Informationen und darf nicht an Dritte weitergegeben werden. Kontakt: EveryWare AG

Mehr

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen. Sommersemester Michael Theis, Lehrbeauftragter 1

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen. Sommersemester Michael Theis, Lehrbeauftragter 1 FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Sommersemester 2017 2017 Michael Theis, Lehrbeauftragter 1 2 Servlet API Websockets JSF JAX-WS JAX-RS JMS JAXB JSON-P JEE Enterprise

Mehr

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

ARCHITEKTUR VON INFORMATIONSSYSTEMEN ARCHITEKTUR VON INFORMATIONSSYSTEMEN File Transfer Protocol Einleitung Das World Wide Web war ja ursprünglich als verteiltes Dokumentenverwaltungssystem für die akademische Welt gedacht. Das Protokoll

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

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

Java Web Services. Seminarunterlage. Version 4.03 vom

Java Web Services. Seminarunterlage. Version 4.03 vom Seminarunterlage Version: 4.03 Version 4.03 vom 2. Januar 2017 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

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

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

ACCOUNTINFO 1.01 VERWENDEN DER ACCOUNTINFO-SCHNITTSTELLE ABFARGE VON ACCOUNT-INFORMATIONEN IN ECHTZEIT 02. MÄRZ 2010 VERWENDEN DER ACCOUNTINFO-SCHNITTSTELLE ABFARGE VON ACCOUNT-INFORMATIONEN IN ECHTZEIT 02. MÄRZ 2010 VERTRIEBLICHE FRAGEN ZUM FITSMS-GATEWAY mpc networks GmbH Abteilung FitSMS Vertrieb tel +49 (0) 7154-17

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

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

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

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

Konfiguration von Exchange 2000 zum versenden und empfangen von Mails & Lösung des SEND after POP Problems

Konfiguration von Exchange 2000 zum versenden und empfangen von Mails & Lösung des SEND after POP Problems Konfiguration von Exchange 2000 zum versenden und empfangen von Mails & Lösung des SEND after POP Problems Hier die notwendigen Einstellungen in der Administratorkonsole des Exchange 2000 Zuerst müssen

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

FAQ IMAP (Internet Message Access Protocol)

FAQ IMAP (Internet Message Access Protocol) FAQ IMAP (Internet Message Access Protocol) Version 1.0 Ausgabe vom 04. Juli 2013 Inhaltsverzeichnis 1 Was ist IMAP?... 2 2 Wieso lohnt sich die Umstellung von POP3 zu IMAP?... 2 3 Wie richte ich IMAP

Mehr

Grundlagen der Web-Entwicklung INF3172

Grundlagen der Web-Entwicklung INF3172 Grundlagen der Web-Entwicklung INF3172 Web-Services Thomas Walter 16.01.2014 Version 1.0 aktuelles 2 Webservice weitere grundlegende Architektur im Web: Webservice (Web-Dienst) Zusammenarbeit verschiedener

Mehr

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

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF RDF und RDF Schema Einführung in die Problematik Von HTML über XML zu RDF Kirsten Albrecht Roland Illig Probleme des HTML-basierten

Mehr

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

Benutzerhandbuch für die Verwendung des viavac HL7 Forcast Webservices (VAC-CDSS) Benutzerhandbuch für die Verwendung des viavac HL7 Forcast Webservices (VAC-CDSS) Inhaltsverzeichnis Zweck des Dokuments... 2 Verwendung des Dokuments... 2 Referenzierte Dokumente... 2 Übersicht...3 Allgemeine

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

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

4. AuD Tafelübung T-C3

4. AuD Tafelübung T-C3 4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {

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

.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

E-Services mit der Web-Service-Architektur

E-Services mit der Web-Service-Architektur E-Services mit der Web-Service-Architektur im Seminar Neue Konzepte anwendungsorientierter Middleware - Stefan Kürten - Literatur A. Tsalgatidou and T. Pilioura, An Overview of Standards and Related Rechnology

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

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

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services Themen Web Services und SOA Wer kennt den Begriff Web Services? Was verstehen Sie unter Web Services? Die Idee von Web Services Ausgangspunkt ist eine (evtl. schon bestehende) Software Anwendung oder Anwendungskomponente

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Anwendungsprotokolle: HTTP, POP, SMTP

Anwendungsprotokolle: HTTP, POP, SMTP Anwendungsprotokolle: HTTP, POP, SMTP TCP? UDP? Socket? eingesetzt, um Webseiten zu übertragen Zustandslos Nutzt TCP Client schickt Anfrage ( HTTP-Request ) an Server, Server schickt daraufhin Antwort

Mehr

Kurzanleitung zu. von Daniel Jettka 18.11.2008

Kurzanleitung zu. von Daniel Jettka 18.11.2008 Kurzanleitung zu Tigris.org Open Source Software Engineering Tools von Daniel Jettka 18.11.2008 Inhaltsverzeichnis 1.Einführung...1 2.Das Projektarchivs...3 2.1.Anlegen des Projektarchivs...3 2.2.Organisation

Mehr

RESTful Web. Representational State Transfer

RESTful Web. Representational State Transfer RESTful Web Representational State Transfer 1 Warum REST? REST ist die Lingua Franca des Webs Heterogene (verschiedenartige) Systeme können mit REST kommunizieren, unabhängig von Technologie der beteiligten

Mehr

EDI Datenaustausch und Konvertierung Funktionsumfang & Services

EDI Datenaustausch und Konvertierung Funktionsumfang & Services cleardax EDI Datenaustausch und Konvertierung Funktionsumfang & Services Einleitung Hauptfunktionen Datenaustausch (Anbindungsmöglichkeiten) Konvertierung Mappings Zusatzleistungen und Funktionen cleardax

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote Seite 1 von 10 ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote Die Informationen in diesem Artikel beziehen sich auf: Microsoft ISA Server 2004 Einleitung Microsoft ISA Server 2004 bietet

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

2 Aufruf eines SAP Webservices aus einer Adobe Flex 4.0- Applikationen

2 Aufruf eines SAP Webservices aus einer Adobe Flex 4.0- Applikationen 1 Allgemein Voraussetzungen: SAP Web Application Server (WAS) 6.0, 7.0 oder 7.1 Adobe Flash Builder.0 Abstract: Erzeugen eines SAP Webservices mit der Transaktion SE37 Anlegen einer Flex -Anwendung samt

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem

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

Mobile Anwendungen Google Cloud Messaging

Mobile Anwendungen Google Cloud Messaging Mobile Anwendungen Google Cloud Messaging 1. Allgemeines zu Google Cloud Messaging (GCM): - 60% der Top 100 Apps nutzen Google Cloud Messagging - 200.000 Messages pro Sekunde = 17 Milliarden Messages pro

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte

Mehr

Windows Server 2008 für die RADIUS-Authentisierung einrichten

Windows Server 2008 für die RADIUS-Authentisierung einrichten Windows Server 2008 für die RADIUS-Authentisierung einrichten Version 0.2 Die aktuellste Version dieser Installationsanleitung ist verfügbar unter: http://www.revosec.ch/files/windows-radius.pdf Einleitung

Mehr

Applet Firewall und Freigabe der Objekte

Applet Firewall und Freigabe der Objekte Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable

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

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr