Service-Orientierte Architekturen



Ähnliche Dokumente
Wiederholung: Beginn

Verteilte Systeme: Übung 4

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

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

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Zustandsgebundene Webservices

Auszug aus JAX-WS Folien

Workflow, Business Process Management, 4.Teil

Web-Sevices : WSDL Entwicklung von Web-Anwendungen

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

Implementierung von Web Services: Teil I: Einleitung / SOAP

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

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Java und XML 2. Java und XML

Java Web Services Metadata JSR-181

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

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

3-schichtige Informationssystem-Architektur

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

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

Architektur von SOAP basierten Web Services

5. Übung zur Vorlesung Service-orientierte Architekturen

Service-Orientierte Architekturen

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

XML und SOAP Einführung und Grundlagen

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

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

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

.NET-Networking 2 Windows Communication Foundation

E-Services mit der Web-Service-Architektur

WebServices Zwischen Buzzword und Nutzen

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

Service-Orientierte Architekturen

Grundlagen der Web-Entwicklung INF3172

Norm 225 Service Definition mit WSDL

Mobile und Verteilte Datenbanken

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010

WebService in Java SE und EE

Übungen zu Softwaretechnik

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

Microsoft.NET und SunONE

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

5. Programmierschnittstellen für XML

Containerformat Spezifikation

Software Reuse Sommer 2004

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

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

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

Java Web Services. Seminarunterlage. Version 4.03 vom

Thema: Web Services. Was ist ein Web Service?

POIS-Praktikum Prozessimplementierung, RosettaNet PIPs 3A

WebServices -reloaded-

5. Programmierschnittstellen für XML

Containerformat Spezifikation

Webservices Ein Vortrag von:

VVA Webservice Online Lieferbarkeits-Abfrage

Definition Web Service

SAP NetWeaver Gateway. 2013

XMPP: Extensible Messaging and Presence Protocol

Kapitel 5 Web-Services

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Service-Orientierte Architekturen

Werner Motzet und Tim Pistor präsentieren:

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

SRH Hochschule Heidelberg

Agenda. Web Services unter Lotus Notes/Domino

Semantic Web Services

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

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

XML-Webservices & SOAP

Norm 230 Übertragung von Dateien

Web Service Entwicklung mit Java. Sven Lindow

Axis2, CXF und JAX-WS RI im Vergleich

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

E-Business Architekturen

Etablierung serviceorientierter Architekturen mit Web Services

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

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

Anwendungsprotokolle: HTTP, POP, SMTP

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

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

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

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

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

Sof o t f waretechn h o n l o og o i g en n f ü f r ü v e v rteilte S yst s eme Übung

<Insert Picture Here> Einführung in SOA

Zur Definition von Web-Services

Etablierung serviceorientierter Architekturen mit Web Services

Christoph Mathas. SOA intern. » Praxiswissen zu Service-orientierten IT-Systemen HANSER

Web-Services Grundlagen

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

Man liest sich: POP3/IMAP

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

Transkript:

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) Aufbau der Vorlesung Kapitel Thema 1 Organisation, Einführung in Software-Architekturen 2 Einführung in Service-Orientierte Architekturen 3 Design Prinzipien von Service-Orientierten Architekturen 4 (11.5.) Web Services I (SOAP, WSDL) 5 (18.5.) Web Services II (Axis2,...) 6 (25.5.) Modellierung von Geschäftsprozessen (BPEL, BPMN) 7 (1.6.) Vertiefung und Backup Web Services 8 (8.6.) OSGi Service Plattform 9 (15.6.) Einführung in Swordfish 10 REST Architekturen 11 (22.6.) Exception Handling in SOA (Gastvortrag) 12 (29.6.) SOA Point of View von Accenture (Gastvortrag) Folie 2

Ziele dieser Unterrichtseinheit Grundlagen des Web Services Framework verstehen Die beiden wichtigsten Web Services Standards verstehen und anwenden (SOAP und WSDL) Implementierungen eines Web Service basierend auf gängigen Technologien verstehen und eigenständig anwenden können Folie 3

