Engineering Solutions



Ähnliche Dokumente
b+m Informatik AG Langlebige und zukunftsfähige modellgetriebene Softwaresysteme? Thomas Stahl b+m Informatik AG

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava

Service-Orientierte InterSystems GmbH 2009

Vortrag von: Ilias Agorakis & Robert Roginer

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Qualitätsmanagement im Projekt

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

SDD System Design Document

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Architekturplanung und IS-Portfolio-

Model Driven Architecture (MDA)

Grundlagen Software Engineering

Agile Softwareentwicklung in der Versicherungs-IT Fehlschlag oder Heilsbringer?

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt

Enterprise Architecture Management (EAM)

EAM Ein IT-Tool? MID Insight Torsten Müller, KPMG Gerhard Rempp, MID. Nürnberg, 12. November 2013

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Fallbeispiel. Auswahl und Evaluierung eines Software- Lokalisierungstools. Tekom Herbsttagung 2004 Angelika Zerfaß

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Laufzeitverifikation

Comparing Software Factories and Software Product Lines

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

Aktuelle Abschlussarbeiten

Programmieren ohne Programmierer Das GeneSEZ Generator Framework. Gerrit Beine

Integration mit Service Repositories zur SOA Governance

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

itestra Software Tuning Mehr Leistung. Weniger Kosten. Software Productivity

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Workflow Systeme mit der Windows Workflow Foundation

Robert Hartmann Public v1.0 (Feb 2015) Architektur & Agilität - Praxisbericht

Ihr + Beratungs-, Entwicklungs- und Integrationsdienstleistungen der Finanz Informatik Solutions Plus. FISP-Unternehmenspräsentation 1

Ein subjektiver Vergleich zwischen SSIS und Kettle mit Ausblick auf die Generierung von BI-Lösungen

Managed Services als strategische Lösung. Typische Aufgaben. Wir schaffen Ihnen Freiräume!

Beratung, Projektmanagement und Coaching

P030 The Open Group Architecture Framework (TO-GAF) als Unternehmensarchitektur Methode für die Bundesverwaltung

Titel BOAKdurch Klicken hinzufügen

INNOVATOR im Entwicklungsprozess


Modellgetriebene Service-Entwicklung

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Einführung in Generatives Programmieren. Bastian Molkenthin

Über den Unterschied zwischen Business Analysis und Requirements Engineering & Management

FORGE2015 HDC Session 4. Nachhaltige Infrastruktur als technologische Herausforderung. Tibor Kálmán Tim Hasler Sven Bingert

Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen

Kontinuierliche Architekturanalyse. in 3D

Enterprise Architecture Management für Krankenhäuser. Transparenz über die Abhängigkeiten von Business und IT

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Relative Ideen-Stärke

Andrea Grass & Dr. Marcus Winteroll oose Innovative Informatik GmbH. Geschäftsprozessmanagement und Agilität geht das zusammen?

Java Enterprise Architekturen Willkommen in der Realität

Use Cases. Use Cases

Einführungsstrategien komplexer IT-Lösungen

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

BPM im Kontext von Unternehmensarchitekturen. Konstantin Gress

Personalentwicklung. Umfrage zur Personalentwicklung. Februar Cisar - consulting and solutions GmbH. In Zusammenarbeit mit

Planung, Auswahl und Ingest

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Seamless Model-based Engineering of a Reactive System

A023 DNS Services. IKT-Architekturvorgabe. Ausgabedatum: Version: Ersetzt: 1.01

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

München, Themenvorschläge für Abschlussarbeiten Zur Abstimmung mit Prof. Brecht

BPMN verdrängt die EPK? Warum BPMN alleine nicht reicht

Traceability-Modell als Erfolgsfaktor für Process Enactment. Paul-Roux Wentzel, SEE 2008

EAM und ITIL ein integrierter Ansatz EAMKOM Referent: Martin Baumann, Senior Enterprise- und IT-Architekt Datum: 9.

Faktor-IPS. Modellgetriebene Softwareentwicklung mit Faktor-IPS. Faktor Zehn AG. Seite 1

ITIL und Service Orientierung im IT Service Management

