So konnten wir gemeinsam mit unserem Kunden anpacken
Individuallösung direkt vor Ort durch inkrementelles Vorgehen
UZI ist eine Web-Anwendung mit einem kleinen Desktop-Anteil. Web-Anwendung und Desktop stellen sich in der Handhabung als nahtlos integrierte Anwendung dar, weil der Desktop „unsichtbar“ den Microsoft Internet Explorer integriert. Durch die Desktop-Komponenten konnten PC-abhängige Dienste (z.B. das Ausdrucken von Barcodes im Hintergrund) sowie die Ansteuerung von Webcams für die Zählerfotos leicht realisiert werden. Für das Fotografieren der Großwasserzähler sind stationäre Webcams ungeeignet, so dass hier ein PDA mit einem Imager zum Einsatz kommt. Er überträgt die Zählerfotos direkt an den Arbeitsplatz-PC, von dem aus die Fotos in die Anwendung eingeschleust werden.
Im Backend wird eine IBM DB2 für die Datenhaltung der lagerspezifischen Daten eingesetzt und SAP R/3 IS-U für die Zählerstammdaten sowie das Durchführen der Wechselung. Eine Serviceschnittstelle abstrahiert von den konkreten Backend-Technologien.
Intern besteht UZI aus ca. 20 Komponenten, die klar umrissene Aufgaben und Abhängigkeiten haben. Die fachlichen Systemfunktionen werden über einheitliche Service-Schnittstellen zur Verfügung gestellt. Durch die Komponentenorientierung ist die Änderbarkeit und Wartbarkeit des Systems gesichert. Auf Basis der Service-Schnittstellen können die UZI-Systemfunktionen im Sinne einer Service-Orientierten-Architektur (SOA) z.B. als Web-Service bereitgestellt werden.
Als ausgewiesener Experte für die Entwicklung komplexer Individuallösungen wurden wir mit der Durchführung des Projektes beauftragt. Ins Gewicht fielen bei dieser Wahl unsere Kompetenz in der Entwicklung arbeitsplatzorientierter Lösungen sowie die profunden Kenntnisse unserer Berater:innen bei der Systemintegration und im SAP-Bereich.
Darüber hinaus überzeugte unsere Vorgehensweise, die mit der Erstellung von Prototypen und dem inkrementellen Vorgehen explizit auf die Belange der Benutzer:innen abgestimmt ist. Trotz Festpreis war es dadurch möglich, die Gesamtaufgabe in mehrere Teillösungen resp. Releases aufzuteilen, die einzeln zum Test bereit gestellt wurden. Schließlich wurde sogar entschieden, mit einer Vorversion in Produktion zu gehen. So konnte schnell auf eine kurzfristige Entscheidung des Vorstands reagiert werden, die die vom Kunden ausgelösten Wechselungen deutlich erhöhte.
Entwickelt wurde in direkter Nähe zu den späteren Benutzer:innen (dasselbe Gebäude). Durch die Nähe der späteren Benutzer:innen zum Entstehungsprozess und die enge Verzahnung von Anforderung, Teillösung und Rückkopplung entstand nicht nur eine hohe Akzeptanz des neuen Systems. Darüber hinaus wurden erste Teillösungen auch viel schneller produktiv gesetzt und der Entwicklungsprozess war insgesamt kürzer als bei einer konventionellen, rein dokumentengetriebenen Vorgehensweise. Der nach Inproduktion-Nahme festgestellte Korrektur- und Nachbesserungsaufwand war extrem gering, was zum Einen auf die umfangreichen qualitätssichernden Maßnahmen (automatisierte Unit,- Integrations- und Akzeptanztests) sowie die wöchentliche Bereitstellung neuer Systemversionen zum Anwendertest zurückzuführen ist.
Für die Entwicklung wurde Java mit JEE verwendet. Die Webanwendung wurde mit Java-Server-Faces als Frontend-Technologie realisiert. Dabei kamen auch AJAX, Java-Script und CSS zum Einsatz. Nur so konnten die hohen Anforderungen an Reaktivität und Handhabung der Anwendung mit Web-Technologien sichergestellt werden. im Backend wurde Hibernate als OR-Mapper eingesetzt, als Application-Server wird Apache Tomcat verwendet. Der Desktop-Anteil wurde in Swing realisiert.