Aufbau dieser Veranstaltung Kapitel 4: Einführung in Web Services, Teil 1 1 Überblick über Web Services 2 Einführung in SOAP 3 Einführung in WSDL 4 Implementierung von Web Services: AXIS2 und 5 Zusammenfassung und Ausblick Folie 4

Web Services Technologie-Framework für die Entwicklung und Integration von verteilten Systemen Seit ca. 2000 bekannt Festlegung der Standards durch Web Service Interoperability Organization (WS-I) Aktueller Standard: Basic Profile (BP) 1.1 Draft Version: Basic Profile (BP) 1.2 Getrieben durch IBM, Microsoft, Bea, Fujitsu, Oracle u.a. Web Services repräsentieren eine Möglichkeit zur Implementierung einer SOA Stand heute: De-Facto Framework für die Implementierung Folie 5

Aufbau einer SOAP-basierten Web Services Architektur Return possibleservices : WSDL[ ] UDDI (-compatible) Directory Discover aservice SOAP SOAP Publish aservice : WSDL Service Consumer SOAP Service Bind / Interaction Web Service Provider Web Service aservice : WSDL SOAP XML-basiertes Nachrichtenformat für den Aufruf / Interaktion mit einem Web Service WSDL (Web Service Description Language) XML-basierte Meta-Sprache zur Beschreibung der Schnittstelle eines Web Service UDDI (Universal Description, Discovery and Integration) Directory-Service für die Publikation und Suche von Web Services

XML Basis für Web Services Architekturen XML (extensible Markup Language) ist die Grundlage einer Vielzahl der Web Services Standards. Metasprache zur Definition von (Austausch-)Dokumenten Hohe Interoperabilität (plattform- und programmiersprachenneutral) Hierarchische Dokument-Struktur lesbare Darstellung Typirisierung von Dokument-Elementen und Attribute durch Namensräume XML-Typ Deklaration f. Zeichensatz <?xml version = 1.0 encoding = UTF-8?> <database xmlns = http://myweb.de/types > <person> <vorname>sascha</vorname> <nachname>alda</nachname> </person> </database> Hierarchische Struktur eines XML-Dokuments Deklaration des Namensraums Type-System für Typ-Definition (XML-Schema) <?xml version = 1.0 encoding = UTF-8?> <schema xmlns = http://www.w3.org/2001/xmlschema xmlns : myschema = http://myweb.de/types targetnamespace = http://myweb.de/types <element name person type = myschema:persontype /> <complextype name = PersonType > <sequence> <element name = vorname type = string /> <element name = nachname type = string /> </sequence> </complextype> </schema>

XML Basis für Web Services Architekturen XML (extensible Markup Language) ist die Grundlage einer Vielzahl der Web Services Standards. Metasprache zur Definition von (Austausch-)Dokumenten Hohe Interoperabilität (plattform- und programmiersprachenneutral) Hierarchische Dokument-Struktur lesbare Darstellung Typirisierung von Dokument-Elementen und Attribute durch Namensräume XML-Typ Deklaration Hierarchische Struktur f. Zeichensatz eines XML-Dokuments (mit Präfix f. Namensraum) <?xml version = 1.0 encoding = UTF-8?> <database xmlns:d= http://myweb.de/types > <d:person> <d:vorname>sascha</vorname> <d:nachname>alda</nachname> </d:person> <database> Deklaration des Namensraums Type-System für Typ-Definition (XML-Schema) <?xml version = 1.0 encoding = UTF-8?> <schema xmlns = http://www.w3.org/2001/xmlschema xmlns : myschema = http://myweb.de/types targetnamespace = http://myweb.de/types <element name person type = myschema:persontype /> <complextype name = PersonType > <sequence> <element name = vorname type = string /> <element name = nachname type = string /> </sequence> </complextype> </schema>

Aufbau dieser Veranstaltung Kapitel 4: Einführung in Web Services, Teil 1 1 Überblick über Web Services 2 Einführung in SOAP 3 Einführung in WSDL 4 Implementierung von Web Services: AXIS2 und 5 Zusammenfassung und Ausblick Folie 9

