Softwaremodernisierung - wann ist welche Strategie sinnvoll?

Legacy-Systeme sind historisch gewachsen und dennoch häufig von großer Bedeutung für das Unternehmen. Technisch basieren die Systeme auf alten Technologien. Im Laufe der Jahre haben sich die Anforderungen geändert und neue Anforderungen sind hinzugekommen. Die saubere technische und fachliche Architektur ist im Lebenszyklus des Systems verloren gegangen. Die Wartung wird immer aufwendiger. Möglichkeiten neuer Technologien können nicht genutzt werden. Wann und in welcher Weise sollte ein System modernisiert werden? Neben dem grundsätzlichen Vorgehen zeigt dieser Artikel an zwei Projekten, wie GEDOPLAN die Aufgabe gelöst hat.

Bestehende Altanwendungen sind häufig noch von großer Bedeutung für das Unternehmen.  Allerdings  treten eine Reihe von Risiken auf. Es gibt keinen Support mehr für die eingesetzten Programmiersprachen, Betriebssysteme und Anwendungen. Aktuelle Sicherheitsanforderungen können nicht gewährleistet werden. Das Know-how des Wartungspersonals ist nicht mehr vorhanden.  Ebenso ändern sich im Lebenszyklus des Systems die Anforderungen und die Strategie des Unternehmens.

Die beschriebene Situation finden wir in vielen Unternehmen vor. Im Rahmen der Lünendonk-Studie wurden 2014 CIO s in Deutschland befragt, welchen Aufgaben die IT sich stellen muss. Softwaremodernisierung ist eines der Top Themen für das Jahr 2015. Die Budgets für Innovations- und Anpassungsprojekte werden erhöht.

Das Softwaresystem wird aus verschiedenen Sichten analysiert.

Am Anfang eines Softwaremodernisierungsprojektes steht die Betrachtung der bestehenden Lösung aus technischer Sicht. Sind die eingesetzte Programmiersprache und das Betriebssystem zukunftsfähig? Legacy-Systeme müssen in die neue Systemumgebung eingebunden werden. Die Systeme haben oft nur gewachsene Schnittstellen. Konzepte wie Webservices werden nicht unterstützt. Ein weiterer Aspekt ist Wartung und Weiterentwicklung der Anwendung. Nach langjähriger Systempflege sind ein modularer Systemaufbau und eine saubere Architektur oft nicht mehr zu erkennen. Eine Erweiterung der Funktionalität ist mit vertretbarem Aufwand ist nicht mehr möglich.

Sofern die Struktur des Systems noch tragfähig ist, ist ein Code-Review sinnvoll, um die Software zu renovieren. In der folgenden Beschreibung gehe ich beispielhaft von einer Java-Umgebung aus. Aus architektonischer Sicht sollte sich die Entwicklung an den standardisierten Java (EE) Technologien und Styleguides orientieren. Der Software-Entwicklungsprozess ist entscheidend für die Qualität der Anwendungsentwicklung. Gibt es eine Teamorganisation nach agilen Methoden wie Scrum? Durch welche Frameworks wird die Java-Programmierung unterstützt? Werden Werkzeuge für die Versionsverwaltung, den Build-Prozess und Continous Integration eingesetzt? Bei der Betrachtung der Laufzeitungumgebung spielen Application Server und Datenbanken eine wichtige Rolle. Eine Teststrategie ist für jedes Projekt unverzichtbar.
Neben der Analyse der technischen Aspekte muss die Software aus der Sicht des Business betrachtet werden. Welchen Wert hat das System für das Unternehmen? In viele Systeme ist spezifisches Know-how eingeflossen, das dem Unternehmen einen Vorteil am Markt bringt. Aus Sicht der Anwender müssen eine bedienerfreundliche Oberfläche und schnelle Antwortzeiten vorhanden sein. Das System muss sich in die langfristige Ausrichtung der IT-Landschaft  einfügen. Können die strategischen Ziele des Unternehmens mit dem bestehenden System erreicht werden? Gibt es wichtige Aspekte, die nur mit neuer Technologie realisiert werden können. Gerade die Nutzung des Internets liefert hier viele neue Möglichkeiten.

