Technologieumstellung auf den Weg gebracht

PRAXIS
Softwareentwicklung
Technologieumstellung auf den Weg gebracht
Wenn Technologien langjährig genutzter Softwareapplikationen veralten, führt dies häufig
zu einer Neuentwicklung der Applikation. Dies muss nicht sein, wie das Beispiel einer Fachanwendung für Justizvollzugsanstalten zeigt. Materna hat die Java-Anwendung im laufenden Betrieb
auf neueste Technologie gehoben.
Mit ihren vielen Einrichtungen ähnelt eine Justizvollzugsanstalt beinahe einer Kleinstadt und bringt viel Administrationsaufwand mit sich. Die Verwaltung der Hafträume, die Erfassung der Zu- und Abgänge der Insassen, die Entlohnung der
Häftlinge, die Durchführung des Einkaufs, Freizeitgestaltung
sowie die Organisation und Abwicklung von Besuchen sind
nur einige Beispiele aus dem Arbeitsalltag einer Justizvollzugsanstalt.
13 Bundesländer und Luxemburg hatten sich daher vor mehreren Jahren darauf verständigt, mit BASIS-Web eine gemeinschaftliche Fachanwendung zu entwickeln, die die Verwaltungs- und Vollzugsaufgaben unterstützt. Inzwischen arbeiten
länderübergreifend 18.000 Bedienstete in ca. 150 Justizvollzugsanstalten mit BASIS-Web. Materna erhielt unter der
Generalunternehmerschaft von Fujitsu Technology Solutions
den Auftrag, eine moderne, auf Java-Technologien basierende
MATERNA MONITOR 21 03/2013
PRAXIS
Applikation zu realisieren, die inzwischen mehr als zehn Jahre
erfolgreich im Einsatz ist als integrative IT-Organisationslösung. Seitdem entwickelt Materna die Applikation im Rahmen eines Wartungs- und Pflegevertrags kontinuierlich weiter.
Koordinierende Stelle bei der Weiterentwicklung von BASISWeb ist das Justizministerium in Nordrhein-Westfalen.
Software und Technologie auf dem Prüfstand
Vor dreieinhalb Jahren fand eine Softwareanalyse von
BASIS-Web durch den TÜV statt, die mehrere Schwachstellen
aufzeigte. Neben kleineren Optimierungswünschen, die die
Softwarestruktur betrafen, mahnte der TÜV vor allem die
eingesetzte Version der Java-Enterprise-Technologie an. Das
Technologie-Framework Enterprise JavaBeans (EJB) der
Version 2.1 sei inzwischen veraltet. Die dringende Empfehlung: Umstellung auf die neue Version 3 (siehe Info-Kasten
Technologiewechsel). Enterprise JavaBeans vereinfachen die
Entwicklung komplexer mehrschichtiger verteilter Softwaresysteme mittels Java.
EJB Version 3 ist jedoch keine einfache Weiterentwicklung
von EJB 2, sondern eine Neuentwicklung, die der Einführung
einer neuen Technologie gleichkommt. „In der Regel sind
Technologieumstellungen dieser Größenordnung zu komplex,
um sie tatsächlich durchzuführen. Die Alternative ist dann
zumeist eine komplette Neuentwicklung der Applikation auf
Basis der neu gewählten Technologieplattform“, berichtet Jan
Berchner, Materna-Projektleiter für BASIS-Web.
Da die Erneuerung der Umgebungsprodukte dem Entwicklungsverbund der Bundesländer schon immer wichtig gewesen
ist, drohte BASIS-Web dieses Schicksal jedoch nicht. „Wir
Konfigurations- und Änderungsmanagement
in großen Softwareprojekten
Für die Source-Code-Verwaltung von BASIS-Web
setzt Materna das Konfigurationsmanagement-Tool
Synergy von IBM ein, das beispielsweise auch weitergehende Funktionen wie ein Release Management
bietet und die parallele sowie komponentenbasierte
Softwareentwicklung unterstützt. Den Prozess der
Änderungsanforderungen verwalten die Softwareentwickler zentral mit dem Werkzeug Change von IBM.
Auch die Fachanwendungsspezialisten bei der Justiz
können ihre Change Requests von außen selbstständig erfassen. Diese Kopplung ist sehr komfortabel und
sorgt für Transparenz beim Nachverfolgen von Change
Requests.
03/2013 22 MATERNA MONITOR
haben die der Applikation zugrunde liegenden Technologien
und Komponenten kontinuierlich modernisiert und setzen
aktuellste Softwareversionen ein“, weiß Berchner, der bereits
langjährig im BASIS-Web-Team arbeitet. So blieb die Applikation stets sicher und wartungsfähig.
Mit dieser Ausgangslage rückte die Umstellung mittels eines
internen Tools in greifbare Nähe. Die umsichtige Vorgehensweise der Materna-Berater führte schließlich dazu, dass ein
Technologiewechsel auch bei laufendem Betrieb realisierbar
wurde.
Aus alt mach neu
Derzeit läuft die Technologieumstellung auf Hochtouren.
Zunächst haben die Experten von Materna eine Kompatibilitätsschicht erstellt, um in der Übergangszeit noch mit der alten
Software weiterarbeiten zu können, damit aber bereits einen
Übergang zur neuen geschaffen. Mit Hilfe eines im Rahmen
einer Projekt- und Bachelor-Arbeit entwickelten Konverters
und der Kompatibilitätsschicht wird der Java-Server-Code zu
einem Stichtag komplett auf die neue Technologie umgestellt.
Angesichts von über eine Million Zeilen Source-Code wäre
eine manuelle Umstellung auf EJB 3 ohne Tool-Unterstützung
durch Konverter und Kompatibilitätsschicht nur mit erheblichem Personalaufwand realisierbar gewesen.
Zudem hätte bei manuellem Eingreifen die Gefahr bestanden,
Fehler zu erzeugen oder das Verhalten der Business-Logik
zu verändern. Die Tool-gestützte Konvertierung des Source
Codes nach EJB 3 garantiert eine festgelegte und erprobte
Umsetzung, die an allen Source Code Stellen identisch durchgeführt wird.
Das Ziel war es, den Source Code so wenig wie möglich zu
verändern. Höchste Priorität genießen hierbei die Kompatibilität zum existierenden Datenbank-Schema und die Funktionsfähigkeit der bestehenden Geschäftsprozesse. „Diesen Anforderungen können wir dank des EJB-Konverters in vollem
Umfang nachkommen“, resümiert Berchner.
Da durch den Technologiewechsel der Umstieg auf eine neuere
JBoss-Version notwendig wurde, mussten auf Seiten von
Materna das Build Management und auf Kundenseite das
Rollout-Management angepasst werden. Durch EJB 3 gestaltet
sich der Build-Prozess einfacher und schneller, da die
Generierung der XML-Deployment-Deskriptoren entfällt. Die
Informationen aus den Deployment-Deskriptoren stehen jetzt
als Annotationen direkt im Java-Source-Code und werden
beim Deployment im JBoss vom EJB3-Deployer ausgelesen.
Weiterhin erhält der Kunde durch den Wegfall von nur bei
EJB 2 benötigten Klassen kleinere Distributionspakete.
Zunächst ist der sukzessive Rollout von EJB 3 in den 37 Justizvollzugsanstalten in Nordrhein-Westfalen geplant. Als federführendes Land im BASIS-Web-Länderverbund werden die
Haftanstalten in NRW die neue Technologie ausgiebig testen,
bevor sie für den bundesweiten Rollout freigegeben wird. Die
Bundesländer sind frei in ihrer Entscheidung, wann sie auf die
neue Technologie umsteigen. Fachliche Erweiterungen werden
jedoch nur noch in EJB 3 durchgeführt.
Funktionale Applikationserweiterung
Die Technologieumstellung hat keinen nennenswerten Einfluss auf die Funktionen der Anwendung. „Wenn es gut läuft,
merkt der Auftraggeber nichts davon“, bringt es Berchner
auf den Punkt. Aber auch die Applikation selbst erhält regelmäßig neue Funktionen. Im Durchschnitt arbeiten zehn bis
15 Materna-Kollegen an der Weiterentwicklung und Pflege
von BASIS-Web. In diesem Jahr baut Materna die Funktion
„Pforte und Besuch“ weiter aus. Dann wird es erstmals auch
eine Justizvollzugsanstalt übergreifende Besuchszusammenführung geben, die beispielsweise auch den Transport der
Insassen organisiert.
Zuvor entwickelte das Team die Funktion „Versorgung und
Logistik“, die die Verpflegungswirtschaft für die Gefangenen
organisiert. Sie soll im Laufe des Jahres 2013 ausgerollt werden. Das Modul unterstützt dabei, Speisepläne zu erstellen,
Zutaten vorrätig zu halten, die Verpflegungsstärke zu ermitteln und Sondergerichte wie Diabetikerkost bereitzustellen.
Jedes Bundesland und beinahe auch jede Haftanstalt stellt
andere Anforderungen an die Verpflegungswirtschaft. „Bei
der Erweiterung der Funktion „Versorgung und Logistik“ war
es uns daher ein Anliegen, die Vorgänge in Haftanstalten bestmöglich zu vereinheitlichen“, erläutert Jochen Schmidt, Leiter
der Verfahrenspflegestelle BASIS-Web. Zunächst werden die
Justizvollzugsanstalten in NRW die neue Funktion ausgiebig
testen, bevor sie an die anderen Teilnehmer des BASIS-WebLänderverbunds übergeben wird.
„Darüber hinaus wird aktuell die Anbindung von BASISWeb an ein Data Warehouse weiter entwickelt“, berichtet
Jochen Schmidt. Hierbei sollen anonymisierte Daten aus den
Haftanstalten ausgewertet werden. „Das dahinter liegende
Datenmodell ist weniger komplex als in BASIS-Web selbst,
so dass sich bundesweite Auswertungen, beispielsweise von
Beurlaubungen, Arbeitseinsätzen und Disziplinarmaßnahmen
künftig einfacher durchführen lassen.“ Das Anfertigen und
Aufbereiten von Excel-Listen wird dann überflüssig.
Neben den funktionalen Erweiterungen muss BASIS-Web
auch immer wieder Gesetzesänderungen widerspiegeln.
Haben bislang die Länder das bundeseinheitliche Strafvollzugsgesetz angewendet, erlassen inzwischen auf der Grundlage
der Föderalismusreform alle Bundesländer eigene Gesetze für
den Strafvollzug. In der Summe werden im Basisverbund bis
zu 65 unterschiedliche Rechtsgrundlagen zu berücksichtigen
sein. Auch diese Vielschichtigkeit bildet die Applikation ab,
ohne sich dabei in Einzellösungen zu zersplittern.
Vorreiter in der Softwareentwicklung
Mit BASIS-Web hat Materna erneut bewiesen, dass das
Beratungsunternehmen große IT-Projekte über einen langen
Zeitraum erfolgreich betreuen und aktuell halten kann. Die
Softwarespezialisten von Materna sind bestens gerüstet, auch
ältere Softwareapplikationen auf einen neuen Technologiestand zu heben.
Christine Siepe
Gründe für den Technologiewechsel
Eine Umstellung wurde gleich aus mehreren Gründen
notwendig, sollte das Projekt weiterhin auf aktuellem
Technologiestand bleiben:
• Fehlende Unterstützung für aktuelle und zukünftige
Versionen des Applikationsservers JBoss
• Vereinfachung der Klassenhierarchie (Wegfall von
diversen Interfaces) und dadurch schnellere
Entwicklung sowie bessere Wartbarkeit
• Einsatz- und Austauschmöglichkeit verschiedener
Persistence Provider, wie zum Beispiel Hibernate
und EclipseLink
• Konfiguration von Enterprise JavaBeans innerhalb
der Bean-Klasse selbst mittels Annotations anstelle
von Deployment-Deskriptoren
• Nutzung von neuen und verbesserten Java-Funktionen wie Dependency Injection, AOP und JUnit-Tests
EJB 2 vs. EJB 3
Das Prinzip von Enterprise Java Beans hat sich mit der
neuen Version nicht geändert. Es gibt weiterhin
zustandsbehaftete beziehungsweise zustandslose
Session Beans, Entity Beans und Message Driven
Beans, mit denen Client-Server-Anwendungen erstellt
werden. Beide Technologieversionen unterscheiden
sich allerdings sehr deutlich bei den Entity Beans,
die nun „Persistent Entities“ heißen. Der EJB-Container
ist seit EJB 3 nicht mehr für die Persistenz-Abbildung
zuständig. Diese erfolgt über das Java Persistence
API (JPA), das sowohl als Dienst im Applikationsserver
als auch separat außerhalb eines Applikationsservers
genutzt werden kann. Das JPA bietet hier eine sehr umfangreiche Abfragesprache. Innerhalb der Abfragen
werden Objekte benutzt, so dass von der darunterliegenden Datenbank abstrahiert wird. Native SQLAbfragen sind aber weiterhin möglich.
MATERNA MONITOR 23 03/2013