SOAP XML-basiertes Nachrichtenformat für den Aufruf / Interaktion mit einem Web Service Die Bezeichnung Protokoll ist bedingt richtig: SOAP basiert auf bekannten Protokollen wie HTTP, TCP usw. Versionen: SOAP 1.1 (http://www.w3.org/tr/2000/note-soap-20000508/) SOAP 1.2 (http://www.w3.org/tr/soap12-part1/), seit 2007 SOAP 1.2 ist abwärtskompatibel zu 1.1 SOAP 1.1 ist (noch) weiter verbreitet als 1.2 Ursprüngliche Bezeichnung in 1.1: Simple Object Access Protocol Ab 1.2: keine Bedeutung! SOAP spezifiziert keine Objekte SOAP legt kein Protokoll fest SOAP sieht zwei grundlegende Nachrichtenformate vor: Methodenbasiert, RPC-Style (RPC / literal) Dokumentbasiert (document / literal) Folie 10

SOAP Struktur und Beispielcode SOAP ist ein Nachrichtenformat für die Interaktion mit Web Services XML-basiertes Nachrichten-Format XML-Fragmente werden verschickt SOAP-Nachrichten haben einen hierarchischen Aufbau Service-Aufruf Service Consumer Rückantwort -optional- SOAP- Nachricht Web Service Provider Web Service aservice : WSDL Envelope Header Übertragungsspezifische Daten -required- Body Anwendungsspezifische Daten Hierarchischer Aufbau (Meta-Modell) <?xml version="1.0"?> <s:envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:header> </s:header> <s:body> </s:body> </s:envelope> XML-Struktur

SOAP RPC-Style SOAP Request Der RPC-Style von SOAP impliziert, dass das ausgetauschte XML-Fragment auf einem Operationsaufruf sowie auf eine entsprechende Rückantwort basiert Service-Aufruf Service Consumer Rückantwort -optional- SOAP- Nachricht Web Service Provider Web Service aservice : WSDL Envelope Header Übertragungsspezifische Daten -required- Body Anwendungsspezifische Daten Meta-Modell Operation definiert in WSDL file <?xml version="1.0"?> <s:envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:header> </s:header> <s:body> <m:getaddress xmlns:m="http://www.myserver.de/soap"> <m:surname> Alda </m:surname> <m:/getaddress> </s:body> </s:envelope> XML-Struktur (SOAP Request für Service-Aufruf, RPC-Style)

SOAP RPC-Style SOAP Response Der RPC-Style von SOAP impliziert, dass das ausgetauschte XML-Fragment auf einem Operationsaufruf sowie auf eine entsprechende Rückantwort basiert Service-Aufruf Service Consumer Rückantwort -optional- SOAP- Nachricht Web Service Provider Web Service aservice : WSDL Envelope Header Übertragungsspezifische Daten -required- Body Anwendungsspezifische Daten Meta-Modell Rückgabewert definiert in WSDL file <?xml version="1.0"?> <s:envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:header> </s:header> <s:body> <m:getaddressresponse xmlns:m="http://www.myserver.de/soap"> <m:city> Bonn, NRW </city> </m:getaddressresponse> </s:body> </s:envelope> XML-Struktur (SOAP Response für Service-Aufruf, RPC-Style)

SOAP RPC-Style SOAP Fault Der RPC-Style von SOAP impliziert, dass das ausgetauschte XML-Fragment auf einem Operationsaufruf sowie auf eine entsprechende Rückantwort basiert Service-Aufruf Service Consumer Fehler! -optional- SOAP- Nachricht Web Service Provider Web Service aservice : WSDL Envelope Header Übertragungsspezifische Daten -required- Body Anwendungsspezifische Daten Meta-Modell <?xml version="1.0"?> <s:envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:body> <s:fault> <s:reason> <s:text> Invalild Method </s:text> </s:reason> <s:detail> <! ggf. Eigene Daten mit eigenem Namespace -> </s:detail> </s:fault> </s:body> </s:envelope> XML-Struktur (SOAP Response für Fehlermeldung)

SOAP Document-Style Der Document-Style von SOAP impliziert, dass das ausgetauschte XML- Fragment ein Dokument ist und nicht auf einem Methodenaufruf basiert. Nur One-Way Kommunikation Service Consumer Service-Aufruf SOAP- Nachricht Web Service Provider Web Service aservice : WSDL Envelope Header Übertragungsspezifische Daten -required- -optional- Body Anwendungsspezifische Daten Meta-Modell Operation definiert in WSDL file <?xml version="1.0"?> <s:envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:header> </s:header> <s:body> <p:person xmlns:p="http://www.myserver.de/soap"> <p:surname> Alda </p:surname> </p:person> </s:body> </s:envelope> XML-Struktur (SOAP Document, Document-Style)

Verarbeitungsmodell bei SOAP Eine SOAP-Nachricht kann über mehrer Zwischenknoten (Intermediaries) geleitet werden Intermediaries können in den Verarbeitungsprozess einer SOAP-Nachricht eingreifen Intermediaries sollten nur auf SOAP-Header zugreifen Service Client SOAP Request Intermediary A SOAP Request Intermediary B SOAP Request Service Provider (ultimate SOAP receiver) SOAP Response Intermediary B SOAP Response Intermediary Folie 16

Aufbau einer SOAP-basierten Architektur mit HTTP POST web/my HTTP/1.1 Host myserver.com Content-Type: application/ soap+xml SOAP Envelope. <<entity>> Person getaddress() Client Host <<Service Consumer>> HTTP <<WebService>> ERPService Application Server Web Service ERPService : WSDL <<entity>> Address getcity() SOAP verwendet bekannte Web-Protokolle zur Übertragung von SOAP-Nachrichten Standard ist HTTP: Verwendung der POST-Methode Alternative: SMTP, TCP / IP Web Service übernimmt Dispatcher Rolle <<control>> Process Relocation performrelocation()

Aufbau dieser Veranstaltung Kapitel 4: Einführung in Web Services, Teil 1 1 Überblick über Web Services 2 Einführung in SOAP 3 Einführung in WSDL 4 Implementierung von Web Services: AXIS2 und 5 Zusammenfassung und Ausblick Folie 18

Überblick zu WSDL Die Web Service Description Language (WSDL) ist ein XML-Format, um die Schnittstelle eines Web Services zu beschreiben Interface Definition Language (IDL) Abbildung auf gängige Programmiersprachen möglich Abstrakte Beschreibung von Operationen und deren Parametern (Nachrichten) Anbindung an ein bestimmtes Netzwerk-Protokoll für den Zugriff auf einen Web Service Standard: SOAP über HTTP Spezifikation des Endpunktes (Endpoints) um auf einen speziellen Web Services zugreifen zu können Zwei Standards: WSDL 1.1 (aktueller Standard) WSDL 2.0 (in vielen Server-Implementierungen bereits übernommen) Folie 19

WSDL Grundlegende Struktur abstrakt port-type operation b operation a inmessage outmessage binding (SOAP over HTTP) binding (SOAP over SMTP) konkret port service port Meta-Modell

Aufbau einer WSDL-Beschreibung Datentypen (types) Beschreibung der Datentypen der Nachrichten, die für den Aufruf eines Web Service verwendet werden Nur komplexe Datentypen müssen definiert werden, einfache Datentypen wie integer, float, double oder string sind bereits durch das grundlegende XML- Schema vorgegeben Wiederverwendung von externen Schemata (import-befehl) Nachrichten (message) Beschreibung der Nachrichten, die zwischen Client und Web Service beim Aufruf einer Operation ausgetauscht werden Eine Nachricht kann mehrere Teile haben, wobei jeder Teil einem Datentyp zugeordnet ist Schnittstellen (porttype) In einer Schnittstellen werden eine Reihe von Operationen zusammengefasst Jede Operation ist definiert auf Basis der zuvor definierten Nachrichten und Datentypen Folie 21

Aufbau einer WSDL-Beschreibung Protokoll (binding) Festlegung, wie mit der abstrakten Schnittstelle des Web Service kommuniziert werden kann Angabe des Kommunikationsformat (z.b. SOAP-Nachrichten) und das Transportprotokoll (z.b. HTTP) Kommunikationsendpunkt (port) Ein einzelner Service-Endpunkt für eine Kommunikation durch die Angabe einer Adresse (z.b. eine URL) für eines der zuvor definierten Bindings. Service (service) Zusammenfassung einer Menge von einzelnen Endpunkten (ports) unter einem logischen Namen Mehre Ports können auf den gleichen PortType verweisen, jeweils mit anderen Binding-Alternativen Folie 22

XML-basierter Aufbau einer WSDL-Beschreibung <?xml version= 1.0 > <definitions name = StockQuote > <types> </types> <schema>... </schema> <message name = PriceInput >... </message> <porttype name = StockQuotePortType > <operation name = GetLastTradePrice >... <operation> </porttype> <binding name = StockQuoteSoapBinding >... </binding> <service name = StockQuoteService> <port name = StockQuotePort >... </port> <service> <definitions> Folie 23

WSDL Struktur und Beispielcode abstrakt konkret binding (SOAP over HTTP) port port-type operation b operation a inmessage outmessage service Meta-Modell binding (SOAP over SMTP) port <message name= PersonData"> <part name= surname" type="xsd:string"/> </message> <message name= AddressData"> <part name= city" type="xsd:string"/> </message> <porttype name= ERPManager"> <operation name= GetAddress"> <input message= PersonData "/> <output message= AddressData"/> </operation> </porttype> <s:body> <GetAddress> <surname> Alda </surname> </GetAddress> </s:body> WSDL Dokument (Ausschnitt) SOAP Request (RPC-Style)

Muster für den Nachrichtenaustausch WSDL unterstützt vier verschiedene Muster zum Nachrichtenaustausch (Message Exchange Pattern, MEP) One-way Client Web Service <input> Request- Response Client Web Service <input> <output> Solicit- Response Client Web Service <output> <input> Notification Client Web Service <output> Folie 25

WSDL Binding an Netzwerkprotokoll und Nachrichtenformat <binding name= AdressBinding type = ERPManager > <soap:binding style = rpc // Nachrichtenformat SOAP/rpc. Alternative: document transport = http://schemas.xmlsoap.org/soap/http /> // HTTP als Protokoll <operation name= GetAddress"> <soap:operation soapaction = GetAddress > <input> <soap:body parts= GetAddressRequest... > </input> <output> <soap:body parts= GetAddressResponse... > </output> </operation>... </binding> WSDL-Dokument (Ausschnitt) zur Definition von Bindings

WSDL Definition des Ports <service name = ERPService > <port name = ERPService_http binding = AdressBinding > <soap: address location= http://myserver.com/axis2/services/erpservice /> </port>... </service> WSDL-Dokument (Ausschnitt) zur Definition eines Service Zu jedem Binding wird ein Port definiert Ein Binding kann das gleiche PortType (Schnittstelle) mehrfach binden mit unterschiedlichen Protokollen / Formaten Aus der Adresse des Service und aus SOAPAction (siehe Binding) wird der betreffende HTTP_Request erstellt

Binding - SOAP over HTTP SOAP kann HTTP zur Übertragung von SOAP-Nachrichten verwenden Standard-Binding, da transparente Übertragung über Port 80 Ausschließliche Verwendung der POST-Methode des HTTP Protokolls Übernahme der Adress-Daten aus WSDL POST /axis2/services/erpservice HTTP 1.1 Host myserver.com Content-Type: application/soap+xml SOAPAction: urn:getaddress <s:envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:header> </s:header> <s:body> <GetAddress xmlns:m="http://www.myserver.de/soap"> <m:nachname> Alda </m:nachname> </m:getaddress> </s:body> </s:envelope> HTTP Header HTTP entity-body = SOAP Nachricht HTTP-Request inkl. SOAP Nachricht

Software Bibliotheken für SOAP Eine Vielzahl von Software Bibliotheken für die Entwicklung einer SOAPbasierten Web Services Architektur stehen zur Verfügung Unterstütze Programmiersprachen: Java, Python, PHP, C, C++ Open Source Software Bibliotheken in Java: Gängige Frameworks: Apache Axis2, Apache CXF Sun Java Web Services Developer Pack (JWSDP) Name Java API for XML Web Services (JAXWS) Java Architecture for XML Binding (JAXB) SOAP with Attachments API for Java (SAAJ) Java Web Services Metadata (JSR 181) Package javax.xml.ws javax.xml.bind javax.xml.soap javax.jws Download für J2SE 1.4.2 sowie J2SE 5.0 verfügbar Ab Java SE 6 standardmäßig integriert 29

Code-Demo: Verwendung des JWSDP (1/2) Implementierung des Service und des Server package com.bonn.erp; import javax.jws.webmethod; import javax.jws.webservice; import javax.jws.soap.soapbinding; import javax.jws.soap.soapbinding.style; @WebService @SOAPBinding(style=Style.RPC) public class ERPManager { @WebMethod public String getaddress( String NachName ){ String Address = AdressStore.getAddress( NachName ); return Address; } } Java Code Web Service package com.bonn.erp; import javax.xml.ws.endpoint; public class MyAppServer { public static void main(string[] args) { ERPManager server = new ERPManager(); Endpoint endpoint = Endpoint.publish("http://localhost:8080/ services", server); System.out.println("Server is started"); } } Java Code Application Server Coding Compile javac *.java Run Server java MyAppServer Generate Stubs for Client wsimport -keep http://localhost:8080/ erpmanager?wsdl ERPManager.class ERPManagerService.class

Code-Demo: Verwendung des JWSDP (2/2) Implementierung des Client package com.client; import com.bonn.erp.erpmanager; import com.bonn.erp.erpmanagerservice; Import der zuvor erzeugten Klassen public class MyClient { public static void main(string args[]) { // Initialisierung Web Service mit generierten Klassen ERPManagerService service = new ERPManagerService(); ERPManager manager = service.geterpmanagerport(); } } // Verwendung des Web Service String adresse = manager.getaddress( "Alda" ); System.out.println("Adresse von Hr. Alda: " + adresse); Java Code Client Import Stubs Compile javac *.java Run Client java MyClient ERPManager.class ERPManagerService.class

(Vorläufiger) Aufbau der Vorlesung Kapitel Thema 1 Organisation, Einführung in Software-Architekturen 2 Einführung in Service-Orientierte Architekturen 3 Design Prinzipien von Service-Orientierten Architekturen 4 (11.5.) Web Services I (SOAP, WSDL) 5 (18.5.) Web Services II (Axis2,...) 6 (25.5.) Modellierung von Geschäftsprozessen (BPEL, BPMN) 7 (1.6.) Vertiefung und Backup Web Services 8 (8.6.) OSGi Service Plattform 9 (15.6.) Einführung in Swordfish 10 REST Architekturen 11 (22.6.) Exception Handling in SOA (Gastvortrag) 12 (29.6.) SOA Point of View von Accenture (Gastvortrag) Folie 32

Zeitplan der Team-Präsentationen Kapitel Thema 8.6. Vortrag 1: (Team ) Vortrag 2: (Team ) 15.6. Vortrag 3: (Team ) Vortrag 4: (Team ) Vortrag 5: (Team ) 22.6. Vortrag 6: (Team ) Vortrag 7: (Team ) 29.6. Vortrag 8: (Team ) Vortrag 9: (Team ) Folie 33

Überblick Team-Präsentationen Team Fanta5 Temporär Blau Gummibärenbande ichweissnicht Jajowada Mars Massup Sprint Temporär Thema Finanzbuchhaltung in einem ERP-System Persistente Speicherung von Daten Verarbeitung elektronischer Rechnungen Zukunftsweisende Hardware-Struktur Software für Digitale Signatur Bearbeitung von KPI Portal-Integration Scannen und Integration von Dokumenten Zugriff auf LDAP-Verzeichnis Persistente Speicherung von Daten Folie 34