280 likes | 415 Views
.consulting .solutions .partnership. 9. Informatik-Tag an der Hochschule Mittweida (FH). Service-orientierte Architektur (SOA) in der Praxis. Robert Meyer 8. November 2007 msg systems ag, GS Chemnitz, Carolastraße 2, D-09111 Chemnitz msgchemnitz@msg-systems.com, Tel. (0371) 67403-0. Agenda.
E N D
.consulting .solutions .partnership 9. Informatik-Tag an der Hochschule Mittweida (FH) Service-orientierte Architektur (SOA) in der Praxis Robert Meyer 8. November 2007msg systems ag, GS Chemnitz, Carolastraße 2, D-09111 Chemnitz msgchemnitz@msg-systems.com, Tel. (0371) 67403-0
Agenda • Einführung und Aufgabenbeschreibung • Einordnung in das Themengebiet SOA • Beschreibung des Prototyps • Einsatz des Model Driven Software Development • Implementierte Services • Zusammenfassung • Ausblick
Agenda • Einführung und Aufgabenbeschreibung • Einordnung in das Themengebiet SOA • Beschreibung des Prototyps • Einsatz des Model Driven Software Development • Implementierte Services • Zusammenfassung • Ausblick
Einführung – AFIS / Produktmanager • „Produktmanager“ • Assekuranz-Finanz-Informations-System „AFIS“
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)
Agenda • Einführung und Aufgabenbeschreibung • Einordnung in das Themengebiet SOA • Beschreibung des Prototyps • Einsatz des Model Driven Software Development • Implementierte Services • Zusammenfassung • Ausblick
Einordnung in das Themengebiet SOA 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 der Services SOA: • Vorgehensweise und abstraktes Modell der Software-Architektur • Abbildung von Geschäftsprozessen durch Orchestrierung von Services • daher individuell ausgeprägt
Agenda • Einführung und Aufgabenbeschreibung • Einordnung in das Themengebiet SOA • Beschreibung des Prototyps • Einsatz des Model Driven Software Development • Implementierte Services • Zusammenfassung • Ausblick
Bestandteile der Arbeit Fehlerbehandlung Domainobjekt-Modell Laufzeitumgebung Schnittstellen Abgrenzung Mathematik AFIS.SALES Persistenz Logging Performance Architektur
Domainobjekt-Modell Police 1 * Vertrag 1 * Versichertes Objekt 1 * Leistung • Abbildung der realen Police im System • strukturiert • minimale Ausprägung im Rahmen des Diploms Kapselung aller Verträge Hausratversicherung, Schadenshaftpflicht, Feuerversicherung... Gegenstand des Vertrages (Person, Tier, Sache) Versicherungssumme, Beitrag
Schnittstellen der Services DTOs XML-String DTOs DOs Anforderungen • Police-Daten • strukturiert Daten-Transfer-Objekte XML-Parser JAXB 1.0 Lösung • 2 Schnittstellen implementiert • XML-Form, • Objektform DO ... Domainobjekte DTO ... Daten-Transfer-Objekte SALES-Services
Persistenz DOs DAO DAO DAO DAOs AFIS-DB • Parallelbetrieb Grundlage bildet AFIS-Datenbank (DB2) • vorhandene Persistenz-Frameworks ungeeignet (Hibernate, Java Persistence API, …) 1 : 1 SALES-Services • Nutzung der Data Access Objects (DAO) • DAOs kapseln Zugriffslogik (insert, select, delete, update) • pro Domainobjekt (DO) ein DAO • Verbindung über JDBC
Abgrenzung fachlicher Mathematik Versicherungsmathematik: Tarifierung (Beitragsberechnung) und Mathematik: 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
Fehlerbehandlung • technische Fehler und Benutzerfehler • eingeteilt in 3 Kategorien:
Architektur • Value-Objekte • Daten-Kapsel • Initialisierung 1:1 mit Domainobjekte
Laufzeitumgebung Vorteile: • Transaktionsmanagement • Ausfallsicherheit • ... • Application-Server BEA WebLogic • andere auf Kundenwunsch einsetzbar
Agenda • Einführung und Aufgabenbeschreibung • Einordnung in das Themengebiet SOA • Beschreibung des Prototyps • Einsatz des Model Driven Software Development • Implementierte Services • Zusammenfassung • Ausblick
Funktionsweise des MDSD • Model Driven Software Development OAW ... Open Architecture Ware
Agenda • Einführung und Aufgabenbeschreibung • Einordnung in das Themengebiet SOA • Beschreibung des Prototyps • Einsatz des Model Driven Software Development • Implementierte Services • Zusammenfassung • Ausblick
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)
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
Agenda • Einführung und Aufgabenbeschreibung • Einordnung in das Themengebiet SOA • Beschreibung des Prototyps • Einsatz des Model Driven Software Development • Implementierte Services • Zusammenfassung • Ausblick
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
Agenda • Einführung und Aufgabenbeschreibung • Einordnung in das Themengebiet SOA • Beschreibung des Prototyps • Einsatz der Model Driven Architecture • Implementierte Services • Zusammenfassung • Ausblick
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
Vielen Dank für Ihre Aufmerksamkeit! .consulting .solutions .partnership