Es gibt typische Szenarien, die für eine Softwaremodernisierung sprechen.

  • Es fehlen Alternativen auf dem Standard-Softwaremarkt.
  • Wartungs- und Betriebskosten können insgesamt gesenkt werden.
  • Eine Firmenfusion erfordert Anwendungsintegration.
  • Die Anbindung von Lieferanten und Kunden erfordert die Modernisierung der Systeme.


Bei der Softwaremodernisierung gibt es verschiedene Strategien.   

Bei der Softwaremodernisierung gibt es verschiedene Strategien:  

Beibehalten, Warten, Sanieren.
Die technische Plattform der Software ist tragfähig. Es gibt allerdings Probleme z.B. bei der Performance oder bei der Wartung des Systems. Ein Code-Review  zeigt Verbesserungs- potentiale auf.  Im Projekt-Review werden Maßnahmen zur Verbesserung der Entwicklungsumgebung erarbeitet.

Migration.
Die Technische Plattform der Software ist proprietär und erfüllt nicht mehr die Anforderungen des Systems. In diesem Fall ist die Migration zu einer zukunftsfähigen, objektorientierten Anwendung sinnvoll. Hier kann z.B. ein System mit der Java (EE) Technologie erstellt werden. Die Softwarearchitektur wird neu erstellt. Die Funktionalität wird in Module aufgeteilt. In den Modulen wird die Funktionalität reimplementiert. Es wird ein neues Datenmodell erstellt. Die bestehenden Daten müssen konvertiert werden.

Neuentwicklung.
Bei einer Softwaremigration ist es häufig sinnvoll, auch die Funktionalität des Systems auf die aktuellen Anforderungen der Anwender anzupassen.  Bei der Neuentwicklung  werden auch die langfristigen Anforderungen des Unternehmens und neue technologische Möglichkeiten berücksichtigt.

Standardsoftware.
Es wird eine Standardsoftware eingeführt, die die Anforderungen des Business erfüllt. Es ist darauf zu achten, dass die Software in die bestehende Anwendungslandschaft integriert werden kann.

GEDOPLAN hat in verschiedenen Projekten Softwaresysteme modernisiert. Hier werden zwei Beispiele vorgestellt.


Erneuerung einer FTS-Leitsteuerung.
GEDOPLAN hat für arvato services die Leitsteuerung eines fahrerlosen Transportsystems erneuert. Mit der neuen Lösung wurde ein 30 Jahre altes System abgelöst. Das neue System befindet sich erfolgreich im Produktionsbetrieb. Basierend auf der Java-Plattform ist es kostengünstig, leicht an neue Prozesse anpassbar und einfach zu bedienen.
 
Ausgangsituation
Unser Kunde betreibt ein großes Warenverteilzentrum, in dem die Warenein- und  ausgänge, verschiedene Läger und Bearbeitungsstationen über ein fahrerloses Transportsystem (FTS) miteinander verbunden sind. Das FTS verwendet Palettentransporter (Carrier), die per Induktion entlang der im Boden eingelassenen Leitdrähte geführt werden. Die Transportaufträge erhält es von einem vorgelagerten Lagersteuersystem.
Mit der neuen Lösung sollte das Problem der nachlassenden Ersatzteilverfügbarkeit gelöst, eine vereinfachte Handhabung  mit modernen Benutzeroberflächen erreicht und nicht zuletzt durch Nutzungs- und Fahrwegoptimierungen ein höherer Durchsatz erzielt werden. Eine besondere Herausforderung war, das eine Umstellung auf das neue System zu keiner Unterbrechung des Produktionsbetriebes führen durfte. Ein „Big Bang“ war also nicht möglich.


Unsere Lösung
Die neue Software wurde als eine verteilte Anwendung in offener Client-Server-Architektur realisiert. Die „Zentrale“ der Anwendung ist ein Server, der die Kommunikation mit dem Vorsystem übernimmt und jeden einzelnen Carrier optimiert mit Aufträgen verknüpft. Der Leitstand als weitere zentrale Komponente ermöglicht die Visualisierung des aktuellen Systemzustandes. Alle Fahrbewegungen und Ladebewegungen der Carrier werden übersichtlich dargestellt. Über den Leitstand sind aber auch Eingriffe in den Betriebsablauf möglich, um zum Beispiel Wartungsvorbereitungen zu treffen.

In der Regel braucht die Leitsteuerung keine Bedienung durch das Operating. Sollte dies jedoch notwendig sein, z. B. weil ein Fahrzeug ausgefallen ist, so ist der Eingriff bequem über Mausklick möglich.

Die gesamte FTS-Steuerung ist als Java-Anwendung nach dem Standard Java EE 5 realisiert. Die Offenheit und weite Verbreitung  der Java-Plattform garantiert dem Kunden, auch in Zukunft Anpassungen an Prozessänderungen durchführen zu können. Nichtanfallende Lizenzgebühren sowie die Möglichkeit, kostengünstige Hardware für Server und Clients auswählen zu können, sind weitere Pluspunkte der Java-Plattform.

Verarbeitung von Leistungsabrechnungen im Gesundheitswesen.
Das Dienstleistungsangebot der DDG GmbH beinhaltet die Annahme der für die auftraggebenden Kostenträger eingereichten Rechnungen und Verordnungen (zahlungsbegründenden Unterlagen) sowie die Annahme der Datenlieferungen nach §§ 300, 301 a, 302 SGB V, 105 SGB XI undderen vollständige inhaltliche Prüfung.

Aufgrund der Benutzerzahl von mehr als 450 Personen in der Spitze trägt das Gesamtsystem eine hohe Verarbeitungslast. Um dem Rechnung zu tragen, wurde die Anwendung schon vor einigen Jahren auf den Betrieb in einem JBoss-Cluster mit ebenfalls geclusterten Datenbanken skalierbar ausgelegt. Die Aufnahme bestehender Kunden in die neue Software machte nun im Rahmen der Migration eine weitere Optimierung der Anwendung notwendig .Durch eine Umstellung des Lastverteilungsverfahrens konnte eine gleichmäßige Auslastung der verschiedenen Applikations- und Datenbank-Server erreicht werden. Die Anwendung ist seit März 2014 in der neuen Form erfolgreich in Betrieb.

Unabhängig von der gewählten Modernisierungsstrategie sollten die Anforderungen der Anwender und die langfristigen Ziele des Unternehmens von der neuen Anwendung unterstützt werden. Dazu kann der Einsatz neuer Technologien einen hervorragenden Beitrag leisten. Sicherheitsvorgaben und Compliance müssen berücksichtigt werden. Die Integration in die Systemlandschaft ist notwendig. Ohne moderne Benutzeroberflächen wird ein System nicht von den Anwendern akzeptiert. Wenn sich bei allen Maßnahmen auch noch eine langfristige Kostensenkung für Pflege und Support ergibt, ist die Softwaremodernisierung erfolgreich.

Reinhard Brüggemeyer (reinhard.brueggemeyer@gedoplan.de) Seniorberater bei GEDOPLAN GmbH. Seine Schwerpunkte sind Java EE und Anforderungsanalyse - insbesondere agile Vorgehensweisen.

GEDOPLAN steht seit vielen Jahren für hochwertiges Consulting in den Java-Technologien. Wir setzen auf offene Standards und Open Source Produkte. Umfangreiche Kenntnisse und Erfahrungen unserer Mitarbeiter sicheren den Erfolg der Projekte unserer Kunden.

Besuchen Sie unseren Consulting-Bereich unter
www.gedoplan.de.

Unsere Kundenzeitschrift GEDOPLAN aktuell:

GEDOPLAN aktuell - Kundenzeitschrift

In diesem Magazin berichten wir über
aktuelle Trends in der Software-
entwicklung, vornehmlich aus dem
Bereich Java und der Java EE.
<Ausgabe Herbst 2014>

Java EE Termine 2018

Java EE 7 Intensivkurs
* Nächster Termin: 12.02. - 16.02.2018.

Java EE 6/7 Masterclass
*Nächster Termin: 05.03. - 09.03.2018.

Java EE 7 Backend
* Nächster Termin: 12.02. - 14.02.2018.

Java Persistence API: Grundlagen (JPA)
* Nächster Termin: 08.03. - 09.03.2018.

Vertiefung: Java Persistence API (JPA)
* Nächster Termin: 05.03. - 06.03.2018.

Java-Anwendungsentwicklung mit CDI
* Nächster Termin: 29.01. - 30.01.2018.

Vertiefung: Anwendungsentwicklung mit CDI
* Nächster Termin: 07.03.2018.

Java-Webanwendungen mit JavaServer Faces
* Nächster Termin: 10.01. - 12.01.2018.

Vertiefung: Java-Webanwendungen mit JSF
* Nächster Termin: 08.03. - 09.03.2017.

Java Test für die Enterprise Edition (Java EE)
* Nächster Termin: 20.03. - 23.03.2018.

Batch Applications mit Java EE 7
* Nächster Termin: 05.02. - 09.02.2018.

Java EE 7 Batch Applications
* Nächster Termin: 22.02. - 23.02.2018.

Java für Entscheider
* Nächster Termin: 02.02.2018.

Bootstrap Java EE 7
* Nächster Termin: 23.02.2018.

Workshop Web-GUI-Frameworks
* Nächster Termin: auf Anfrage.

Java EE inhouse?

Alle Java-EE-Kurse gibt es auch
als individuelle Firmenschulung.

Kontaktieren Sie mich oder
nutzen Sie unseren
Schulungskonfigurator!

030 / 755 49 188

Tim.Neumann@GEDOPLAN.de

Ihr Ansprechpartner für organisatorische Fragen bei java advanced training

Der Maßanzug unter den Schulungen. Wir bieten:

  • Persönliche Vorbereitung und Abstimmung
  • Individuelle Absprache von Themenschwerpunkten
  • Berücksichtigung von Unternehmensvorgaben
  • Anpassung an die firmeninterne (IT-)Infrastruktur, Softwareversionen
  • Integration in Unternehmensprozesse und –workflows
  • Abfrage und Einstufung von Teilnehmervorkenntnissen
  • Gezielt Vorbereitung auf Aufgaben am Arbeitsplatz
  • Freie Terminwahl, Aufteilung in Kursblöcke
  • Zeitliche Einteilung der einzelnen Kursblöcke
  • Praxisbeispiele aus Ihrem Unternehmen
  • Durchführung bei GEDOPLAN IT Training oder bei Ihnen vor Ort

Das erwartet Sie bei uns

Bei Kursen von GEDOPLAN IT Training ist nicht nur der Kaffee gratis.

Kaffee, Tee und kalte Getränke

Wer öfter trinkt, kann besser denken. Deshalb versorgen wir Sie mit ausreichend gratis Getränken.

Gratis Obst, Snacks und Mahlzeiten für einen erfolgreichen Java Kurs

Obst, Kekse und Mahlzeiten

Ein voller Bauch studiert zwar nicht gern, aber nur wer sich wohl fühlt, hat auch Spaß am Seminar.

Sie erhalten Ihre Java Schulungsunterlagen auf einem 32 GB USB-Stick.

Demos und Beispiele zum Mitnehmen

Unsere Kurse haben einen hohen Praxisanteil. Die komplette Übungsumgebung nehmen Sie bei vielen Kursen am Ende auf einem USB-Stick mit.

Ihre erfolgreiche Teilnahme an unserer Java Schulung wird bestätigt

Teilnahmebescheinigung

Nach erfolgreicher Teilnahme erhalten Sie eine Bescheinigung zur Bestätigung Ihrer Teilnahme.

Java EE 7 Buch von Dirk Weil

Dirk Weil schenkt Ihnen bei einer Buchung eines Java EE Kurses sein Buch Java über EE 7 – auf Wunsch mit Signatur und Widmung.

Unser Serviceversprechen

Über 30 Jahre Erfahrung und Erfolg

Wir betreiben Schulungen aus Leidenschaft.

30 erfolgreiche Jahre unter sich ständig ändernden Anforderungen sind dafür der beste Beweis. Und Zeit genug, gemeinsam mit vielen, vielen Schulungsteilnehmern umfangreiche Erfahrungen und Wissen anzueignen. Das wir Ihnen gerne weiter geben. Denn Ihr Erfolg ist auch unser Erfolg.

Kostenfreie Vorträge

Mit den 'Treffpunkt'-Veranstaltungen bieten wir Ihnen an unseren Schulungsstandorten eine

Vortragsreihe zu aktuellen Java Themen.

