Zusätzlich zu den Entwickler-Tätigkeiten, wurden in allen Projekten folgende DevOps Tätigkeiten durchgeführt:
Weiterentwicklung einer bestehenden Identity Provider Software (IDP) unter Einsatz von einem Custom-Keycloak und Quarkus-Integration:
Folgende Funktionalitäten wurden umgesetzt, um die Customization zu erreichen:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Junit 5, Mockito, EasyMock, Hamcrest, Powermock, Selenium, Jakarta Persistence (JPA), Liquibase, SQL, MySQL, PostgreSQL, MariaDB, H2, Keycloak, REST, FreeMarker Templates (FTL), HTML, Javascript, CSS, Keycloak Admin UI, OAuth2, OpenID Connect, OpenAPI, Swagger, JSON Web Tokens (JWT), Nimbus Jose JWT, Quarkus, Kafka, Zookeeper, AKHQ, JSON, JSON-Path, Jackson, Camel, Quarkus-Scheduler, ShedLock, Postman, Insomnia, Docker, Kubernetes, Helm, AWS, Grafana, Metriken, Prometheus, Cloudwatch, TeamCity, Artifactory, GitLab
Implementierung von Kafka-Listenern, um Daten aus einem anderen System über Kafka zu importieren und in einer PostgrSQL Datenbank verschlüsselt zu speichern:
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Spring Boot, Spring Security, Spring Kafka, Junit 5, Mockito, Jakarta Persistence (JPA), Liquibase, SQL, PostgreSQL, H2, OAuth2, OpenID Connect, OpenAPI, Kafka, AKHQ, JSON, JSON-Path, Jackson Databind, Docker, Kubernetes, Helm, AWS, Grafana, Metriken, Prometheus, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Vorgehensmodell: SCRUM
Implementierung von Kafka-Listenern, um Daten aus einem anderen System über Kafka zu importieren, Mapping vorzunehmen und die gemappten Daten an andere Kafka Topics zu schicken:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Spring Boot, Spring Kafka, JUnit 5, PI-Tests, Mockito, Jakarta Persistence (JPA), Liquibase, SQL, PostgreSQL, H2, Keycloak, REST, OAuth2, OpenID Connect, OpenAPI, JSON Web Tokens (JWT), Kafka, Kafka Template, AKHQ, JSON, JSON-Path, Jackson Databind, Docker, Kubernetes, Helm, AWS, Grafana, Metriken, Prometheus, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Vorgehensmodell: SCRUM
Implementierung von REST-Schnittstellen über den openAPI Generator:
Folgende Implementierungen wurden vorgenommen:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Spring Boot, Spring Security, Spring Kafka, Junit 5, PI-Tests, Mockito, Jakarta Persistence (JPA), Liquibase, SQL, PostgreSQL, H2, Keycloak, REST, OAuth2, OpenID Connect, OpenAPI, JSON Web Tokens (JWT), Logback, Kafka, AKHQ, JSON, JSON-Path, Jackson, Docker, Kubernetes, Helm, AWS, Grafana, Metriken, Prometheus, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Vorgehensmodell: SCRUM
Testsuite zur Automatisierung von Smoke-Tests:
Es wurde eine Testsuite implementiert, die dabei helfen sollte, die Smoketests nicht mehr manuell machen zu müssen.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 21, Maven, Junit 5, Selenium, WebDriver, BDD, Cucumber, Gherkin, Jakarta Annotation API, Keycloak Admin Client, REST, JSON, Jackson, TeamCity, Artifactory, GitLab
Implementierung einer Applikation zur Verwendung von Support Mitarbeitern
Frontend:
Backend:
Die Daten wurden aus der IDP-Software bezogen und im Frontend zur Anzeige gebracht. Dabei wurden Schnittstellen mittels openAPI generiert und zwar über den OpenAPI Generator Maven Plugin.
Folgende Funktionalitäten wurden im Backend umgesetzt:
Kenntnisse:
React, ReactNative, Typescript, Javascript, JSEncrypt, Npm, Yarn, SwaggerClient, Nginx als Reverse-Proxy, Intellij, Java 21, Maven, Spring Boot Webflux, Reactor, Spring Security OAuth2, Junit 5, PI-Tests, Mockito, AssertJ, Keycloak, REST, OAuth2, OpenID Connect, OpenAPI, JSON Web Tokens (JWT), Kafka, AKHQ, JSON, JSON-Path, Jackson, Docker, Kubernetes, Helm, AWS, Sentry, Grafana, Metriken, Prometheus, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Applikation zum Exportieren von Prometheus-Metriken auf Basis von SQL-Abfragen zu konfigurierbaren Zeitintervallen:
Durch Abfrage der Datenbank und Exportieren der Ergebnisdaten in Prometheus, konnten zu statistischen Fragestellungen Metriken erstellt werden, die zu Monitoringzwecken dienten. Dazu wurde auf einer als Docker-Image vorliegende Lösung aufgesetzt, die in der eigenen Cloud verdrahtet wurde.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, SQL, Docker, Kubernetes, Helm, AWS, Grafana, Metriken, Prometheus, TeamCity, Artifactory, GitLab
Vorgehensmodell: SCRUM
Applikation zur Identifizierung von Kundenidentitäten:
Neukunden, die sich registriert haben, mussten eine Videoidentifikation durchlaufen. Dabei mussten persönliche Daten geprüft werden, um ihre Identifikation zu verifizieren.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Spring Boot, Spring Security, Spring Kafka, Junit 5, PI-Tests, Mockito, AssertJ, Jakarta Persistence (JPA), Liquibase, SQL, MySQL, H2, Keycloak, REST, OAuth2, OpenID Connect, OpenAPI, JSON Web Tokens (JWT), Logback, Kafka, AKHQ, JSON, JSON-Path, Jackson, Docker, Kubernetes, Helm, AWS, Grafana, Metriken, Prometheus, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Vorgehensmodell: SCRUM
Applikation zum Anlegen von Mock-Daten zur Identifizierung von Kundenidentitäten:
Zum einfacheren Testen der Applikation zur Identifizierung von Kundenidentitäten wurde ein Tool gebaut, das Mockdaten in das jeweilige Kafka-Topic gepumpt hat. Auf diese Weise konnte die Consumer-Appikation diese Mockdaten konsumieren und Test-Szenarien schneller durchgeführt werden.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Spring Boot Webflux, Spring Security, Spring Kafka, Logback, Kafka, AKHQ, JSON, JSON-Path, Jackson, Docker, Kubernetes, Helm, AWS, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Vorgehensmodell: SCRUM
Applikation zur Versendung von SMS und E-Mails aus Kafka Events:
Kunden wurden per Email/Sms benachrichtigt wenn bestimmte Ereignisse an ihren Konten passiert sind. Diese Ereignisse konnten die Kunden selbst über ihr App-Verhalten, aber auch das System selbst ausgelöst haben. Um gleiche Nachrichten nicht mehrfach zu verschicken, wurden Kafka-spezifische Informationen in einer Datenbank gespeichert.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Spring Boot, Spring Security, Spring Kafka, Junit 5, PI-Tests, Mockito, Hamcrest, Jakarta Persistence (JPA), Liquibase, SQL, MySQL, H2, Wiremock, Kafka, AKHQ, JSON, JSON-Path, Jackson Core, Jackson Databind, Docker, Kubernetes, Helm, AWS SDK, AWS SES, AWS STS, Cloudwatch, TeamCity, Artifactory, GitLab
Vorgehensmodell: SCRUM
Weiterentwicklung einer Webapplikation zur Verwaltung von Kundenprofilen:
Frontend:
Kunden hatten die Möglichkeit in ihrem eigenen Profil Daten aktuell zu halten. Z.Bsp Änderung ihrer Telefonnumer etc. Dafür wurde in ReactJS ein Frontend implementiert, um dies zu bewerkstelligen.
Folgende Funktionalitäten wurden im Frontend umgesetzt:
Backend:
Die Daten wurden aus der IDP-Software bezogen und im Frontend zur Anzeige gebracht. Dabei wurden Schnittstellen mittels openAPI generiert und zwar über den OpenAPI Generator Maven Plugin.
Folgende Funktionalitäten wurden im Backend umgesetzt:
Kenntnisse:
ReactJS, Javascript, HTML, CSS, NPM, Node, Axios, Intellij, Java 21, Maven, Spring Boot Webflux, Reactor, Spring Security OAuth2, Junit 5, PI-Tests, Mockito, Wiremock, Keycloak, Keycloak Admin Client, REST, OAuth2, OpenID Connect, OpenAPI, JSON Web Tokens (JWT), JSON, Jackson, Docker, Kubernetes, Helm, AWS, Sentry, Grafana, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Vorgehensmodell: SCRUM
Implementierung eines Import-Systems zur Versorgung von aktualisierten Benutzerkonten:
Da das führende System ein anderes System war, musste ein Import-Tool her, um Benutzerkonten in den IDP zu bekommen. Dabei ging es um Benutzerkonten, die aus verschiedenen Gründen aktualisiert wurden. Die Aktualisierung und Versorgung des IDP-Systems sollte durch dieses Tool umgesetzt werden.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 8 bis 17, Maven, Kafka, AKHQ, Apache Camel, Camel JSONPath, Spring Boot Webflux, Reactor, Spring Security, Junit 5, PI-Tests, Mockito, Logback, Keycloak, REST, OAuth2, OpenID Connect, OpenAPI, JSON Web Tokens (JWT), JSON, Jackson, Jackson Databind, Apache Avro, Docker, Kubernetes, Helm, AWS, Sentry, Grafana, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Vorgehensmodell: SCRUM
Entwicklung eines Standalone-Tools zum Erzeugen von einem Certificate Signing Request (CSR) für AWS KMS
Das Cloud-Team hat dieses Tool angefragt.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 8, Maven, Spring Boot, AWS Java SDK, KMS und STS
Vorgehensmodell: Ausnahmsweise auf Anfrage
Entwicklung eines Tools zur Umwandlung von Daten aus einem JSON-Format in ein Java-Format
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 17, Maven, Jackson, Jackson Databind, Junit 5, Mockito
Einmaljobs zur Versorgung von Umsystemen:
Umsysteme mussten zum Hauptsystem synchron gehalten werden. Dabei wurden Einmaljobs in Java Spring Batch implementiert, um grössere Datenmengen abzusetzen.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Spring Batch, Spring Kafka, Kafka, AKHQ, Apache Avro
Folgende Funktionalitäten wurden umgesetzt:
Implementierung eines Web-Frontends mit Java JSF PrimeFaces:
Kenntnisse:
Java 8, JSF, PrimeFaces, REST, JSON, Maven, Jenkins, TeamCity, Ansible, Apache http Client, Apache SolR, WebServices (SOAP), Apache NIFI, Apache Tomcat, Apache SolrJ, XML, Windows/Linux, Javascript, HTML, CSS, GIT/Bitbucket, JIRA, Artifactory, GitLab, JUnit
Vorgehensmodell: SCRUM
Weiterentwicklung eines Web-Frontends mit Java JSF PrimeFaces:
Kenntnisse:
Java 8, Java Persistence API (JPA), Hibernate, Spring, JSF, PrimeFaces, REST, JSON, Oracle SQL , Java Expression Language (EL), SQL, MariaDB, Maven, Jenkins http Client, Apache SolR, Apache Tomcat, WebServices (SOAP), Autonomy/Microfocus IDOL Search Engine, Javascript, HTML, CSS, XML, GIT/Bitbucket, JIRA, Artifactory, GitLab, JUnit, Azure
Vorgehensmodell: SCRUM
Weiterentwicklung und Wartung eines Web-Frontends und Backends:
Kenntnisse:
Java 8, JSF, PrimeFaces, Oracle SQL, Maven, Jenkins, Continuous Integration/Continuous Delivery, UNIX/LINUX Scripting, Apache SolR, Apache Tomcat, WebServices (SOAP), Autonomy/Microfocus IDOL Search Engine, Javascript, HTML, CSS, VBA, Lua, XML, GIT/Bitbucket, JIRA, Artifactory, GitLab, JUnit, Azure, Veracode, FindBugs
Vorgehensmodell: SCRUM
Weiterentwicklung und Wartung eines Web-Frontends und Backends:
Kenntnisse:
Java 8, Spring Boot, REST, JSON, Angular 8+, Angular Material, Angular CLI, TypeScript/Javascript, SCSS, Bootstrap, RxJS, Node.js, Npm, OAuth 2.0, OpenID Connect, Apache NIFI, Apache SolR
Vorgehensmodell: SCRUM
Konfigurationsmanagement: Devops Tätigkeiten zum Warten von 25 Umgebungen, Frontend und Backend:
Kenntnisse:
Java 8, Spring, JSF, PrimeFaces, SQL, Maven, Jenkins, Continuous Integration/Continuous Delivery, Pipeline Script mit Groovy, Apache SolR, Apache Tomcat, WebServices (SOAP), Autonomy/Microfocus IDOL Search Engine, XML, GIT/Bitbucket, JIRA, Artifactory
Bearbeitung von INCIDENTS, Annahme der Kundenanfragen zur Bearbeitung von Bugs per JIRA:
Implementierung und Wartung eines eventbasierten Messaging-Systems in Java zur Verwendung für die Kommunikation zwischen Hardware-Gerät (Device für Airlines) und bestehender Software für den Einsatz von Checkin bzw. Boarding Zwecken von Passagieren
Weitere Tätigkeiten, die im Rahmen dieses Projekts angefallen sind:
Schnüren einer Java-Library zur einfacheren Handhabung der Versendung von Emails mit Java in Spring
Es wurde um die bestehende Email-Funktionalität von Spring eine Abstraktion implementiert und als Java-Bibliothek zur Verfügung gestellt. Diese sollte bestehenden Microservices ein schnelles und redundanzfreies Werkzeug bieten, Funktionalität zum Email Versenden leicht einzubinden. Dadurch mussten die einzelnen Microservices diese Funktionalität nicht mehr in ihrer eigenen Logik selbst implementieren. Die Bibliothek umfasste folgende Features, die der Entwickler nach Belieben entweder als Fluent-Interface-Style oder klassischen Java-Objektaufruf verwenden konnte:
Kenntnisse:
Java 8, Spring Framework 4.1.3, Thymeleaf Template Engine, JUnit, GIT
Vorgehensmodell: SCRUM
Implementierung eines asynchronen REST-Microservices zum Abfragen von Benutzerdaten:
Kenntnisse:
Java 8, Spring Framework 4.1.3, JUnit, REST, JSON, GIT
Vorgehensmodell: SCRUM
Implementierung von Integrationstests mit Spring Boot:
Kenntnisse:
Java 8, Spring Boot, REST, JSON, GIT
Vorgehensmodell: SCRUM
Implementierung eines REST-Microservices als Report zur Aufdeckung möglicher Fehlerquellen in den einzelnen Microservices:
Kenntnisse:
Java 8, Spring Framework 4.1.3 JUnit, REST, JSON, JSP, JSTL, HTML, CSS
Vorgehensmodell: SCRUM
Übernahme der technischen Verantwortlichkeit zum Thema Druck der über den Smart-Client erfassten Daten.
Entwicklung eines Integrationstest-Frameworks in Java zur Auswertung von versicherungsspezifischen Daten, die aus anderen Software-Komponenten stammten:
Implementierung eines komplexen Algorithmus nach einer fachlichen Vorgabe zur Realisierung einer versicherungsspezifischen Logik auf dem Smart-Client.
Entwicklung von GUI-Masken auf der Grundlage eines Smart-Client-Ansatzes über die Eclipse Riena Platform, die eine kompatible Ergänzung der Eclipse RCP ist.
Entwicklung einer Software für den touristischen Bereich auf Basis von Eclipse RCP, EJB3 und Hibernate und Wartung einer älteren Version.
Weiterentwicklung einer bestehenden Software zur Verwaltung, Reporting und Durchführung von Online-Befragungen.
Implementieren einer Web-Anwendung zum Zwecke der Marktforschung für den Kunden VW.
Zu Marktforschungszwecken benötigte der Kunde eine Web-Anwendung, die Reports, Kennzahlen-Erfassungen, Besuchsberichte etc. mit einem Benutzerberechtigungskonzept und Rollen innerhalb komplexer Organisationsstrukturen zugänglich macht. Dies wurde auf der Backend-Seite mit Spring und Hibernate als DAOs und Services zur Verfügung gestellt. Zu Testzwecken wurde HSQLDB als Datenbank für jeden einzelnen Entwickler eingerichtet.
Implementieren eines Web Services mit Spring für den Kunden BMW
Der Kunde sollte einen Web Service Request stellen, der eine URL anfordert, mit deren Hilfe man sich an einem System anmelden kann. Das Ganze sollte automatisiert und in einem heterogenen Systemumfeld ablaufen. Der Web Service wurde auf der Serverseite mit der Spring-Technologie realisiert und mit dem Tool SOAP-UI getestet. Darüberhinaus wurden auch Test-Clients mittels Apache Axis 2 implementiert.
Entwicklung eines webbasierten Softwareproduktes zur Verwaltung, Reporting und Durchführung von Online Befragungen (Online Surveys)
Die Verwaltung der Fragebögen erfolgte über einen Web Client auf Basis von Eclipse RAP. Die Durchführung der Online Befragungen erfolgte über einen Web Client auf Basis von JSP und Struts.
Das Projekt ?Formel 1? dient der Konsolidierung mehrerer teils redundanter Datenbanken zu einem zentralen System. Das Projekt wurde unter Einsatz von Smarty als Referenzprojekt umgesetzt, mit dem Ziel die Entwicklungsdauer zu reduzieren.
Entwicklung einer Web-Anwendung für den Backoffice Bereich eines Medienunternehmens.
Das Projekt ?Programmdatenbank? dient der Bereitstellung von Programmdaten. Ziel des Projektes war die Bereitstellung der Programmdaten als unternehmensweite Services
Portierung einer Applikation zur risikoadäquaten Kreditbewertung von MS Access auf eine Swing basierte Lösung auf Basis einer JEE Architektur
1999
Studium der Informatik
FH Wiesbaden
Profil:
Noch ein paar Worte über mich
Besondere Kenntnisse im Überblick
Test-Frameworks und Werkzeuge:
BDD:
Identity Provider und Werkzeuge:
Messaging und Werkzeuge:
Abfragesprache:
Dokumentbasierte Technologien:
Build Management:
Cloud Computing:
Metriken:
Container Technologien:
Modellierungssprache:
Frameworks:
Template engines:
Datenbank-Migration:
Werkzeuge:
Codeanalyse:
Vorgehensmodell:
Anwendungssoftware:
Darin verwendete Technologien:
Zusätzlich zu den Entwickler-Tätigkeiten, wurden in allen Projekten folgende DevOps Tätigkeiten durchgeführt:
Weiterentwicklung einer bestehenden Identity Provider Software (IDP) unter Einsatz von einem Custom-Keycloak und Quarkus-Integration:
Folgende Funktionalitäten wurden umgesetzt, um die Customization zu erreichen:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Junit 5, Mockito, EasyMock, Hamcrest, Powermock, Selenium, Jakarta Persistence (JPA), Liquibase, SQL, MySQL, PostgreSQL, MariaDB, H2, Keycloak, REST, FreeMarker Templates (FTL), HTML, Javascript, CSS, Keycloak Admin UI, OAuth2, OpenID Connect, OpenAPI, Swagger, JSON Web Tokens (JWT), Nimbus Jose JWT, Quarkus, Kafka, Zookeeper, AKHQ, JSON, JSON-Path, Jackson, Camel, Quarkus-Scheduler, ShedLock, Postman, Insomnia, Docker, Kubernetes, Helm, AWS, Grafana, Metriken, Prometheus, Cloudwatch, TeamCity, Artifactory, GitLab
Implementierung von Kafka-Listenern, um Daten aus einem anderen System über Kafka zu importieren und in einer PostgrSQL Datenbank verschlüsselt zu speichern:
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Spring Boot, Spring Security, Spring Kafka, Junit 5, Mockito, Jakarta Persistence (JPA), Liquibase, SQL, PostgreSQL, H2, OAuth2, OpenID Connect, OpenAPI, Kafka, AKHQ, JSON, JSON-Path, Jackson Databind, Docker, Kubernetes, Helm, AWS, Grafana, Metriken, Prometheus, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Vorgehensmodell: SCRUM
Implementierung von Kafka-Listenern, um Daten aus einem anderen System über Kafka zu importieren, Mapping vorzunehmen und die gemappten Daten an andere Kafka Topics zu schicken:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Spring Boot, Spring Kafka, JUnit 5, PI-Tests, Mockito, Jakarta Persistence (JPA), Liquibase, SQL, PostgreSQL, H2, Keycloak, REST, OAuth2, OpenID Connect, OpenAPI, JSON Web Tokens (JWT), Kafka, Kafka Template, AKHQ, JSON, JSON-Path, Jackson Databind, Docker, Kubernetes, Helm, AWS, Grafana, Metriken, Prometheus, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Vorgehensmodell: SCRUM
Implementierung von REST-Schnittstellen über den openAPI Generator:
Folgende Implementierungen wurden vorgenommen:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Spring Boot, Spring Security, Spring Kafka, Junit 5, PI-Tests, Mockito, Jakarta Persistence (JPA), Liquibase, SQL, PostgreSQL, H2, Keycloak, REST, OAuth2, OpenID Connect, OpenAPI, JSON Web Tokens (JWT), Logback, Kafka, AKHQ, JSON, JSON-Path, Jackson, Docker, Kubernetes, Helm, AWS, Grafana, Metriken, Prometheus, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Vorgehensmodell: SCRUM
Testsuite zur Automatisierung von Smoke-Tests:
Es wurde eine Testsuite implementiert, die dabei helfen sollte, die Smoketests nicht mehr manuell machen zu müssen.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 21, Maven, Junit 5, Selenium, WebDriver, BDD, Cucumber, Gherkin, Jakarta Annotation API, Keycloak Admin Client, REST, JSON, Jackson, TeamCity, Artifactory, GitLab
Implementierung einer Applikation zur Verwendung von Support Mitarbeitern
Frontend:
Backend:
Die Daten wurden aus der IDP-Software bezogen und im Frontend zur Anzeige gebracht. Dabei wurden Schnittstellen mittels openAPI generiert und zwar über den OpenAPI Generator Maven Plugin.
Folgende Funktionalitäten wurden im Backend umgesetzt:
Kenntnisse:
React, ReactNative, Typescript, Javascript, JSEncrypt, Npm, Yarn, SwaggerClient, Nginx als Reverse-Proxy, Intellij, Java 21, Maven, Spring Boot Webflux, Reactor, Spring Security OAuth2, Junit 5, PI-Tests, Mockito, AssertJ, Keycloak, REST, OAuth2, OpenID Connect, OpenAPI, JSON Web Tokens (JWT), Kafka, AKHQ, JSON, JSON-Path, Jackson, Docker, Kubernetes, Helm, AWS, Sentry, Grafana, Metriken, Prometheus, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Applikation zum Exportieren von Prometheus-Metriken auf Basis von SQL-Abfragen zu konfigurierbaren Zeitintervallen:
Durch Abfrage der Datenbank und Exportieren der Ergebnisdaten in Prometheus, konnten zu statistischen Fragestellungen Metriken erstellt werden, die zu Monitoringzwecken dienten. Dazu wurde auf einer als Docker-Image vorliegende Lösung aufgesetzt, die in der eigenen Cloud verdrahtet wurde.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, SQL, Docker, Kubernetes, Helm, AWS, Grafana, Metriken, Prometheus, TeamCity, Artifactory, GitLab
Vorgehensmodell: SCRUM
Applikation zur Identifizierung von Kundenidentitäten:
Neukunden, die sich registriert haben, mussten eine Videoidentifikation durchlaufen. Dabei mussten persönliche Daten geprüft werden, um ihre Identifikation zu verifizieren.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Spring Boot, Spring Security, Spring Kafka, Junit 5, PI-Tests, Mockito, AssertJ, Jakarta Persistence (JPA), Liquibase, SQL, MySQL, H2, Keycloak, REST, OAuth2, OpenID Connect, OpenAPI, JSON Web Tokens (JWT), Logback, Kafka, AKHQ, JSON, JSON-Path, Jackson, Docker, Kubernetes, Helm, AWS, Grafana, Metriken, Prometheus, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Vorgehensmodell: SCRUM
Applikation zum Anlegen von Mock-Daten zur Identifizierung von Kundenidentitäten:
Zum einfacheren Testen der Applikation zur Identifizierung von Kundenidentitäten wurde ein Tool gebaut, das Mockdaten in das jeweilige Kafka-Topic gepumpt hat. Auf diese Weise konnte die Consumer-Appikation diese Mockdaten konsumieren und Test-Szenarien schneller durchgeführt werden.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Spring Boot Webflux, Spring Security, Spring Kafka, Logback, Kafka, AKHQ, JSON, JSON-Path, Jackson, Docker, Kubernetes, Helm, AWS, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Vorgehensmodell: SCRUM
Applikation zur Versendung von SMS und E-Mails aus Kafka Events:
Kunden wurden per Email/Sms benachrichtigt wenn bestimmte Ereignisse an ihren Konten passiert sind. Diese Ereignisse konnten die Kunden selbst über ihr App-Verhalten, aber auch das System selbst ausgelöst haben. Um gleiche Nachrichten nicht mehrfach zu verschicken, wurden Kafka-spezifische Informationen in einer Datenbank gespeichert.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Spring Boot, Spring Security, Spring Kafka, Junit 5, PI-Tests, Mockito, Hamcrest, Jakarta Persistence (JPA), Liquibase, SQL, MySQL, H2, Wiremock, Kafka, AKHQ, JSON, JSON-Path, Jackson Core, Jackson Databind, Docker, Kubernetes, Helm, AWS SDK, AWS SES, AWS STS, Cloudwatch, TeamCity, Artifactory, GitLab
Vorgehensmodell: SCRUM
Weiterentwicklung einer Webapplikation zur Verwaltung von Kundenprofilen:
Frontend:
Kunden hatten die Möglichkeit in ihrem eigenen Profil Daten aktuell zu halten. Z.Bsp Änderung ihrer Telefonnumer etc. Dafür wurde in ReactJS ein Frontend implementiert, um dies zu bewerkstelligen.
Folgende Funktionalitäten wurden im Frontend umgesetzt:
Backend:
Die Daten wurden aus der IDP-Software bezogen und im Frontend zur Anzeige gebracht. Dabei wurden Schnittstellen mittels openAPI generiert und zwar über den OpenAPI Generator Maven Plugin.
Folgende Funktionalitäten wurden im Backend umgesetzt:
Kenntnisse:
ReactJS, Javascript, HTML, CSS, NPM, Node, Axios, Intellij, Java 21, Maven, Spring Boot Webflux, Reactor, Spring Security OAuth2, Junit 5, PI-Tests, Mockito, Wiremock, Keycloak, Keycloak Admin Client, REST, OAuth2, OpenID Connect, OpenAPI, JSON Web Tokens (JWT), JSON, Jackson, Docker, Kubernetes, Helm, AWS, Sentry, Grafana, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Vorgehensmodell: SCRUM
Implementierung eines Import-Systems zur Versorgung von aktualisierten Benutzerkonten:
Da das führende System ein anderes System war, musste ein Import-Tool her, um Benutzerkonten in den IDP zu bekommen. Dabei ging es um Benutzerkonten, die aus verschiedenen Gründen aktualisiert wurden. Die Aktualisierung und Versorgung des IDP-Systems sollte durch dieses Tool umgesetzt werden.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 8 bis 17, Maven, Kafka, AKHQ, Apache Camel, Camel JSONPath, Spring Boot Webflux, Reactor, Spring Security, Junit 5, PI-Tests, Mockito, Logback, Keycloak, REST, OAuth2, OpenID Connect, OpenAPI, JSON Web Tokens (JWT), JSON, Jackson, Jackson Databind, Apache Avro, Docker, Kubernetes, Helm, AWS, Sentry, Grafana, Cloudwatch, TeamCity, Artifactory, GitLab, Postman, Insomnia
Vorgehensmodell: SCRUM
Entwicklung eines Standalone-Tools zum Erzeugen von einem Certificate Signing Request (CSR) für AWS KMS
Das Cloud-Team hat dieses Tool angefragt.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 8, Maven, Spring Boot, AWS Java SDK, KMS und STS
Vorgehensmodell: Ausnahmsweise auf Anfrage
Entwicklung eines Tools zur Umwandlung von Daten aus einem JSON-Format in ein Java-Format
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 17, Maven, Jackson, Jackson Databind, Junit 5, Mockito
Einmaljobs zur Versorgung von Umsystemen:
Umsysteme mussten zum Hauptsystem synchron gehalten werden. Dabei wurden Einmaljobs in Java Spring Batch implementiert, um grössere Datenmengen abzusetzen.
Folgende Funktionalitäten wurden umgesetzt:
Kenntnisse:
Intellij, Java 8 bis 21, Maven, Spring Batch, Spring Kafka, Kafka, AKHQ, Apache Avro
Folgende Funktionalitäten wurden umgesetzt:
Implementierung eines Web-Frontends mit Java JSF PrimeFaces:
Kenntnisse:
Java 8, JSF, PrimeFaces, REST, JSON, Maven, Jenkins, TeamCity, Ansible, Apache http Client, Apache SolR, WebServices (SOAP), Apache NIFI, Apache Tomcat, Apache SolrJ, XML, Windows/Linux, Javascript, HTML, CSS, GIT/Bitbucket, JIRA, Artifactory, GitLab, JUnit
Vorgehensmodell: SCRUM
Weiterentwicklung eines Web-Frontends mit Java JSF PrimeFaces:
Kenntnisse:
Java 8, Java Persistence API (JPA), Hibernate, Spring, JSF, PrimeFaces, REST, JSON, Oracle SQL , Java Expression Language (EL), SQL, MariaDB, Maven, Jenkins http Client, Apache SolR, Apache Tomcat, WebServices (SOAP), Autonomy/Microfocus IDOL Search Engine, Javascript, HTML, CSS, XML, GIT/Bitbucket, JIRA, Artifactory, GitLab, JUnit, Azure
Vorgehensmodell: SCRUM
Weiterentwicklung und Wartung eines Web-Frontends und Backends:
Kenntnisse:
Java 8, JSF, PrimeFaces, Oracle SQL, Maven, Jenkins, Continuous Integration/Continuous Delivery, UNIX/LINUX Scripting, Apache SolR, Apache Tomcat, WebServices (SOAP), Autonomy/Microfocus IDOL Search Engine, Javascript, HTML, CSS, VBA, Lua, XML, GIT/Bitbucket, JIRA, Artifactory, GitLab, JUnit, Azure, Veracode, FindBugs
Vorgehensmodell: SCRUM
Weiterentwicklung und Wartung eines Web-Frontends und Backends:
Kenntnisse:
Java 8, Spring Boot, REST, JSON, Angular 8+, Angular Material, Angular CLI, TypeScript/Javascript, SCSS, Bootstrap, RxJS, Node.js, Npm, OAuth 2.0, OpenID Connect, Apache NIFI, Apache SolR
Vorgehensmodell: SCRUM
Konfigurationsmanagement: Devops Tätigkeiten zum Warten von 25 Umgebungen, Frontend und Backend:
Kenntnisse:
Java 8, Spring, JSF, PrimeFaces, SQL, Maven, Jenkins, Continuous Integration/Continuous Delivery, Pipeline Script mit Groovy, Apache SolR, Apache Tomcat, WebServices (SOAP), Autonomy/Microfocus IDOL Search Engine, XML, GIT/Bitbucket, JIRA, Artifactory
Bearbeitung von INCIDENTS, Annahme der Kundenanfragen zur Bearbeitung von Bugs per JIRA:
Implementierung und Wartung eines eventbasierten Messaging-Systems in Java zur Verwendung für die Kommunikation zwischen Hardware-Gerät (Device für Airlines) und bestehender Software für den Einsatz von Checkin bzw. Boarding Zwecken von Passagieren
Weitere Tätigkeiten, die im Rahmen dieses Projekts angefallen sind:
Schnüren einer Java-Library zur einfacheren Handhabung der Versendung von Emails mit Java in Spring
Es wurde um die bestehende Email-Funktionalität von Spring eine Abstraktion implementiert und als Java-Bibliothek zur Verfügung gestellt. Diese sollte bestehenden Microservices ein schnelles und redundanzfreies Werkzeug bieten, Funktionalität zum Email Versenden leicht einzubinden. Dadurch mussten die einzelnen Microservices diese Funktionalität nicht mehr in ihrer eigenen Logik selbst implementieren. Die Bibliothek umfasste folgende Features, die der Entwickler nach Belieben entweder als Fluent-Interface-Style oder klassischen Java-Objektaufruf verwenden konnte:
Kenntnisse:
Java 8, Spring Framework 4.1.3, Thymeleaf Template Engine, JUnit, GIT
Vorgehensmodell: SCRUM
Implementierung eines asynchronen REST-Microservices zum Abfragen von Benutzerdaten:
Kenntnisse:
Java 8, Spring Framework 4.1.3, JUnit, REST, JSON, GIT
Vorgehensmodell: SCRUM
Implementierung von Integrationstests mit Spring Boot:
Kenntnisse:
Java 8, Spring Boot, REST, JSON, GIT
Vorgehensmodell: SCRUM
Implementierung eines REST-Microservices als Report zur Aufdeckung möglicher Fehlerquellen in den einzelnen Microservices:
Kenntnisse:
Java 8, Spring Framework 4.1.3 JUnit, REST, JSON, JSP, JSTL, HTML, CSS
Vorgehensmodell: SCRUM
Übernahme der technischen Verantwortlichkeit zum Thema Druck der über den Smart-Client erfassten Daten.
Entwicklung eines Integrationstest-Frameworks in Java zur Auswertung von versicherungsspezifischen Daten, die aus anderen Software-Komponenten stammten:
Implementierung eines komplexen Algorithmus nach einer fachlichen Vorgabe zur Realisierung einer versicherungsspezifischen Logik auf dem Smart-Client.
Entwicklung von GUI-Masken auf der Grundlage eines Smart-Client-Ansatzes über die Eclipse Riena Platform, die eine kompatible Ergänzung der Eclipse RCP ist.
Entwicklung einer Software für den touristischen Bereich auf Basis von Eclipse RCP, EJB3 und Hibernate und Wartung einer älteren Version.
Weiterentwicklung einer bestehenden Software zur Verwaltung, Reporting und Durchführung von Online-Befragungen.
Implementieren einer Web-Anwendung zum Zwecke der Marktforschung für den Kunden VW.
Zu Marktforschungszwecken benötigte der Kunde eine Web-Anwendung, die Reports, Kennzahlen-Erfassungen, Besuchsberichte etc. mit einem Benutzerberechtigungskonzept und Rollen innerhalb komplexer Organisationsstrukturen zugänglich macht. Dies wurde auf der Backend-Seite mit Spring und Hibernate als DAOs und Services zur Verfügung gestellt. Zu Testzwecken wurde HSQLDB als Datenbank für jeden einzelnen Entwickler eingerichtet.
Implementieren eines Web Services mit Spring für den Kunden BMW
Der Kunde sollte einen Web Service Request stellen, der eine URL anfordert, mit deren Hilfe man sich an einem System anmelden kann. Das Ganze sollte automatisiert und in einem heterogenen Systemumfeld ablaufen. Der Web Service wurde auf der Serverseite mit der Spring-Technologie realisiert und mit dem Tool SOAP-UI getestet. Darüberhinaus wurden auch Test-Clients mittels Apache Axis 2 implementiert.
Entwicklung eines webbasierten Softwareproduktes zur Verwaltung, Reporting und Durchführung von Online Befragungen (Online Surveys)
Die Verwaltung der Fragebögen erfolgte über einen Web Client auf Basis von Eclipse RAP. Die Durchführung der Online Befragungen erfolgte über einen Web Client auf Basis von JSP und Struts.
Das Projekt ?Formel 1? dient der Konsolidierung mehrerer teils redundanter Datenbanken zu einem zentralen System. Das Projekt wurde unter Einsatz von Smarty als Referenzprojekt umgesetzt, mit dem Ziel die Entwicklungsdauer zu reduzieren.
Entwicklung einer Web-Anwendung für den Backoffice Bereich eines Medienunternehmens.
Das Projekt ?Programmdatenbank? dient der Bereitstellung von Programmdaten. Ziel des Projektes war die Bereitstellung der Programmdaten als unternehmensweite Services
Portierung einer Applikation zur risikoadäquaten Kreditbewertung von MS Access auf eine Swing basierte Lösung auf Basis einer JEE Architektur
1999
Studium der Informatik
FH Wiesbaden
Profil:
Noch ein paar Worte über mich
Besondere Kenntnisse im Überblick
Test-Frameworks und Werkzeuge:
BDD:
Identity Provider und Werkzeuge:
Messaging und Werkzeuge:
Abfragesprache:
Dokumentbasierte Technologien:
Build Management:
Cloud Computing:
Metriken:
Container Technologien:
Modellierungssprache:
Frameworks:
Template engines:
Datenbank-Migration:
Werkzeuge:
Codeanalyse:
Vorgehensmodell:
Anwendungssoftware:
Darin verwendete Technologien: