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