Berliner Wasserbetriebe

Kunde

Bildmodul

Berliner Wasserbetriebe
Branche: Wasserversorgung
Mitarbeiter: < 4.000
Standort: Berlin

Technologien und Methoden

  • Java EE, EJB, JMS, XML, Thorntail (Wildfly), Quarkus
  • PostgreSQL, IBM DB2, Hibernate
  • REST APIs – API first
  • GIT, Ant, Maven
  • Apache CXF
  • Docker und OpenShift
  • Keycloak IAM
  • Scrum
  • Angular, Ionic Framework
  • OAUTH OpenID Connect mit Keycloak

Beratungsleistungen

  • Java Entwicklung – Design und Implementierung von Mircoservices
  • Scrum Master – Agile Coaching
  • Business Analyse
  • Testmanagement
  • Prozessanalyse

Ausgangssituation

Die Berliner Wasserbetriebe sind Europas größter Wasserver- und Entsorger. In einer umfangreichen, mehrstufigen Prozessautomatisierung werden die aktuellen Baumaßnahmen im Wasser- und Kanalnetz der Stadt umgesetzt. Die einzelnen Schritte der Arbeitsabläufe, von der Planung über die Steuerung bis hin zur Realisierung, erfordern eine kontinuierliche Kontrolle und Steuerung.

Um eine zeitgemäße, leichtgewichtige und besser wartbare Prozess-Engine zu verwenden, muss von einem Legacy Workflow Produkt auf Camunda BPM migriert werden. Hierbei ist eine Herausforderung, dass auch aktive Prozessinstanzen, die teilweise länger als ein Jahr laufen in die neue Umgebung übertragen werden müssen.

Rückbau eines Java-EE Monolithen: Um den Aufwand für das Deployment zu verringern und die regelmäßige schnelle Aktualisierung des Systems zu ermöglichen, wird der über Jahre gewachsene Java-EE Monolith Zug um Zug durch eine microservice-basierte Architektur ersetzt.

Auftrag

Überarbeitung der bestehenden Prozesslandschaft und die Migration der Langläufer Prozesse in die neue Prozess Engine unter besonderer Beachtung, dass sich die Prozesse zum Teil fachlich massiv verändert hatten.

Konzeption und Entwicklung zum herausschneiden einzelner Services aus einer monolithischen Architektur und Überführung in eine Microservice Architektur. Die besondere Herausforderung war hierbei das weiterhin produktive System stabil zu halten und gleichzeitig die Strukturen so umzubauen, dass diese in Microservices überführt werden können, die dann im Zusammenspiel mit der alten Architektur ineinandergreifen.

Lösung

Die Prozesse wurden unter Anwendung der Best Practices mit Camunda modelliert. Dabei wurde insbesondere Wert daraufgelegt, dass das Deployment von einzelnen fachlich voneinander getrennten Prozessen auch unabhängig voneinander durchgeführt werden konnten. Da sich der Gesamtprozess über mehrere Organisationseinheiten erstreckt und somit einzelne Fachbereiche ihre Anforderungen unabhängig voneinander umsetzen lassen konnten.

Für die Migration der langlaufenden Alt-Prozesse wurde ein spezielles Tool entwickelt, das die Prozessinstanzen mit Hilfe von json Konfigurationsdateien an die fachlich entsprechenden Stellen vom Alten in den neuen Workflow überführt hat. Dabei mussten auch große Mengen an fachlichen Daten unabhängig von der technischen Migration entsprechend überführt werden.

Nach einer Anforderungsanalyse und Konzeption für die neue Microservice-Architektur wurde ein Architekturdesign auf Basis von Docker entwickelt. Als Betriebsumgebung wurde hierfür OpenShift gewählt. Im Zuge dessen wurden bestehende CI/CD Pipelines weiterentwickelt und optimiert.

Im Rahmen der Modernisierungsarbeiten wurden weiterhin Authentifizierungs- und Autorisierungsmechanismen an eine IAM-Lösung angebunden (Single Sign-on). Die Lösungen wurden in engem Kontakt zu Fachanwendern und kurzen Iterationszyklen nach Scrum erarbeitet. Die agile Entwicklung wurde durch den Einsatz von Mockups und Prototypen von UI/UX Experten unterstützt.

Ergebnisse

Durch den Umbau der Applikations-Architektur konnte eine deutliche Vereinfachung des Deployment-Prozesses erreicht werden. Das Konzept zur Migration der Langläufer Prozesse konnte mit Hilfe eines hierfür entwickelten Tools umgesetzt werden – damit konnten alle Prozesse erfolgreich in die neue Prozess Engine überführt werden.

Weitere Business Cases
ZU ALLEN REFERENZEN

Sie möchten mehr erfahren?