Nutzen Sie das jeweils anschließende Diskussionsforum als Plattform, um interessante neue Kontakte zu knüpfen.

Kostenfreier Support

Auch nach erfolgreicher Teilnahme an einer von GEDOPLAN IT Training durchgeführten Schulung kann sich im Anschluss bei der praktischen Anwendung des Gelernten erfahrungsgemäß doch noch die eine oder andere Frage ergeben. Kein Problem! Unsere Kunden können sich z. B. unter

IT-Training@GEDOPLAN.de

an unsere Trainer wenden. Wir tun unser Bestes und helfen Ihnen, möglichst schnell und darüber hinaus kostenfrei eine Antwort bzw. Lösung zu finden.

Durchführungsgarantie

Für alle angebotenen Kurstermine bieten wir Ihnen eine

Durchführungsgarantie,

unabhängig von der Zahl angemeldeter Teilnehmer.

Wiederholungsgarantie

Wir möchten unseren Teilnehmern und Teilnehmerinnen einen 100%-igen Seminarerfolg garantieren. Um dies zu erreichen, kann jeder Teilnehmer eine bei GEDOPLAN IT Training durchgeführte Schulung

jederzeit und ohne Angabe von Gründen

zu einem nächsten offenen Termin wiederholen.

Herstellerunabhängige Kurse

Manche Hersteller nutzen Schulungen gerne, um eigene Produkte und Lösungen zu bewerben. Sinnvolle Ergänzungen von anderen Herstellern werden mitunter ignoriert. Wir agieren herstellerunabhängig weil wir Ihnen

optimale Lösungen aus Sicht eines Java Experten

und nicht eines Herstellers bieten wollen.

Lösungsorientierte Angebote

Unser Java Schulungsprogramm ist das Resultat mehr als 30jähriger Erfahrung und damit alles andere als Zufall. Wir haben mit unseren Teilnehmern gelernt und verstanden, dass Theorie und Praxis - insbesondere in der Softwareentwicklung – unterschiedliche Dinge sind. Daher finden Sie in unseren Schulungen

nur so viel Theorie, wie notwendig ist,

um im praktischen, lösungsorientierten Teil der Java Schulung praxisrelevantes Wissen aufzubauen und zu üben.

Persönliche Beratung und Betreuung

Bei uns werden Sie individuell beraten und sowohl während, als auch im Anschluss an Ihre Teilnahme betreut.

Wir stehen Ihnen jederzeit und gerne bei Fragen rund um Ihren Kurs zur Verfügung.

Wenn Sie beispielsweise Fragen zu Übernachtungsmöglichkeiten haben, dann zögern Sie bitte nicht, sondern wenden sich an uns. Denn wir wollen, dass Sie sich voll und ganz auf Ihre Teilnahme konzentrieren können.

Professionelle Vorbereitung

Eine Java Schulungen fordert den Teilnehmern viel Konzentration und Durchhaltevermögen ab. Scheinbare Nebensächlichkeiten, wie Handouts ohne Notizbereichen, ausgetrocknete Stifte, schwere Mahlzeiten oder unangemessene Pausen können so schnell zu ablenkenden Faktoren werden.

Wir kümmern uns um solche Details.

Darüber hinaus helfen wir Ihnen bereits bei der Organisation Ihrer Anreise und des Aufenthaltes, sorgen für einen reibungslosen Transfer und versuchen mit allen Mitteln Ihre Java Schulungsteilnahme so angenehm wie möglich zu machen, damit Sie sich ohne Ablenkung auf die Inhalte konzentrieren können.

Lernzielorientierte Inhalte

Teilnehmer eines Java Kurses haben häufig unterschiedliche Erwartungshaltungen. Eine Standardschulung kann so nur eine kleine gemeinsame Schnittmenge treffen. Um das zu vermeiden

sprechen wir bereits vor einer Schulung mit den Teilnehmern und versuchen, deren Ziele in Erfahrung zu bringen,

und den Java Kurs entsprechend zu modifizieren. Im Praxisteil der Schulung gehen wir außerdem auf Ihre realen Anwendungsfälle ein, und versuchen in der Gruppe Lösungsansätze zu erarbeiten. Damit Sie ein Maximum aus Ihrer Java Schulung holen.