Deutsch English Nederlands  | 

Branche

Wirtschaftsauskunftei

 

Zielsetzung

Ausgangspunkt war eine Datenhaltungs- und Pflege-Anwendung, die über mehrere Jahre entwickelt wurde. Es wurden fort­wäh­rend Erweiterungen am System umgesetzt sowie bereits implementierte Eigenschaften an neue Gegebenheiten angepasst. Durch die Vielzahl an Änderungen wurde die Systempflege immer aufwändiger, die Implementierung neuer Anforderungen immer komplexer. Ursache waren der hohe Wartungsaufwand sowie die Systemstabilität im Zusammenspiel der einzelnen Komponenten.

Durch die Migration auf eine neue Plattform sollte das Softwaresystem in den folgenden Zustand gebracht werden: die Komplexität des an mehreren Standorten betriebenen Systems sollte deutlich reduziert sowie die Wartbarkeit erhöht werden und neue Funktionen sollten mit geringem Aufwand in das System eingefügt werden können. Maßgeblich dabei war die Unveränderbarkeit der vorhandenen Kundenschnittstelle.

Kennzeichen der Projekts:

  • Ablösung des vorhandenen CMS-Systems (Microsoft-Entwicklung und SQL/Server) ohne Software-Lizenzkosten
  • Neusystem ausschließlich mit Open Source Komponenten
  • Software-Entwicklungswerkzeuge und Deployment-Verfahren auf Open Source Basis
  • Verwendung des vorhandenen IBM UDB Datenbanksystems auf Linux Basis

 

Lösung

Bei der Migration des Systems wurden die Zahl der Betriebsstandorte und die Varianz der verwendeten Technologien reduziert und auf eine moderne Basis gestellt. Das System setzt sich aus einem Batch-Subsystem für die Massendatenverarbeitung sowie einem Web-Subsystem zur Wartung der Anwendung zusammen. Der Online-Zugriff für die Kunden ist über Web Services realisiert.

Als Basis für die beschriebenen Anwendungen dient das Datenbanksystem DB2 UDB von IBM. Das Batch-Sub­system ist dabei als Satz selbstständiger Java-Programme konzipiert, die sich in die auf Kunden­seite vorhandene Batch-Steuerung mit UC4 auf Linux (SLES 9) inte­grieren. Für den Zugriff auf die Daten wird die Java Persistence Architecture (JPA) in Ver­bin­dung mit Spring (Framework) eingesetzt. Aus Performancegründen wurde insbesondere auf ausgewogene Verteilung von I/O-Last und CPU-Last auf Datenbank- und Applikations-Server Wert gelegt. Einlieferung von Kunden­daten und Auslieferung der Verarbeitungsergebnisse werden im XML-Format abgewickelt.

Das Web-Subsystem basiert auf Apache Tomcat. Die Persistenzebene ist auch hier mittels JPA mit Spring implementiert. Die Benutzeroberfläche wurde als Rich-Client-Anwendung mit Hilfe von Java Server Faces (JSF) und der JSF-Komponenten­bibliothek IceFaces realisiert. Für die Authen­ti­fizierung und Autorisierung der Benutzer wurde das kundenseitig vorliegende LDAP-System auf Novell eDirectory verwendet.

 

Vorgehen

Zu Beginn der Arbeiten wurden das bestehende Softwaresystem und die damit realisierten Geschäftsprozesse einer gründlichen Analyse unterzogen. Darauf aufbauend wurden 16 Batch Use Cases, 12 Online Use Cases und 6 WebService Use Cases identifiziert. Die Use Cases wurden anhand ihrer technologischen Risiken und ihrem Wert für das Geschäft priorisiert und in Iteratio­nen eingeteilt. In den frühen Iterationen wurden zuerst die Use Cases implementiert, die sowohl ein hohes technisches Risiko, aber auch einen hohen Geschäftswert darstellten. Jede Iteration wurde durch ein Timeboxing-Verfahren im Umfang begrenzt. In den einzelnen Iterationen wurde die Soft­ware mit den Grundsätzen der agilen Softwareentwicklung umgesetzt.

