soa in der praxis, robert meyer, 8.11.2007 1.consulting.solutions.partnership b service-orientierte...
TRANSCRIPT
SOA in der Praxis, Robert Meyer, 8.11.2007 1
.consulting .solutions .partnership
B
.consulting .solutions .partnership
Service-orientierte Architektur (SOA) in der Praxis
Robert Meyer8. November 2007
msg systems ag, GS Chemnitz, Carolastraße 2, D-09111 Chemnitz [email protected], Tel. (0371) 67403-0
9. Informatik-Tag an der Hochschule Mittweida (FH)
SOA in der Praxis, Robert Meyer, 8.11.2007 2
.consulting .solutions .partnership
B
1. Einführung und Aufgabenbeschreibung2. Einordnung in das Themengebiet SOA3. Beschreibung des Prototyps4. Einsatz des Model Driven Software Development5. Implementierte Services6. Zusammenfassung7. Ausblick
Agenda
SOA in der Praxis, Robert Meyer, 8.11.2007 3
.consulting .solutions .partnership
B
1. Einführung und Aufgabenbeschreibung2. Einordnung in das Themengebiet SOA3. Beschreibung des Prototyps4. Einsatz des Model Driven Software Development5. Implementierte Services6. Zusammenfassung7. Ausblick
Agenda
SOA in der Praxis, Robert Meyer, 8.11.2007 4
.consulting .solutions .partnership
B
Einführung – AFIS / Produktmanager
Assekuranz-Finanz-Informations-System „AFIS“„Produktmanager“
SOA in der Praxis, Robert Meyer, 8.11.2007 5
.consulting .solutions .partnership
B
Aufgabenstellung
Aufgabe: Flexibilisierung von AFIS.PS bezüglich neuer Anforderungen Prototyp-Implementierung als Nachweis
Vorgaben: Nutzung aktueller Technologien Parallelbetrieb zu altem AFIS.PS (kein „Big Bang“) Minimierung von Entwicklungsaufwand
Lösung: fachliche Logik als Dienste in einer service-orientierten Architektur Services als weitere Schnittstelle Einsatz des Model Driven Software Development (MDSD)
SALES – Services Applied to Legacy Systems (deutsch: Dienste, angewendet auf Alt-Systeme)
SOA in der Praxis, Robert Meyer, 8.11.2007 6
.consulting .solutions .partnership
B
Zielstellung
SOA in der Praxis, Robert Meyer, 8.11.2007 7
.consulting .solutions .partnership
B
1. Einführung und Aufgabenbeschreibung2. Einordnung in das Themengebiet SOA3. Beschreibung des Prototyps4. Einsatz des Model Driven Software Development5. Implementierte Services6. Zusammenfassung7. Ausblick
Agenda
SOA in der Praxis, Robert Meyer, 8.11.2007 8
.consulting .solutions .partnership
B
Einordnung in das Themengebiet SOA
SOA: Vorgehensweise und abstraktes Modell der Software-Architektur Abbildung von Geschäftsprozessen durch Orchestrierung von Services daher individuell ausgeprägt
Service-Identifikation
Service-Spezifikation
Service-Realisierung
Service-Komposition
Service-Implementierung
Welche Services werden benötigt?
Benötigte Schnittstellen, Protokolle?Rolle des Service im Gesamtkontext?
Welche Komponente der IT-Landschaft bietet welchen Service?
Abbildung von Geschäftspro-zessen durch Orchestrierung
Implementierung derServices
SOA in der Praxis, Robert Meyer, 8.11.2007 9
.consulting .solutions .partnership
B
1. Einführung und Aufgabenbeschreibung2. Einordnung in das Themengebiet SOA3. Beschreibung des Prototyps4. Einsatz des Model Driven Software Development5. Implementierte Services6. Zusammenfassung7. Ausblick
Agenda
SOA in der Praxis, Robert Meyer, 8.11.2007 10
.consulting .solutions .partnership
B
Bestandteile der Arbeit
AFIS.SALESArchitektur
Domainobjekt-Modell
Schnittstellen
Persistenz
FehlerbehandlungLogging
Performance
Laufzeitumgebung
Abgrenzung Mathematik
SOA in der Praxis, Robert Meyer, 8.11.2007 11
.consulting .solutions .partnership
B
Domainobjekt-Modell
Abbildung der realen Police im System strukturiert minimale Ausprägung im Rahmen des Diploms
Police
1
Leistung
*
Versichertes Objekt
1
*
Vertrag
1
*
Kapselung aller Verträge
Hausratversicherung, Schadenshaftpflicht, Feuerversicherung...
Gegenstand des Vertrages (Person, Tier, Sache)
Versicherungssumme, Beitrag
SOA in der Praxis, Robert Meyer, 8.11.2007 12
.consulting .solutions .partnership
B
Schnittstellen der Services
Anforderungen Police-Daten strukturiert
Lösung 2 Schnittstellen
implementiertXML-Form,Objektform
Daten-Transfer-Objekte
DTOs
DOs
XML-ParserJAXB 1.0
DTOs
XML-String
SALES-ServicesDO ... DomainobjekteDTO ... Daten-Transfer-Objekte
SOA in der Praxis, Robert Meyer, 8.11.2007 13
.consulting .solutions .partnership
B
Persistenz
Parallelbetrieb Grundlage bildet AFIS-Datenbank (DB2) vorhandene Persistenz-Frameworks ungeeignet
(Hibernate, Java Persistence API, …)
DOs
1 : 1DAO
DAODAO
DAOs
AFIS-DB
SALES-Services
Nutzung der Data Access Objects (DAO) DAOs kapseln Zugriffslogik (insert, select, delete, update) pro Domainobjekt (DO) ein DAO
Verbindung über JDBC
SOA in der Praxis, Robert Meyer, 8.11.2007 14
.consulting .solutions .partnership
B
Abgrenzung fachlicher Mathematik
Versicherungsmathematik: Tarifierung (Beitragsberechnung) undMathematik: Validierung (Datenüberprüfung)
Zielstellung: stärkere Nutzung des Produktmanagers komplette Auslagerung beider Komponenten nach msg.PM Vorteil: Kunde kann selbst Regeln festlegen
Anforderungen an SALES: Schaffung einer Schnittstelle Produkt-Manager-Objekte (PMO) Verbindung, Initialisierung, Ausführung, Mapping
Unabhängigkeit: bei Bedarf andere Produktmanagement-Systeme einsetzbar Anpassung der PMOs
SOA in der Praxis, Robert Meyer, 8.11.2007 15
.consulting .solutions .partnership
B
Fehlerbehandlung
technische Fehler und Benutzerfehler eingeteilt in 3 Kategorien:
Kategorie Beispiel
falsche Parameter (Benutzerfehler)
falscher Datentyp eines Attributs fehlender Wert bei Pflichtattribut falscher Bereich (Geburtsdatum in Zukunft)
Fehler bei der logischen Verarbeitung (Benutzerfehler)
Auswahl eines „Eigenheims“ als versichertes Objekt im Rahmen einer Kasko-Versicherung
technische Fehler fehlende Datenbankverbindung fehlende Verbindung zum Runtime-Server
SOA in der Praxis, Robert Meyer, 8.11.2007 16
.consulting .solutions .partnership
B
Architektur
Value-Objekte Daten-Kapsel Initialisierung 1:1 mit
Domainobjekte
SOA in der Praxis, Robert Meyer, 8.11.2007 17
.consulting .solutions .partnership
B
Laufzeitumgebung
Application-Server BEA WebLogic andere auf Kundenwunsch einsetzbar
Vorteile: Transaktionsmanagement Ausfallsicherheit ...
SOA in der Praxis, Robert Meyer, 8.11.2007 18
.consulting .solutions .partnership
B
1. Einführung und Aufgabenbeschreibung2. Einordnung in das Themengebiet SOA3. Beschreibung des Prototyps4. Einsatz des Model Driven Software Development5. Implementierte Services6. Zusammenfassung7. Ausblick
Agenda
SOA in der Praxis, Robert Meyer, 8.11.2007 19
.consulting .solutions .partnership
B
Funktionsweise des MDSD
Model Driven Software Development
OAW... Open Architecture Ware
SOA in der Praxis, Robert Meyer, 8.11.2007 20
.consulting .solutions .partnership
B
1. Einführung und Aufgabenbeschreibung2. Einordnung in das Themengebiet SOA3. Beschreibung des Prototyps4. Einsatz des Model Driven Software Development5. Implementierte Services6. Zusammenfassung7. Ausblick
Agenda
SOA in der Praxis, Robert Meyer, 8.11.2007 21
.consulting .solutions .partnership
B
Service „AnlegenPolice“
Nachweis der Funktionsweise des Framework neben Ändern-Service größte Breite zu konzipierender Funktionalitäten
Fachliches Ziel: Erfassung, Prüfung, Beitragsberechnung und Speicherung von
Policendaten
Nutzen: erfolgreiche Tests bescheinigen korrekte Funktionsweise aller
Framework-Bestandteile (Hauptaugenmerk auf Kommunikation mit msg.PM)
Parallelbetrieb mit AFIS.PS nachgewiesen (durch SALES erstellte Policen in AFIS.PS weiterverarbeitet)
SOA in der Praxis, Robert Meyer, 8.11.2007 22
.consulting .solutions .partnership
B
Service „TarifierenKFZVertrag“
Nachweis der Flexibilität im Umgang mit anderen Policen-Strukturen (Verarbeitung von Kfz-Policen)
Fachliches Ziel: Erfassung, Prüfung und Beitragsberechnung von Policendaten
Nutzen: Implementierung des Services in identischer Struktur wie
„AnlegenPolice“ Framework lässt sich problemlos auf andere Strukturen übertragen Berechtigung des Codegenerators nachgewiesen
SOA in der Praxis, Robert Meyer, 8.11.2007 23
.consulting .solutions .partnership
B
1. Einführung und Aufgabenbeschreibung2. Einordnung in das Themengebiet SOA3. Beschreibung des Prototyps4. Einsatz des Model Driven Software Development5. Implementierte Services6. Zusammenfassung7. Ausblick
Agenda
SOA in der Praxis, Robert Meyer, 8.11.2007 24
.consulting .solutions .partnership
B
Zusammenfassung
Weg der Flexibilisierung von AFIS wurde durch Prototyp aufgezeigt Services leicht austauschbar bei neuen Anforderungen Kunde mit erhöhten Eingriffsmöglichkeiten durch msg.PM-Nutzung Grundlage zum Aufbau der SOA durch Services geschaffen
Funktionsweise des MDSD wurde nachgewiesen Minimierung von Entwicklungszeit möglich Minimierung des Aufwandes bei Änderungswünsche in Zahlen:
189 Klassen für 9 Domainobjekte generierbar erspart manuelle Entwicklung von 21 Klassen pro Domainobjekt
SOA in der Praxis, Robert Meyer, 8.11.2007 25
.consulting .solutions .partnership
B
1. Einführung und Aufgabenbeschreibung2. Einordnung in das Themengebiet SOA3. Beschreibung des Prototyps4. Einsatz der Model Driven Architecture5. Implementierte Services6. Zusammenfassung7. Ausblick
Agenda
SOA in der Praxis, Robert Meyer, 8.11.2007 26
.consulting .solutions .partnership
B
Ausblick
Vervollständigung des „AnlegenPolice“-Services Police in kompletter Ausprägung
Implementierung des Code-Generators
Erstellung der fehlenden Services (Lesen, Ändern, ...)
Anbindung weiterer Module aus AFIS
SOA in der Praxis, Robert Meyer, 8.11.2007 27
.consulting .solutions .partnership
B
Demo-GUI
SOA in der Praxis, Robert Meyer, 8.11.2007 28
.consulting .solutions .partnership
B
.consulting .solutions .partnership
Vielen Dank für Ihre Aufmerksamkeit!