Fachhochschule für Technik und Wirtschaft Berlin FB4: Wirtschaftsinformatik

bruederlinpartner «Nearshoring auf höchstem Niveau!»

Herausforderungen des Enterprise Endpoint Managements

SERVICE SUCHE ZUR UNTERSTÜTZUNG

Anforderungen an die HIS

Model Driven Development im Überblick

Effizenzsteigerung bei Villeroy & Boch durch den Einsatz von Magento und Zend

MyProcess AG Kurzprofil

Model-Driven Development in Scrum-Projekten

Requirements-Traceability in der industriellen Praxis Ziele und Einsatz

Fragebogen: Abschlussbefragung

Ansätze zur Synchronisation von Enterprise Architecture Management, Prozessmanagement und SAP. Ralf Ackermann Daimler AG, ITM MBC Powertrain

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

AGILE APPLICATION LIFECYCLE MANAGEMENT IM ATLASSIAN ECOSYSTEM

Universität Zürich Informatikdienste. SpamAssassin. Spam Assassin Go Koordinatorenmeeting 27. April

Übungsklausur vom 7. Dez. 2007

Dokumentation, Analyse, Optimierung,

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

Stolpersteine für den erfolgreichen Einsatz

Agile Softwareentwicklung in der Versicherungs-IT Fehlschlag oder Heilsbringer?

Automatisiertes End-to-end Testen von Enterprise Applikationen

16.4 Wiederverwendung von COTS-Produkten

Generative Prozessmodelle Patrick Otto MDD Konferenz

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Transkript:

Engineering Solutions Architekturzentrierte Modernisierung von Softwaresystemen Softwareforen Leipzig User Group Softwarearchitektur Thomas Stahl CTO, b+m Informatik AG 1 www.bmiag.de

Architekturzentrierte Modernisierung - Agenda Motivation Konzept Fallbeispiele Ausblick Diskussion 2 www.bmiag.de

b+m engineering - technologische Expertise und Methodenkompetenz im Softwareengineering Architekturberatung EAM, BPM, SOA, SW-Architektur, Model-Driven Engineering Softwareentwicklung / Softwareengineering MDSD / DSL-Engineering, Softwarefabrik b+m gear, Entwicklung (Java,.NET u.a.) Einführungs- und Betriebsunterstützung / Support Unterstützung der gesamten Wertschöpfungskette Branchenübergreifende Fach- und Prozessberatung Modernisierung / fachliche Prozessoptimierung 3 www.bmiag.de 3

b+m engineering unsere Wurzeln Model-Driven Software Development openarchitectureware Xpand, Xtend 4 www.bmiag.de 4

Architekturzentrierte Modernisierung Motivation 5 www.bmiag.de 5

Typische Ausgangslage Erodierte Systeme/Systemlandschaft Das Anwendungssystem ist nicht am Ende des fachlichen LifeCycles, aber die Wartungs-, Entwicklungs- und ggf. Betriebskosten gefährden die Rentabilität. Es ist eine Modernisierung bzw. eine Ablösung durch ein Kaufprodukt geplant. Die Requirements-Baseline stellt das Altsystem dar aber wie kann man diese explizit machen? Modernisierung lässt sich gegenüber der Business-Seite nur als querschnittlicher Aspekt im Rahmen der fachlichen Weiterentwicklung platzieren Das System ist Teil einer Landschaft, die insgesamt und strategisch modernisiert werden soll damit kommt die EAM-Ebene ins Spiel 6 www.bmiag.de 6

Traditioneller Ansatz: Reengineering auf Code-Level Vorteile Vergleichsweise hoher Automationsgrad Nachteile Hoher Aufwand, Kosten Sehr niedrige technische Qualität (COBOL -> Java = JABOL ) Kein nachhaltiger Business-Nutzen: Keine Reduktion von Wartungskosten, geringe Anpassbarkeit/Flexibilität, gängige Entwickler-Skills im Zielsystem nicht anwendbar Das System wird nicht zukunftsfähig Übersetzung von Softwaresystemen auf programmiersprachlicher Ebene z.b. COBOL -> Java Legacy-Code Transformierter Code Legacy-System Neues System 7 7 www.bmiag.de 7

