SOA-Implementierungsprojekt - Hessen-IT
Transcription
SOA-Implementierungsprojekt - Hessen-IT
SOA-Implementierungsprojekt Von der Anforderungsanalyse zur fertigen Anwendung Referentin: Melanie Siebenhaar, TU Darmstadt 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 1 Gliederung 1. Ziele des Projekts 2. Projektablauf / Projektabschnitte 2.1 Vorab-Analyse 2.2 Modellierung der Geschäftsprozesse 2.3 Kapselung der bestehenden Anwendung 2.4 Auswahl externer Webservices 2.5 Erstellung von Webservices 2.6 Datenbank-Integration 2.7 Implementierung der Anwendung 2.8 GUI-Design 2.9 Qualitätssicherung 3. Fazit / Projekt-Review 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 2 1. Ziele des Projekts Kapselung einer bestehenden Legacy-Anwendung als Webservice → Software AG EntireX Legacy Integrator Erweiterung dieser Anwendung durch Integration verschiedener, externer Webservices → Software AG Application Composer Schaffung eines integrierten, umfassenden Buchungssystems für Segeltouren → Proof-of-concept für die Umsetzung und produktive Verwendung Serviceorientierter Architekturen 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 3 2.1 Vorab-Analyse Analyse der SAG-tours-Anwendung Ablauf eines Buchungsprozesses feststellen Damit zusammenhängende Programmkomponenten (Subprogramme) identifizieren Klassifikation in interne und externe Prozesse Zusatzleistungen identifizieren Vorauswahl externer Services Grobe, informelle Beschreibung der Prozesse Optimierung der Benutzbarkeit für den Endkunden Optimierung der Abläufe für GlobeSail 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 4 2.2 Modellierung der Geschäftsprozesse (1) Ziel: Formale Darstellung aller relevanten Prozesse Einheitliche, formalisierte Darstellung Modellierung des bisherigen und geplanten Anwendungsablaufs Identifikation von Erweiterungspunkten Aufgetretene Probleme und Fragen Umstieg von Microsoft Visio auf Visual Paradigm Business Process Visual ARCHITECT 2.0 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 5 2.2 Modellierung der Geschäftsprozesse (2) Modellierung in BPMN Relativ gute Standardisierung Nähe zu BPEL als geplante Umsetzungssprache Prinzipielle Unterscheidung Betriebsprozesse: Interne, administrative Abläufe – kein Kundenkontakt Anlegen, Bearbeiten, Löschen von Personen Verwaltung der Reiseangebote Geschäftsprozess: Externe Abläufe, intensiver Kundenkontakt Im Wesentlichen ein komplexer, integrierter Buchungsprozess 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 6 2.3 Kapselung der bestehenden Anwendung (1) Ziel: Bereitstellung der Legacy-Funktionalität als Webservice Nutzung der vom Auftraggeber bereitgestellten Natural/AdabasInfrastruktur Konfiguration und Einrichtung von EntireX Extraktion der IDL-Beschreibungen aus Natural Generierung des Webservices Automatische Erstellung von WSDL-Files auf Grundlage der bereinigten IDL-Files Deployment der Kapselung auf dem Tomcat Application Server Integration der Services in CentraSite zur späteren Verwendung im Application Composer 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 7 2.3 Kapselung der bestehenden Anwendung (2) 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 8 2.3 Kapselung der bestehenden Anwendung (3) Aufgetretene Probleme Fehlende Vorinstallation des EntireX-Wrappers Aufruf der Webservices führt zur Fehlermeldung des RPC-Servers Fehlerhafte Konfiguration des RPC-Servers, mit Hilfe des SAG-Supports behoben Test der Kapselung mittels XML Tester und Altova XML Spy 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 9 2.4 Auswahl externer Webservices (1) Ziel: Auswahl geeigneter externer Services Wesentliche Kriterien Dauerhafte, kostenfreie Verfügbarkeit des Services Kompatibilität zum SOAP-Protokoll Verfügbarkeit einer Sandbox Geplante Services Musskriterien Flüge für An- und Abreise Hotelreservierungen für Übergangsübernachtungen Wetterprognosen für die Segelroute im Reisezeitraum Start- und Zielhafen der Segelroute mittels Karten anzeigen lassen Kreditkartenzahlung Bestätigung der Buchung via E-Mail Versicherung (Reiserücktritts-, Haftpflicht- und Krankenversicherung) 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 10 2.4 Auswahl externer Webservices (2) Geplante Services Sollkriterien Mietwagen Paypal Verpflegung Kannkriterien Fotos Währungsrechner Veranstaltungskalender Aufgetretene Probleme Viele Dienste gebührenpflichtig Einige Dienste existieren nicht in der benötigten Form 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 11 2.4 Auswahl externer Webservices (3) Wetter Kostenpflichtig, insb. historische Wetterdaten (z.B. Strikeiron) Geographisch eingeschränkt (z.B. NOAA) Bilder (z.B. zum Zielort) Flickr bietet lediglich APIs, keine WSDL-Datei Proprietäre Lösung, zu hoher Integrationsaufwand Währung Geeigneter Service (WebserviceX Currency Convertor) gefunden Aufgrund zeitlicher Schwierigkeiten auf Implementierung verzichtet 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 12 2.4 Auswahl externer Webservices (4) Karten Microsoft MapPoint mittels SOAP-Protokoll nutzbar Wegen Integration in Application Composer dennoch Google Maps verwendet Veranstaltung, Proviant Nur lokale Dienste verfügbar, zumeist nicht als Webservice Mietwagen, Flug Große Anbieter offerieren keinen Zugriff über Webservices Sabre Travel Network: Kostenpflichtig, Anfrage zu akademischer Nutzung blieb unbeantwortet 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 13 2.4 Auswahl externer Webservices (5) Hotel Ähnliche Situation wie bei Flugbuchung Hotelreservierung funktioniert nur mit Umleitung auf deren Seite, widerspricht dem integrativen Ansatz des Projekts Versicherung Kein Zugriff über Webservices bekannt, Versicherungsrechner nur manuell per Web abrufbar Zahlungsdienste PayPal: Sandbox, sowohl PayPal- als auch Kreditkartentransaktionen WSDL nicht integrierbar, trotz Support-Anfrage 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 14 2.5 Erstellung von Webservices (1) Ziel: Erstellung von Dummy-Webservices Nachbildung realer Webservices, die nicht kostenfrei verfügbar oder integrierbar waren Erstellung von Webservices mit bestimmten, real nicht verfügbaren Funktionalitäten Aufgetretene Probleme Kompatibilität mit Application Composer, insb. sinnvolle Kapselung der Rückgabewerte 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 15 2.5 Erstellung von Webservices (2) Verwendung von NetBeans 5.5 Breite Unterstützung für Erstellung von Webservices in Java Integrierter Sun Application Server 9 Wesentliche Bestandteile Eigentlicher Webservice, in Java-Methoden abgebildet Message Handler, von NetBeans automatisch erzeugt Kapselung von Input und Output in eigenen Klassen Datenbank-Integration Ebenfalls mittels Webservice gelöst 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 16 2.5 Erstellung von Webservices (3) Erstellung eines Mailservice in PHP Verwendung des PEAR-Framework Variante 1: Versand einer reinen Text-E-Mail Variante 2: Versand einer Rechnung als PDF Integration leider nicht gelungen 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 17 2.6 Datenbank-Integration (1) Ziel: Verwalten von zusätzlichen Daten, die im Rahmen der Erweiterung des Prozesses anfallen Wahl einer Datenbank-Lösung Aufbau einer sinnvollen Datenbank-Struktur Integration dieser Lösung in das Projekt Aufgetretene Probleme Keine ☺ 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 18 2.6 Datenbank-Integration (2) Erweiterung der bestehenden DB-Lösung (Adabas) Modifikation bestehender, Anlegen zusätzlicher Tabellen Vorteile: Gefahr von Inkonsistenzen zwischen DBs vermieden Nachteile: Zugriff nur mittels Adabas-Subprogramm Einführung einer weiteren DB (MySQL) Betrieb unabhängig von der Legacy-Datenbank Vorteile: Freie Gestaltung der Datenbankstruktur, freie Wahl der Kapselung Nachteile: Konsistenz der DBs ggf. schwierig zu erhalten, erhöhte Anforderungen an das Server-System 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 19 2.6 Datenbank-Integration (3) Aufbau der Datenbank-Struktur Zusätzliche Tabellen für die Erweiterung des Legacy-Systems, bspw. Ablegen der Teilnehmerdaten Tabellen für die Daten der Dummy-Webservices Ablegen der Eingabe- und Ausgabeparameter Buchungsnummer als Primärschlüssel Webservice für DB-Zugriff erstellt Kapselt jeweils Zugriff auf einzelne Tabellen Keine native SQL-Ausführung aus der Anwendung heraus 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 20 2.7 Implementierung der Anwendung (1) Ziel: Implementierung der in BPMN modellierten Prozesse in BPEL Aufgetretene Probleme: Übergabe von Variablen Zuweisung von Variablen Integration von Webservices Hardwareprobleme Dokumentation nicht ausführlich genug 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 21 2.7 Implementierung der Anwendung (2) BPEL Processing Direkter Aufruf von Webservices Direkte Zuweisung von einfachen Variablen Grafische Modellierung des BPELProzesses 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 22 2.7 Implementierung der Anwendung (3) Java Processing Implementierung des BPEL-Prozesses direkt in Java Klassen-Struktur wird automatisch für Seiten generiert Statische globale Variablen zur Übergabe SOAP-Response kann ausgelesen und bearbeitet werden Klassisches Java Exception-Handling Validierung von Feldern 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 23 2.7 Implementierung der Anwendung (4) Seitenstruktur Definition der Seitenreihenfolge Generierung der Seitenverbindungen GUI und BPEL automatisch angelegt 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 24 2.8 GUI-Design (1) Ziel: Anpassung der Benutzeroberfläche Grafisch ansprechend, benutzerfreundlich Nutzung der Application Designer-Komponente Entwurf und Anpassung der Benutzeroberfläche parallel zum Implementierungsprozess Gestaltung eines Logos Verwendung von vorgegebenen Designelementen Aufgetretene Probleme Fehler in Application Designer, die Neustart nötig machten 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 25 2.8 GUI-Design (2) 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 26 2.9 Qualitätssicherung (1) Ziel: Sicherstellung der Qualität der Anwendung Einheitliches Schema Name Akteur Vorbedingungen Testschritte Erwartetes Ergebnis Daten zur Durchführung Ergebnis des Tests Name Akteur Vorbedingungen Testschritte Erwartetes Ergebnis Test durchgeführt von Test durchgeführt am Testergebnis Anmerkungen Der Name bzw. die Bezeichnung des Testfalls. Der Benutzer, in dessen Kontext der Testfall durchgeführt wird. Bedingungen, die vor Durchführung des Tests zu erfüllen sind. Die einzelnen Testschritte in chronologischer Reihenfolge. Das nach Ausführung des Tests erwartete Ergebnis. Der Name des Mitarbeiters, welcher den Test durchgeführt hat. Das Datum, an dem der Test durchgeführt wurde. positiv negativ Weitere Anmerkungen zum Testfall oder dessen Ergebnis. Aufgetretene Probleme und Fragen Knapper Zeitrahmen 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 27 2.9 Qualitätssicherung (2) Testfälle zu den Betriebsprozessen Anlegen, Löschen, Bearbeiten von Objekten Manuelle Kontrolle in der Datenbank Testfälle zum Geschäftsprozess Alle Einzelschritte des Geschäftsprozesses Manuelle Kontrolle in der Datenbank Sonstige Tests Über den in EntireX integrierten „HTTP Test“ Mittels Tester-Komponente von NetBeans Nutzung von Altova XML Spy 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 28 3. Fazit / Projekt-Review Ambitionierter Zeitplan (drei Monate) Wegen technischer Probleme zusätzliche Verzögerung im Zeitplan Unerwartete Schwierigkeiten Absturz einer virtuellen Maschine zwang zur Rekonstruktion anhand von Backups → Datenverlust, Verzögerung Integration externer, kostenloser Webservices schwierig Vielzahl von Support Requests nötig → Verzögerungen Gesamtergebnis Produktives System wurde als Endergebnis erreicht! 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 29 Vielen Dank für Ihre Aufmerksamkeit! 20.11.2007 | Fachbereich Elektrotechnik und Informationstechnik | KOM – Multimedia Communications Lab | Prof. Dr.-Ing. Ralf Steinmetz | 30