Verfügbar
ab 31.12.2020
Projekte
01/2019 - 05/2019
Assistenzanwendung zur Unterstützung des Supports

Im Rahmen des Projekts "Verfügbarkeitsprüfung und -bereitstellung von Telekommunikationsprodukten" gab es die Anforderung des Support-Teams, dass diese eine fachliche Sicht auf die Verfügbarkeitsdaten benötigen, um bei Fehlermeldungen Recherche betreiben zu können. Da diese Daten in einer Elasticsearch Datenbank liegen, die für einen Anwender schwierig zu durchsuchen ist, habe wir eine Web-Anwendung entwickelt, um dem Support eine fachliche Oberfläche zu bieten. Aus betrieblichen Gründen musste diese in einen Spring Boot-Container integriert werden.


Mein Schwerpunkt lag in der Entwicklung der Web-Oberfläche 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 darüber hinaus die Möglichkeit bestehen, den Client im Entwicklungprozess separat starten zu können.


Als Vorgehensmodell haben wir Scrum eingesetzt.

Jenkins Scrum Spring Boot Maven Kotlin ReactJS Typescript Jira MaterialUI REST IntelliJ IDEA
09/2018 - 03/2019
Verwaltung von Produktverträgen

Diese Anwendung wurde im Rahmen eines komplexen Prozesses zur Massenmigration von Telekommunikationsproduktverträgen beauftragt. Der Auftrag bestand darin, Produkte und dessen Verträge speichern und abfragen zu können. Des Weiteren sollte auch eine Änderungshistorie für geänderte und gekündigte Verträge integriert sein.


Meine Aufgabe lag in der fachlichen Klärung mit dem Kunden und der anschließenden Entwicklung.

Jenkins Scrum TM Forum Spring Boot Maven Kotlin Jira Hexagonale Architektur REST IntelliJ IDEA Swagger Oracle DB
02/2012 - 01/2018
Enterprise-Service-Plattform zur Verwaltung von Telekommunikationsverträgen

Dieses Langzeitprojekt entstand im Auftrag des Landes Niedersachsens. Es sollte eine Plattform geschaffen werden, um Verträge von Telekommunikationsproduktionen für sämtliche öffentliche Behörden verwalten zu können. Der Schwerpunkt lag dabei auf auf der Abbildung von komplexen Prozessen für Neubestellungen, Änderungen und Kündigungen sowie Massenmigrationen von Verträgen bzw. Produkten. Des Weiteren gab es ein Incident Management für Störungen als auch die Verwaltung von Produktkatalogen und Kundenkonten.


Im Laufe des Projekts habe ich in allen Bereichen am Front- und BackEnd mitgearbeitet. Ein starker Fokus lag für mich zudem in der Konzeptionierung und Umsetzung verschiedener Oberflächen in JSF. Im Rahmen dieses Projekts entstand auch das UI-Komponenten-Framework "ButterFaces" (siehe entsprechendes Projekt). Ein weiterer Schwerpunkt war die Entwicklung einer eigenen Prozess-Engine zur Erstellung, Visualisierung und Abarbeitung von dynamischen Ablaufplänen.


Als Vorgehensmodell und zur Koordinierung der bis zu vier Entwicklerteams wurde Scrum eingesetzt.

Jenkins TM Forum Scrum JSF Java Spring Framework Maven Javascript Jira Java EE Tomcat Profiling IntelliJ IDEA Oracle DB jQuery HTML CSS SOAP

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