Abgrenzung Kurzfristige Rettung von Altsystemen Re-Hosting Reengineering auf Code-Level versus Nachhaltige Modernisierung (d.h. Erreichen von Zukunftsfähigkeit) -> nur durch Einbeziehung der Architektur-Ebene möglich! -> ggf. Paradigmenwechsel vollziehen (z.b. Service-Orientierung einführen) -> daher: Architekturzentrierte Modernisierung b+m Model-Driven Modernisation (MDM) 8 www.bmiag.de 8

Typische Einsatzgebiete für architekturzentrierte Modernisierung 9 www.bmiag.de 9

Architekturzentrierte Modernisierung Unser Konzept 10 www.bmiag.de 10

Architektur- und modellzentrierte Modernisierung 11 www.bmiag.de 11

Exkurs - Model-Driven Software Development (MDSD) Die rechte Seite des MDM-Hufeisens Architektur Modellierung System konform Plattform Generator Eingabe Modelle Formalisierung der Implementierung Formalisierung der Konzepte SW- Architektur konform generierte Artefakte handcrafted Code Abstraktion - Methodik - Tools Frameworks Nutzen Qualität Effizienz Wartbarkeit Automation Flexibilität 12 www.bmiag.de 12

Modernisierungs-Toolset Heterogenität Unterstützung unterschiedlicher Quell- und Ziel-Sprachen und -Plattformen mit einem Werkzeugkasten COBOL/EMF Konverter Analyse Restrukturierung C++/EMF Konverter Neutralisierung Von den Spezifika der Quellsprachen/-Plattformen wird möglichst früh abstrahiert und die enthaltenen Informationen auf die Modellebene (EMF) gehoben. Die Auffaltung auf die Spezifika der Zielsprachen/-Plattformen erfolgt erst im letzten Prozessschritt (Code-Generierung) JEE Generator Modell- Transformation Web-UI Generator Interoperabilität Die Implementierungstechnologie der Werkzeuge ist unabhängig von den Quell- und Zielsprachen der zu modernisierenden Software und basiert auf der Eclipse-Modeling Technologie. Das gilt sowohl für die Analyse- und Transformationswerkzeuge als auch für das Model-Repository 13 b+m Informatik AG 13

Das Model-Repository sichert Informationen Referenzen von außen nach innen Informationsgewinn von innen nach außen Die konkrete Informationsstruktur wird als Metamodell in das generische Model-Repository hinein konfiguriert. Somit ist das Repository auf das Modernisierungsszenario adaptierbar Architekturzentriert Nutzungszentriert Codezentriert z.b. Module, Prozeduren z.b. Services, Entitäten, Komponenten, Prozesse z.b. Anforderungen Use Cases Referenzen auf Artefakte außerhalb des Repositories 14 www.bmiag.de 14

Das Model-Repository bietet Sichten und Auswertungen Aufrufhäufigkeiten Dynamischer Aufruf-Graph auf Prozedurebene frmakte.suchen() : Void clsklasse.class_initialize() : Void frmakte.indexposlesen() : Void frmakte.cmdedit_click() : Void frmakte.abteilung() : Void frmakte.rtxtboxenthaelt_change() : Void frmakte.pruefung_ob() : Void frmakte.daten_binden() : Void frmakte.rtxtboxtitel_change() : Void frmakte.ob_sperren() : Void frmakte.felder_frei() : Void frmakte.setbuttons(boolean) : Void clsklasse.class_getdatamember(string,object) : Void frmakte.fuehrende_nullen(long) : Variant clsklasse.pruef_rechte() : Void frmakte.tool_menu_edit() : Void clsklasse.pruef_abt() : Void frmakte.felder_sichern() : Void clsklasse.adoprimaryrs_movecomplete(eventreasonenum,error,eventstatusenum,recordset) : Void frmakte.txtfields_change(integer) : Void Tabellarische Auflistung statischer Abhängigkeiten 15 www.bmiag.de 15

