Verfügbar
ab 31.12.2020
Projekte

Addresspool zur Ausbauplanung und -realisierung

Im Rahmen eines Projektes zur Planung und Realisierung des Ausbaus der Internetverfügbarkeit, an dem mehrere Systeme beteiligt sind, wurde ein gemeinsamer Adress-Pool benötigt. Hierbei sollten externe Adress- und Geodaten eingelesen und normalisiert werden. Zudem sollten die Adressen mit Marktdaten angereichert werden können. Zusätzlich sollte es einen Prozess zum Klären von unbekannten Adressen geben. Die Adressdaten konnten anschließend einzeln oder mittels geographischer Bereiche abgefragt werden. Da die Abfragen recht groß werden konnten, lief die Abfrage asynchron über RabbitMQ.


Mein Schwerpunkt lag in der Entwicklung der Web-Oberfläche zur Klärung unbekannter Adressen mittels ReactJS und Typescript. Hierbei war gefordert, dass der ReactJS-Client im Rahmen des Maven-Build-Prozesses getestet und in die Spring Boot-Anwendung integriert wird. Es sollte aber weiterhin die Möglichkeit bestehen, den Client im Entwicklungprozess separat starten zu können.


Als Vorgehensmodell haben wir weitestgehend Scrum eingesetzt und sind zwischenzeitlich auch auf Kanban gewechselt.

Spring Framework Scrum PostGIS Maven Kotlin ReactJS Testcontainers Typescript MaterialUI Hexagonale Architektur REST IntelliJ IDEA Swagger PostgreSQL

Verfügbarkeitsprüfung und -bereitstellung von Telekommunikationsprodukten

Bei diesem Projekt handelt es sich um ein System, das regelmäßig aus verschiedenen Umsystemen Adressdaten, Produktvertragsdaten und technische Leistungsdaten für Internetanschlüsse (u.a. für Vectoring und Glasfaser) abfragt, aus diesen Daten die Verfügbarkeiten für verschiedene Reseller berechnet und zur Verfügung stellt. Zum einen war eine Live-Suche über REST für Verfügbarkeiten an Adressen gefordert, die bei der Adresssuche auch ungenaue Daten unterstützen sollte (Fuzzy Search). Dazu haben wir die ElasticSearch Datenbank genutzt. Zum anderen sollten in einem nächtlichen Durchlauf sog. Replikate mit den kompletten Verfügbarkeitsinformationen in XML generiert und allen Resellern zur Verfügung gestellt werden.


Um die Menge an Adressdaten (mehrere Millionen) in dem geforderten Zeitfenster verarbeiten zu können und für weitere Daten skalierbar zu bleiben, haben wir Spring Batch eingesetzt, um die Berechnung auf verteilten Workern parallel durchführen zu können.


Ich war bei diesem Projekt an der kompletten Konzeptionierung sowie der Entwicklung beteiligt.


Als Vorgehensmodell haben wir weitestgehend Scrum eingesetzt und sind zwischenzeitlich auch auf Kanban gewechselt.

Testautomatisierung Jenkins Scrum Kanban Java Maven Docker Spring Boot Testcontainers Spring Batch Jira Profiling REST IntelliJ IDEA Swagger Oracle DB Linux Elasticsearch DB RabbitMQ SOAP