Jede Iteration enthält die Aufgaben:

  • Planung der Iteration

    Eingesetzte Tools:

  • Mantis für die Aufgabenverfolgung
  • Detaillierung der Anforderungen und Abstimmung mit dem Kunden

    Eingesetzte Tools:

  • Word-Dokumente mit strukturiertem Text
  • UML-Diagramme
  • Design der Implementierung mit OOA/OOD

    Eingesetzte Tools:

  • UML-Diagramme
  • Implementierung der Anforderungen und Entwicklertest

    Eingesetzte Tools:

  • Eclipse als Entwicklungsumgebung
  • Sonatype M2Eclipse Plugin für Maven2
  • SoapUi zum Testen von WebServices
  • Subversion als Versionsmanagementsystem
  • JavaDoc für die Source Code Dokumentation
  • JUnit für Entwicklertests
  • Maven als Build- und Dependency-Management-System
  • Hudson als Continuous Integration Tool
  • Sonar zur Ermittlung von Codemetriken, wie zum Beispiel Testabdeckung, Codeduplizierung, Codekomplexität, Coding Style Konformität, etc.
  • Test der Implementierung mit Testvorbereitung

    Eingesetzte Tools:

  • Word-Dokumente mit strukturiertem Text
  • Excel für die Testplanung und Testdatenerfassung
  • Mantis für das Issue-Tracking von Anforderungen, Fehlern, etc.

 

Die Entwicklung wurde durch Aufteilung in Komponenten erleichtert, wodurch gleichzeitig der Grad der Wiederverwendung erhöht wurde. Der Einsatz von Maven als Build-Werkzeug erzeugt durch sein Dependency Management jeder­zeit reproduzierbare Builds und wird sowohl auf den lokalen Entwicklungsrechnern als auch auf dem Continuous Integration Server eingesetzt. JUnit-Tests in Verbindung mit Con­tinuous Inte­gration (Hudson) und Code Metriken (Sonar) helfen, das geforderte Maß an technischer Qualität zu erreichen und zu gewährleisten. Die fachliche Qualität wird durch die Tests abgesichert. Für das Bugtracking, die Iterationsplanung und Aufgabennachverfolgung wird Mantis eingesetzt.

 

Leistung der cimt ag

Die cimt ag hat den Kunden während des gesamten Projekts hinsichtlich der Technologieauswahl und des Software­entwicklungspro­zesses beraten. Nahezu die komplette Umsetzung des neuen Systems wurde durch die Mitar­beiter der cimt ag durchgeführt, die für alle Leistungen vor Ort anwesend waren. Dadurch konnten die Mitarbeiter durch ihr Spezialwissen zu den verwendeten Technologien schnell auf Kundenwünsche rea­gieren. Mitarbeiter des Kunden wurden durch gezieltes Coaching in die Entwick­lungs­prozesse integriert. Die aus den Entwicklungsprozessen gewonnene Erfahrung konnte auf andere Projekte beim Kunden übertragen werden.

 

Nutzen für den Auftraggeber

Der Kunde hat sich aufgrund der Beratungsleistung von cimt für eine tragfähige und zukunftssichere tech­nologische Plattform entschieden. Durch die Modularisierung ist die Wiederverwendung einzelner Komponenten in anderen Zusammenhängen der Unternehmens-IT gesichert. Der Einsatz etablierter Open-Source-Technologien trägt zu einer optimierten Kostenstruktur im Be­trieb bei. Durch die Reduzierung von Technologie-Varianz und Standortanzahl ist die Wartbarkeit der neu entwickelten Anwendung gegenüber der Altanwendung deutlich gesteigert worden.

 

Ansprechpartner

Weiterführende Informationen zu diesem und ähnlichen Projekten erhalten Sie bei:

Christian Kreutzmann / Tel.: +49 (40) 53302-0