Das Model-Repository dient u.a. der Bestimmung von Footprints und Use Cases Von mehreren Use-Cases genutztes Modul Use-Case spezifisches Modul Relevante Einsatzszenarien z.b.: Teilablösung durch Standard-Software Auslagerung von Funktionalität in andere Systemteile oder Fremdsysteme 16 www.bmiag.de 16

Statische und dynamische Analyse fördert mehr als nur bloße Information zutage Die im Repository gesammelte Information sichert Wissen über die Altanwendung unabhängig von Kopfmonopolen erschließt und verwaltet das Wissen über die Altanwendung in einem Systemmodell erlaubt Nachdokumentation und erfüllt so auch (aufsichtsrechtliche) Dokumentationspflichten ermöglicht umfangreiche Analysen zur Anwendung (nicht genutzte Anwendungsteile, kritische Programmteile [z.b. besonders häufig genutzter oder zeitkritischer Code], Rekonstruktion von fachlicher Information [Use Cases und/oder Prozesse], Identifizierung von Performance-Engpässen, Überprüfung der Einhaltung von Programmierrichtlinien ) kann mit semantischen Anreicherungen technisch und fachlich ergänzt werden und ist somit fortschreibungsfähig unterstützt strategische Entscheidungen zur Anwendung kann als Ausschreibungsbasis für die Suche /Entwicklung einer Folgeanwendung genutzt werden ermöglicht eine belastbare Abschätzung der Modernisierungsaufwände ermöglicht die Transformation in ein modernisiertes Systemmodell 17 www.bmiag.de 17

Architekturzentrierte Modernisierung Fallbeispiel: Modernisierung einer VB6 Anwendung in Richtung einer modernen JEE-Architektur 18 www.bmiag.de 18

Modernisierung einer Visual-Basic 6 - Anwendung AIDA-SH: Automatisiertes Informations- und Dokumentationssystem für Archive -- Schleswig Holstein Verzeichnung Recherche Findbucherstellung Beständeübersicht 19 www.bmiag.de 19

Kurzportrait Ausgangssituation Client-Server-Anwendung in Visual Basic 6 Seit ca. 10 Jahren durchgehend vom selben Entwicklerteam betreut und gewartet Modernisierungstreiber Ablauf des Herstellersupports für die Entwicklungs- und Laufzeitumgebung Modernisierungsziel Reimplementierung des bestehenden Systems auf einer neuen Architektur und Plattform (JEE) 20 b+m Informatik AG 20

Exkurs Zielarchitektur: Aufbau der Softwarefabrik b+m gear Java Vom Persistenz-Framework zur ganzheitlichen SoftwareFabrik 21 www.bmiag.de 21

Auszug des Informationsmodells im Repository: Übernahme von Maskenflüssen Struktur / Code Architektur Fachlichkeit Ursprungsbeziehungen Use-Case Use-Case Flow View Event Activity View Transition Form Sub Klasse Methode Altsystem: Visual Basic 6 Modernisiertes System: JEE Anwendung 22 b+m Informatik AG 22

Dynamische Analyse - grobe Vorgehensskizze Originärer Code Instrumentierter Code Build, Deployment Instrumentierte Anwendung Instrumentierung Logging- Framework Ausführung Rohdaten Analyse Analyse- Ergebnisse 23 b+m Informatik AG 23

Transformation von Nutzungsszenarien zu Screenflows Code / Struktur Architektur 24 Altsystem b+m Informatik AG Neusystem 24

Identifikation von UseCases bzw. Screenflows Welche Use Cases sollen durch die modernisierte Anwendung unterstützt werden? Die VB6-Anwendung kennt das Konzept der Screenflows nicht, die Anwender arbeiten aber dennoch Use Case-orientiert. Die statische Aufrufbeziehungen der VB6-Eventhandler und -Forms liefern mögliche Maskenfolgen Die aufgezeichneten Traces ergeben die tatsächlich durchlaufenen Folgen Finetuning (z.b. durch Eingrenzen der Bearbeitungszeit) filtert False Positives 25 b+m Informatik AG 25

Analyse von Nutzungsverhalten Zu suchender Flow Flow-Detektor Gefundene Auftreten 26 Erhobene Traces b+m Informatik AG 26

