Web-basierte Anwendungsintegration

Transcription

Web-basierte Anwendungsintegration
Ralph Mietzner
Institut für Architektur von Anwendungssystemen
Universität Stuttgart
Übungen
„Web-basierte Anwendungsintegration“
WS 06/07
Übungsblatt Nr. 7
Datum der Übung: 05.02.07 (11:30 – 13:00, Raum 0.363)
Allgemeines Thema der Übung:
Das Ziel der gesamten Übung „Web-basierte Anwendungsintegration“ ist die
Entwicklung eines kleinen Web-Shops anhand dessen einige Konzepte aus der
Vorlesung praktisch erklärt werden. Dieses vierte Übungsblatt beschäftigt sich mit
Web Services.
Aufgabe 7.1 – WSDL:
Ihr Web-Shop soll nun eine Web-Service Schnittstelle erhalten. Skizzieren Sie die WSDLDateien für den Shop, die folgende Anforderungen erfüllt:
• Folgende Methoden sollen verfügbar sein:
1. Abfrage des Preises eines Artikels anhand des Artikelnamens, und
Herstellernamens
2. Abfrage aller Artikel eines Herstellers
3. Abfrage aller Artikel, die in einem bestimmten Preisbereich liegen
4. Abfrage aller Artikel
5. Einstellen eines Artikels
• Methoden 1 bis 4 sollen über SOAP über HTTP erreichbar sein. Wobei Methode 1
per rpc Style und Methoden 2 per document Style SOAP Nachrichten aufgerufen
werden sollen. Methode 3 soll sowohl per document style als auch per rpc style
aufgerufen werden können.
• Methode 4 soll über ein ASCII über SMTP Binding aufgerufen werden.
Darüberhinaus soll sie auch über SOAP / HTTP erreichbar sein (document style)
• Methode 5 soll über ein POJO (Plain old Java Objects) über JMS binding aufgerufen
werden.
Aufgabe 7.2 – Bottom-Up Erstellen eines Web-Services:
Benutzen Sie die articleList Klasse aus Aufgabenblatt 3 als Basis für einen Web-Service.
Verwenden Sie den Web-Service Wizard des Eclipse WebToolProjects (WTP) um den
WebService zu erzeugen.
Testen Sie den WebService mittels der im WTP enthaltenen Tools und schauen Sie sich die
SOAP Nachrichten im TCP/IP Monitor (auch im WTP enthalten) an.
Wie sieht die generierte WSDL Datei für den Webservice aus? Wie werden Java Methoden
und Attribute auf WSDL Operations und Messages gemappt?
Eclipse WTP und auch der Geronimo verwenden standardmäßig Apache Axis als Web-Service
Umgebung. Wozu wird Apache Axis benötigt?
Der Web-Service Wizard generiert standardmäßig einen Web-Service Deployment Descriptor
(wsdd-File). Was wird im WSDD-File spezifiziert?
(Das wsdd-File finden Sie unter Web-INF/packageName/deploy.wsdd in Ihrem Web-Project)
Aufgabe 7.3 – Aufrufen externer Web Services:
•
•
•
•
Mit den unter http://msdn.microsoft.com/live/gettingstarted/searchstart/default.aspx
bereitgestellten Web Services haben Sie die Möglichkeit, verschiedene Dienste von
Microsoft als Web Services anzusprechen (Sie können aber auch einen anderen
WebService
verwenden,
wenn
Sie
möchten,
siehe
http://www.programmableweb.com/apis . Für die LiveSearch generieren Sie zuerst
eine
Application
ID
wie
auf
der
Seite
http://dev.live.com/blogs/livesearch/archive/2006/03/23/27.aspx
beschrieben.
Verwenden Sie WTP zur Generierung geeigneter Klassen, ausgehend von der WSDLDatei, die Sie unter http://soap.search.msn.com/webservices.asmx?wsdl finden.
Welche Beziehung haben die erzeugten Klassen zu den einzelnen Elementen der
WSDL-Datei (hier von Interesse: Messages, PortTypes, Ports, Services)?
Schreiben Sie einen passenden Client zu den generierten Stubs, der eine Suchanfrage
an Microsoft durchführt und die Ergebnisse ausgibt.
Verwenden Sie erneut den TCPMonitor, um die ausgetauschten Nachrichten zu
analysieren.