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
© Copyright 2024 ExpyDoc