Architekturzentrierte Modernisierung Fallbeispiel: Entwicklung einer Modernisierungsstrategie für ein Cobolbasiertes Kernsystem einer großen deutschen Versicherung 27 www.bmiag.de 27

Eine klassische COBOL Host-Anwendung Partner-Maske (Screenshot) 28 www.bmiag.de 28

Kurzportait Ausgangssituation Kernsoftwarekomponente in COBOL Strukturerosion über mehr als 20 Jahre und mehrere Entwicklergenerationen Aufnahme von fachfremder Funktionalität über die Lebenszeit Modernisierungstreiber Hohe Wartungskosten aufgrund struktureller Komplexität Hoher Beistellungsaufwand wegen fachfremder Teile Rückläufige Entwicklerkapazitäten im Bereich COBOL Modernisierungsziele Auftrennung in fachlich klar getrennte Komponenten Neuverteilung/Auslagerung von existierendem Code gemäß Ziel- Facharchitektur Plattformwechsel des verbleibenden Kernsystems Richtung JEE 29 b+m Informatik AG 29

Verbindung zur EAM-Ebene Strategie EAM-Pyramide Geschäftsarchitektur Informationsarchitektur Projektportfolio, Bebauungspläne, Anwendungslandschaft IT-Architekturen Feedback MDM- Hufeisen Management Anwendungs- Modernisierung 30 b+m Informatik AG 30

Informationsmodell im Model-Repository - Komponentisierung eines Altsystems Struktur / Code Architektur Fachlichkeit Komponente Modul Geschäftssystem Schnittstelle Copybook Altsystem: COBOL 31 b+m Informatik AG 31

Vorbereitung der dynamischen Analyse Herausforderung: Es gibt kein AOP / Bytecode Weaving für COBOL. Lösung: Automatisierte Instrumentierung des Quellcodes Herausforderung: Verknüpfen der Anwendungsfälle mit den zugehörigen Traces Lösung: Aufnahme zusätzlicher Kontextinformationen (insb. Benutzerkennung) in die Logdaten Werkzeuggestützte Aufnahme von Metadaten der Testdurchführung (Zeitintervall, Benutzerkennung) 32 b+m Informatik AG 32

Auswertungen auf Architekturebene Aggregation von statischen Aufrufbeziehungen auf Komponentenebene Tatsächliche Schnittstellen Nutzung der Komponenten in Anwendungsfällen 33 b+m Informatik AG 33

Migrationsstrategie, Planung und Bewertung Excel-basiertes Werkzeug zur Entwicklung von Modernisierungsstrategien inkl. der EAM- und PPM-Ebene (das betreffende Kernsystem ist immanenter Bestandteil einer Systemlandschaft) Analyseergebnisse und Modelle im Model-Repository dienen als Informationsbasis Schaffung einer Methodik zur Entwicklung und Bewertung von Modernisierungsstrategien: Vision/Zielbild -> Migrationspattern -> Maßnahmenkatalog -> Phasenmodelle -> Pfade und Varianten Synthetisierung von konkreten Phasenplänen, Kapazitätsbedarf, Aufwand und Kosten pro Variante => Ermöglichung einer validen Strategiebewertung, -Auswahl und Planung 34 b+m Informatik AG 34

Ausblick Regressionstests Dynamische Analyseergebnisse können zur Ableitung von Regressionstests verwendet werden. Kohärentes Requirements Management Im Laufe der Modernisierung muss die Fortentwicklung der Altanwendung im modernisierten System nachvollzogen werden. Technisch einheitliche Modelle der Systeme erlauben die explizite Modellierung von Maßnahmen. Durch den Zusammenhang der Modelle können auch Maßnahmen aufeinander bezogen werden. Auf diese Weise wird die Steuerung und Überwachung der betreffenden Maßnahmen in beiden Systemen deutlich vereinfacht. 35 b+m Informatik AG 35

Kontakt Thomas Stahl CTO Engineering Solutions b+m Informatik AG Rotenhofer Weg 20 24109 Melsdorf t.stahl@bmiag.de 36 T +49 4340 404-0 F +49 4340 404-111 www.bmiag.de 36