Auftraggeber
Die Deutsche Bahn AG ist ein internationaler Anbieter von Mobilitäts- und Logistikdienstleistungen. Mit Hauptsitz in Berlin ist die Deutsche Bahn eines der führenden Transportunternehmen weltweit und der größte Eisenbahnbetreiber in Europa.
Die Deutsche Bahn AG beschäftigt rund 325.000 Mitarbeiter weltweit. Sie ist nicht nur für ihre Eisenbahninfrastruktur bekannt, sondern auch für ihre Bemühungen in der Digitalisierung. Die Bahn investiert stark in digitale Technologien, um die Effizienz zu steigern, das Kundenerlebnis zu verbessern und neue Geschäftsmodelle zu entwickeln. Zu den digitalen Initiativen zählen unter anderem die Entwicklung von Apps für Tickets und Kundenservice, der Einsatz von Künstlicher Intelligenz und Machine Learning zur Verbesserung von Betriebsabläufen und Kundenservice sowie die Implementierung von IoT (Internet of Things) zur Wartung von Zügen und Schienen. Unsere Arbeit an der Schnittstelle zur Weiterverarbeitung eines Soll-Fahrplans passt in die fortlaufende Digitalisierungsstrategie der Deutschen Bahn, indem wir dazu beitragen, die Planung und Verteilung von Fahrplänen effizienter und genauer zu gestalten.
Projekt-Zusammenfassung
Unser Projekt zielte auf die Entwicklung einer Schnittstelle zur Weiterverarbeitung eines Soll-Fahrplans ab, um eine verbesserte Reisendeninformation bereitzustellen. Unsere Hauptaufgabe bestand darin, den Saisonfahrplan aus dem Europäischen Fahrplanzentrum (EFZ) in Planfahrten umzuwandeln und diese für diverse Abnehmer bereitzustellen. Der Prozess begann mit der Entnahme von Eingangsdaten in Dateiform aus dem EFZ. Diese Daten wurden dann in einen Kafka Stream transformiert, was eine effektive Verarbeitung und Weiterverteilung der Fahrplandaten ermöglichte. Die so transformierten Daten führten zu einer verbesserten und effizienteren Reisendeninformation, was im Kontext der fortschreitenden Digitalisierung der Verkehrsinformationen eine wichtige Rolle spielte.
Eine der Haupt-Herausforderungen bestand in der Implementierung einer robusten Batch-Architektur, die den Fahrplan-Import verarbeiten konnte. Dabei mussten wir die Rohdaten in Textdateien entgegennehmen und eine komplexe Daten-Aggregation und -Transformation für den Fahrplan-Import implementieren. Zusätzlich war es notwendig, ein Rechtekonzept zu implementieren, das den Zugriff auf die Fahrplan-Datenbank kontrollierte, die von mehreren Services verwendet wurde. Besonders herausfordernd war das komplexe Thema der Durchbindungen und Vereinigungen im Schienenverkehr, für das bisher keine effektive Lösung gefunden worden war.
Lösungen / Vorgehensweise
Zur Bewältigung dieser Herausforderungen haben wir eine Batch-Architektur basierend auf Argo-Workflows, Spring Batch und Aurora PostgreSQL entwickelt. Die komplexen Datenaggregationen und Transformationen wurden mittels Neuentwicklung einer graph-basierten Berechnung von Durchbindungen und Vereinigungen im Schienenverkehr/ÖPNV umgesetzt. Diese innovative Methode hat uns ermöglicht, dieses komplexe Problem effizient zu behandeln. Die Business-Logik wurde als hochverfügbare Kafka Streams Microservices auf Kubernetes und AWS implementiert. Zudem haben wir die CI/CD-Prozesse in GitLab weiterentwickelt und Renovate für automatisierte Versionsupgrades eingeführt. Die Arbeit wurde im Scrum Modell nach agilen Entwicklungsmethoden durchgeführt.
Ergebnisse
Das Ergebnis war eine sehr effektive Lösung, die es uns ermöglichte, Fahrplan-Daten effizient zu verarbeiten, zu validieren und in eine Datenbank zu transformieren. Die aufbereiteten Daten konnten dann an weitere Verarbeitungssysteme versandt werden. Zudem haben wir durch die Weiterentwicklung der CI/CD-Prozesse und die Einführung von Renovate unsere Software-Entwicklungsprozesse optimiert.
Technologiestack
- Microservice Architektur
- Java 8/17
- Spring Boot
- AWS
- Apache Kafka
- RabbitMQ
- PostgreSQL
- Flyway
- Kubernetes
- Prometheus
- Grafana
- Argo
- Sonarqube
Unsere Referenzen
![](https://cdn.prod.website-files.com/5edbd76481168b31498f2eb5/64a811082aef4a9c74472e6f_wepik-export-20230707131812a7rw.png)
Entwicklung einer Plattform, die es Benutzern ermöglicht, Finanz-, Vorsorge- und Absicherungsverträge digital abzuschließen. Diese Plattform erlaubt die gemeinsame Vertragsstellung und Legitimierung über verschiedene Kanäle, was eine enge Zusammenarbeit zwischen den beteiligten Parteien erfordert.
![](https://cdn.prod.website-files.com/5edbd76481168b31498f2eb5/64b7c4024c7f046a3e8aba81_bahn.jpeg)
Entwicklung einer Schnittstelle zur Weiterverarbeitung von Soll-Fahrplänen. Hierbei wurde der Saisonfahrplan aus dem Europäischen Fahrplanzentrum (EFZ) in Planfahrten umgewandelt und an diverse Abnehmer bereitgestellt. Im Zuge dieses Prozesses wurden Eingangsdaten in Dateiform in einen Kafka Stream umgewandelt.
![](https://cdn.prod.website-files.com/5edbd76481168b31498f2eb5/64a81684880c4be84d78f85a_wepik-export-20230707134307ylgu.png)
Entwicklung eines Projekts im Bereich "Vulnerability Management Tools", bei dem der Schwerpunkt auf der Datenverarbeitung von Vulnerability Reports liegt, einschließlich Aufbereitung, Integration, Analyse und Visualisierung. Eine der Herausforderungen besteht darin, regelmäßige Reports automatisiert im Powerpoint-Format zu erstellen.
![](https://cdn.prod.website-files.com/5edbd76481168b31498f2eb5/64a81c3d876abbf811ff8771_AdobeStock_382702665%20(1)%20(1).jpeg)
Entwicklung einer Zahlungsplattform für Tankstellen, die die Aufgabe übernimmt, Kartenzahlungen zu prüfen und abzuwickeln sowie eine sichere Kommunikation zwischen Kassensystemen, Kartenzahlungsterminals, Security-Gate und Kartenanbietern sicherzustellen.
![](https://cdn.prod.website-files.com/5edbd76481168b31498f2eb5/64b797a04c7f046a3e510abe_techem.jpeg)
Neugestaltung des Techem-Portals für verbesserte Abrechnungsverwaltung. Entwicklung einer intuitiven Weboberfläche mit Frage-Antwort-System und einer stabilen Architektur basierend auf NextJS und serviceorientiertem Backend.