Cloud-native, Java, Go (programming-language)
Aktualisiert am 12.05.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 27.05.2024
Verfügbar zu: 100%
davon vor Ort: 10%
Java
Go-lang
Agile Softwareentwicklung
Kubernetes
Java EE
Maven
Gradle
Spring Boot
Scrum
IAM
Microservices
Helm
Docker
DevOps
Domain Driven Design
Automotive
REST
Swagger
JSON
XML
Deutsch
Muttersprache
Englisch
fließend / sehr gut
Norwegisch
gut

Einsatzorte

Einsatzorte

Deutschland, Schweiz, Österreich
Ich arbeite überwiegend Remote. Bei Bedarf kann ich auch nach Absprache Vorort arbeiten.
möglich

Projekte

Projekte

4 Monate
2024-01 - heute

Energie Accounting Management

Software Entwickler Backend Java Spring Boot GitHub ...
Software Entwickler Backend

Für eine Applikation zur Verwaltung, Management und Accounting von Energiedaten werden neue Funktionen entwickelt. In dieser Anwendung werden diverse Energiedaten aufbereitet. Die Rohdaten werden von externen Systemen in unterschiedlichen Formaten bezogen und anschließend einheitlich sowie revisionssicher gespeichert. Im weiteren Verlauf werden die Daten für das Controlling aufbereitet, um eine effiziente Überprüfung und Fakturierung zu ermöglichen.

 

Das Mehrwert des Projekts besteht darin, den bisher teilautomatisierten Excel-Import von Daten aus externen Quellen vollständig zu automatisieren. Dies wird durch die nahtlose Integration der Daten über REST-Schnittstellen erreicht. Dies ermöglicht es den Benutzern, täglich aktualisierte und präzise aufbereitete Daten zu erhalten, die bisher aufgrund manueller Schritte nur monatlich verfügbar waren.

IntelliJ
Java Spring Boot GitHub REST OpenAPI
Remote
2 Jahre
2021-12 - 2023-11

TSMS (Trusted Service Management System)

Software-Developer Backend Go/Java Go-lang Java Microservices ...
Software-Developer Backend Go/Java

Projektbeschreibung:
Die Deutsche Telekom entwickelt derzeit eine webbasierte Anwendung namens "TSMS" (Trusted Service Management System). TSMS dient als Plattform für Smartphone-Hersteller und Mobilfunkdienstanbieter, um die Verwaltung von hardwarebasierten Sicherheitskomponenten, wie Secure Elements, auf Mobilgeräten plattformübergreifend zu ermöglichen. Dies soll letztlich die nahtlose Integration von Sicherheitsfunktionen wie dem digitalen Personalausweis in mobilen Endgeräten ermöglichen. Ziel des Projektes war es einen IAM Provider zu evaluieren, das Rollen und Rechte-System darauf abzubilden und im Frontend mit 2 Faktor Authentifizierung zu integrieren.


M.B. entwickelte die Spezifikation für die kundenspezifische REST-API für das  User & Access Management auf Basis der OpenAPI Spezifikation Version 3 (Swagger). Dies wurde regelmäßig mit dem Projet-Owner und dem Frontend-Entwicklern abgestimmt.

Der dadurch entstehende  REST-Service, sollte durch austauschbare (Adapter) für die Anbindung unterschiedlicher Identity & Access Management (IAM) Provider konzipiert werden. Konkret entwickelte M.B. dazu zwei IAM-Adapter: Für die Anbindung an Auth0 von Okta und ICU, eine Plattform der Deutschen Telekom zur Verwaltung von Benutzerkonten von Geschäftskunden (basierend auf Key-Cloak). Des weiteren implementierte er die REST-API und das Domain-Model mit internen Schnittstellen für die Berechtigung. Eine Herausforderung war es die unterschiedlichen Interpretationen der OAuth2 Authentifizierung hinsichtlich der IAM-Provider für TSMS umzusetzen. Die Applikation wurde nach den herangehensweisen des "Domain-Driven-Design" entwickelt.

Für den Test der gesamten TSMS Anwendung mit weiteren REST-APIs entwarf und implementierte er eine Java-basierte, generative REST-API-Testsuite, die auf OpenAPI Generator-Tools und RestAssured für die Validierung von Nachrichteninhalten basiert.

Das Projekt bot M.B. auch die Möglichkeit, seine bereits profunden Kenntnisse und Fähigkeiten in den folgenden Bereichen weiter auszubauen: Entwicklung von Microservices in Go & Java, Gitlab CI/CD, Docker, Domain Driven Design, Beherrschung von API-Spezifikationen mit OpenAPI V3, Scripting mit Postman, IAM-Konzepte & -Technologie einschließlich Auth0 von Okta, IETF System for Cross-domain Identity Management 2.0 (RFC-7643 & RFC-7644).

Auth0 Keykloak Gitlab-CI Swagger Postm Postman
Go-lang Java Microservices OAuth2 Maven Scrum CORS Git Identity and Accessmanagement (IAM) JSON REST-API XML Git-Lab CICD Swagger OpenAPI JSON Web Token (JWT) IntelliJ IDEA JUnit Bash REST Assured Framework
DEUTSCHE TELEKOM Security GMBH
Remote
1 Jahr 8 Monate
2020-04 - 2021-11

Diagnose Data Analyse ? Datamodel refactoring

Senior Entwickler / Tech Lead Kubernetes helm Java EE ...
Senior Entwickler / Tech Lead

Der Kunde produziert Fahrzeuge in verschiedenen Modellreihen mit maßgeschneiderter Ausstattung. Unabhängig von der Fahrzeugart verfügen alle Fahrzeuge über eine eigene Schnittstelle für die Diagnose Daten Aufbereitung (DDA) im Backend. Die DDA empfängt verschiedene Rohdaten von den Fahrzeugen und bereitet sie in einem standardisierten Format, für andere Anwendungen auf. Aufgrund der Vielzahl unterschiedlicher Fahrzeugtypen wurden viele verschiedene Datenformate entwickelt, die täglich von den Fahrzeugen analysiert werden.

 

Eine der wichtigsten Aufgaben der DDA-Architektur ist die Erweiterungsmöglichkeit im Hinblick auf neue Fahrzeugtypen, die sich in der Entwicklung befinden. Der Kunde liefert deshalb in regelmäßigen Intervallen neue Daten über alle Fahrzeugtypen. Nur mithilfe dieser modellspezifischen Stammdaten ist es möglich, Rohdaten zu interpretieren und zu analysieren. Das Ziel des Projekts war es, die Komplexität und Abhängigkeiten innerhalb der gelieferten Stammdaten zu reduzieren und einen kürzeren "Release-Zyklus" mit Unterstützung durch CI/CD zu implementieren.

 

Als Architekt in dem Projekt spielte M.B. eine zentrale Rolle als Ansprechpartner für Code und Architektur. Er arbeitete an der Weiterentwicklung und Wartung des nahezu gesamten DDA-Systems. Eines von M.B.s Zielen war es, die vorhandenen Datenmodelle für Stammdaten und REST-API zu analysieren, um die Komplexität zu verringern. Dazu wurde die CICD-Pipeline erweitert, um eine vorgelagerte automatisierte Optimierung außerhalb der Applikation zu ermöglichen. Auch Anpassungen der Docker-Container wurden durchgeführt, um das angepasste Datenmodell in die Applikationen zu integrieren. Letztlich war der Kunde sehr zufrieden da die Perfomance erhöht und die Komplexität verringert wurde

 

Neben seiner Arbeit an der Architektur hat M.B. auch als Entwickler (Java und Go-lang) gearbeitet. Er hat hauptsächlich den zentralen Service auf Basis des MicroProfile-Stacks OpenLiberty entwickelt. Er passte das Modell auch für weitere Microservices an, die über gRPC kommunizieren. Er koordinierte den Übergang zum neuen Datenmodell für alle Microservices in DDA.

Die geänderten Datenmodelle für das REST-API wurden auch in Swagger/JSON verfasst. Die Objektmodelle für Go-lang und Java wurden basierend auf den Swagger-Modellen generiert. M.B. entwickelte eine neue CICD-Pipeline für die Datenmodule. Teile der Pipeline wurden sowohl in GitlabCI als auch in Apache Maven entwickelt.

 

 

Java EE, Apache Maven, Spring Boot, Golang, JSON, JSON Web Token (JWT), XML/XSLT, OpenAPI, Postman, REST API, RESTful Web Services, Linux, Java, DevOps, Kubernetes, Docker, AWS, G-Cloud, IBM-Cloud, GitLab CI/CD, IntelliJ IDEA, Serverless Architektur, JUnit, gRPC

OpenLiberty Kibana AppDynamics G-Cloud IBM-Cloud
Kubernetes helm Java EE Go-lang Docker Cloud-native
Automobil Hersteller
Remote
6 Monate
2019-10 - 2020-03

DDA Microcervices CICD by helm

Senior Entwickler / Tech Lead Go-Lang Java EE Cloud-native ...
Senior Entwickler / Tech Lead

Die Diagnose-Daten-Analyse (DDA) analysiert Daten vom Fahrzeug. Hierfür werden Daten vom Fahrzeug an die Backend-Systeme des Herstellers gesendet. Die Daten aller verschiedenen Fahrzeugtypen werden von diesem System in ein einheitliches Format transformiert. Die Service-Landschaft für die diagnostische Datenverarbeitung besteht mehreren verschiedenen Microservices. Die Services kommunizieren über REST-API und GRPC. Die CICD-Pipeline soll die Applikationen im Kubernetes Cluster zukünftig über den Kubernetes-Paketmanager ?helm? ausrollen. Dadurch kann man die Deployments im Kubernetes-Cluster einfacher verwalten und versionieren. Dadurch ist es möglich ein komplexes Deployment sehr einfach zurückzurollen. Im Laufe dieses Projekts sollen alle Microservices des DDA-Systems über in ?helm? integriert werden. Dadurch ist ein Wechsel des Kubernetes Cluster deutlich einfacher.

 

 

[Name auf Anfrage] arbeitete eng mit dem Ops-Team zusammen, um "Helm-Charts" zu entwickeln, die als Grundlage für alle Microservices erweiterbar sind. Eine Herausforderung bestand darin, die teilweise sehr großen Konfigurationsdaten in den Containern zu integrieren. Über Helm versioniert er auch die Konfiguration der Testdaten eines Deployments. Dies hat sich als sehr hilfreich für automatisierte Tests und bei der kontinuierlichen Integration erwiesen.

 

Die Integration der Konfigurationsdaten für "Helm" wurde von [Name auf Anfrage] in den Java-Anwendungen mithilfe des "Eclipse MicroProfile Config"-Frameworks entwickelt. Damit konnte der Java-Code effizient und einfach angepasst werden. Anpassungen im REST-API für Anwendungsmetriken waren ebenfalls Teil von [Name auf Anfrage]s Aufgaben. Dank der erfolgreichen Migration zu "Helm-Chart" kann die gesamte Versionshistorie im Kubernetes-Cluster direkt verfolgt werden. Dies ermöglicht beispielsweise das Rollback von komplexen Kubernetes-Anwendungen. Der Kunde schätzte die neuen Möglichkeiten für das kontinuierliche Deployments (CICD) wie das einfache Wechseln des Cloud Providers von beispielsweise IBM-Cloud zu AWS.

 

Java, IntelliJ IDEA, Kubernetes, Docker, XML/XSLT, XML Schema Definition (XSD), Golang, GitLab CI/CD, Git, Apache Maven, Postman, REST API, OpenAPI, Serverless arkitektur, JUnit, Atlassian Jira, Atlassian Confluence, Jenkins

G-Cloud IBM-Cloud AWS Jenkins
Go-Lang Java EE Cloud-native Kubernetes Docker Verschlüsselung RSA Security helm Kryptographie (RSA AES DES) Java JAX-WS JAX-RS JAXB Maven XML JSON Git
Automobil Hersteller
Remote
1 Jahr 2 Monate
2018-01 - 2019-02

DDA VIN Analyzer

Senior Java Entwickler Java Springboot XML ...
Senior Java Entwickler

Der Kunde wünscht sich ein neuen Microservice, um die Aufbereitung der Diagnosedaten eines Fahrzeuges zu verbessern. Deiser soll die VIN (Vehicle Identity Number) analysieren und dadurch modle spezifische Informationen bereitstellen. Der neue Microservice ergänzt die bereits bestehenden DDA-Services. Es soll dazu ein REST-API entstehen über welche die VIN spezifische Daten abgefragt werden können.


M.B. entwickelte die Softwarearchitektur und die Analyse Logik. Die Logik entwickelte er in einem Springboot Container. Seine Programmierkenntnisse in Java trugen wesentlich zur Umsetzung der Anforderungen bei. Eine Herausforderung bestand darin, Daten effiziente zwischen Datenbank und Applikation auszutauschen. Matthias nutzte sein Wissen über JEE, um eine intelligente Caching-Strategie zu entwickeln. Diese Strategie ermöglichte es, die geforderten Abfragezeiten einzuhalten und gleichzeitig die Belastung der Datenbank zu gering zu halten.

 

Matthias brachte nicht nur umfangreiche Java-Kenntnisse mit, sondern integrierte auch seine Fähigkeiten in Golang, um die Performance und Skalierbarkeit der Lösung zu verbessern. Seine Erfahrung mit Apache Tomcat als Servlet-Container trug dazu bei, die zuverlässige Ausführung von Java-Servlets sicherzustellen. Um die Anforderungen an die Datenverarbeitung zu erfüllen, nutzte Matthias seine Kenntnisse in XML/XSLT und JSON. Die effiziente Verarbeitung dieser Datenformate war entscheidend für den Erfolg des Projekts.

Java EE, Springboot, XML/XSLT, k6, JSON, Java Servlets, Apache Tomcat
G-Cloud AWS
Java Springboot XML Servlet Enterprise JavaBeans JSON k6 Postman
Süddeutscher Automobil Konzern
Remote
1 Jahr 2 Monate
2016-11 - 2017-12

FES Vehicle Decryption Service

Senior Entwickler Java Git Jenkins ...
Senior Entwickler

Die Diagnosedaten eines Fahrzeuges gelten teilweise als personenbezogenen Daten. Zum Schutz dieser Daten werden diese schon im Steuergerät verschlüsselt, bevor sie auf das CAN-BUS-System des Fahrzeugs gelangen.  Diese sollen erst im Backend des Herstellers wieder entschlüsselt werden. Dazu soll im Backend ein neuer Entschlüsselung Service (FES) entwickelt werden. Dieser besteht auch aus einer Angular Applikation für das Schlüsselmanagement. Das Schlüsselmanagement stellt dann die Keys für den FES (Entschlüsselungs-Service) bereit. Ziel war es die Gesamte FES-Applikation in die Diagnosedaten Aufbereitung zu integrieren.

 

Zusammen mit dem Projekt-Owner definierte M.B. präzise Anforderungen und entwarf daraufhin eine umfassende Architektur, die ein Angular-Frontend, einen Key-Storage (springboot) und einen Decryption-Service (go-lang) umfasste. Der Decryption-Service war ursprünglich in Java implementiert. Um die Leistung zu steigern, entwickelte M.B.ein Prototyp in go-lang, der die Anzahl der entschlüsselten Anfragen pro Minute verdoppelte. Das Projekt wurde erfolgreich umgesetzt und nahtlos in die Produktionsumgebung integriert.

 

Java, Golang, RSA, Cryptography, Spring Boot, XML/XSLT, GitLab, CI/CD pipelines, Jenkins, Apache Maven, Atlassian Jira, Atlassian Confluence, Kubernetes, Docker, REST API, Swagger, JSON, JSON Web Token (JWT)

Java Git Jenkins RSA Security Kubernetes k6 Docker Atlassian JIRA Atlassian Confluence XML
Süddeutscher Automobil Konzern
Remote
1 Jahr 6 Monate
2015-07 - 2016-12

Diagnose Daten Aufbereitung - Stammdaten integration

Software Entwickler JEE Java EE JAX-RS XSLT ...
Software Entwickler JEE

Refactoring des Stammdaten Management   für die Diagnosedaten Aufbereitung; Data Management über ?readonly? Stammdaten im Kernel.

Java EE JAX-RS XSLT EJB DB2 IBM MQ
Automobil Hersteller
3 Jahre 8 Monate
2013-03 - 2016-10

Vehicle Data Processing VDP

Senior Java Entwickler Java MQ JMS ...
Senior Java Entwickler

Wird ein Auto in eine Werkstatt zum Service gebracht, werden zunächst die Diagose-Daten ausgelesen. Diese Daten werden im Backend des Herstellers analysiert. Die Diagnose endet mit einem Diagnose-Report, welcher an die Werkstatt zurückgesendet wird. Die Aufbereitung dieser Analyse Daten wird vom Hersteller ?Vehicle Data Processing? kurz VDP genannt. Da ständig neue Fahrzeugmodelle hinzukommen, muss die ?Analyse Logik? ständig auf die neuesten Baureihen erweitert werden.

 


[Name auf Anfrage]s Tätigkeit konzentrierte sich auf die Konzeption und Implementierung leistungsfähiger Java EE-Anwendungen. Dabei spielte die Entwicklung dynamischer Webseiten mit Java Server Pages (JSP) eine zentrale Rolle, um eine effiziente Benutzeroberfläche zu gewährleisten. Erfolgreich integrierte er IBM MQ, um einen sicheren und zuverlässigen Nachrichtentransfer zwischen verschiedenen Anwendungskomponenten sicherzustellen.


Ein bedeutender Aspekt seiner Verantwortlichkeiten umfasste die Entwicklung von SOAP Web Services, um eine effiziente Kommunikation zwischen verteilten Systemen zu ermöglichen. Matthias setzte dabei XML Schema Definition (XSD) zur Strukturierung von Daten ein und nutzte XML/XSLT zur Transformation von XML-Dokumenten. Im Bereich Datenbankzugriff verwendete er sein Know-how in JDBC, um einen effizienten Zugriff zu gewährleisten, einschließlich der Optimierung von Abfragen und der Transaktionsverarbeitung. Zusätzlich implementierte er erfolgreich Enterprise JavaBeans (EJB), um wiederverwendbare Komponenten für die Geschäftslogik zu schaffen.

 

Java EE, Java, JSP, IBM MQ, SOAP, XML Schema Definition (XSD), XML/XSLT, JDBC, EJB (Enterprise JavaBeans), SoapUI

Java MQ JMS Java EE Git Atlassian JIRA Atlassian Confluence
Süddeutscher Automobilhersteller
Remote / Vorort Sindelfingen
2 Jahre 3 Monate
2013-04 - 2015-06

Aftersales Diagnosedaten Aufbereitung

Software Entwickler Java EE Java JEE/Jakarta EE ...
Software Entwickler

Diagnosedaten Aufbereitung: JEE Application Server mit XML-Transformation (XSLT), Aufbereitung von E/E Snapshots und Fahrzeug Roh-Daten.

Java EE Java JEE/Jakarta EE SOAP Web Services Kryptographie (RSA AES. DES) Domain Driven Design IBM X
Automobiel Hersteller
Böblingen

Aus- und Weiterbildung

Aus- und Weiterbildung

9 Monate
2006-10 - 2007-06

Sience in Grid-Computing

University of Melbourne
University of Melbourne

Java, J2EE, JEE, Geronimo, WSRF

 Service-Oriented Architectures provide integration of interoperability for independent and loosely coupled services. Web services and the associated new standards such as WSRF are frequently used to realise such Service-Oriented Architectures.

4 Jahre
2001-09 - 2005-08

Informatik Studium

Diplom-Informatiker (FH), Hochschule Furtwangen University
Diplom-Informatiker (FH)
Hochschule Furtwangen University

Studiangang: Computer-Networking

Fachbereich: Informatik

Kompetenzen

Kompetenzen

Top-Skills

Java Go-lang Agile Softwareentwicklung Kubernetes Java EE Maven Gradle Spring Boot Scrum IAM Microservices Helm Docker DevOps Domain Driven Design Automotive REST Swagger JSON XML

Produkte / Standards / Erfahrungen / Methoden

Microservices
Experte
Cloud-Native
Fortgeschritten
OAuth2
Fortgeschritten
Maven
Experte
SpringBoot
Fortgeschritten
WebsphereLiberty
Fortgeschritten
GCP Google Cloud Plattform
Fortgeschritten
AWS
Fortgeschritten
Azure

Betriebssysteme


Programmiersprachen

Java
Experte
Go-lang
Experte
C#
Fortgeschritten
html
Fortgeschritten
angular
Basics
typescript
Basics

 

Datenbanken

IBM DB2
Fortgeschritten
JDBC
Fortgeschritten
MySQL
Basics
Oracle
Basics

Design / Entwicklung / Konstruktion

UML
Fortgeschritten
Domain Driven Design
Fortgeschritten


Branchen

Branchen


Einsatzorte

Einsatzorte

Deutschland, Schweiz, Österreich
Ich arbeite überwiegend Remote. Bei Bedarf kann ich auch nach Absprache Vorort arbeiten.
möglich

Projekte

Projekte

4 Monate
2024-01 - heute

Energie Accounting Management

Software Entwickler Backend Java Spring Boot GitHub ...
Software Entwickler Backend

Für eine Applikation zur Verwaltung, Management und Accounting von Energiedaten werden neue Funktionen entwickelt. In dieser Anwendung werden diverse Energiedaten aufbereitet. Die Rohdaten werden von externen Systemen in unterschiedlichen Formaten bezogen und anschließend einheitlich sowie revisionssicher gespeichert. Im weiteren Verlauf werden die Daten für das Controlling aufbereitet, um eine effiziente Überprüfung und Fakturierung zu ermöglichen.

 

Das Mehrwert des Projekts besteht darin, den bisher teilautomatisierten Excel-Import von Daten aus externen Quellen vollständig zu automatisieren. Dies wird durch die nahtlose Integration der Daten über REST-Schnittstellen erreicht. Dies ermöglicht es den Benutzern, täglich aktualisierte und präzise aufbereitete Daten zu erhalten, die bisher aufgrund manueller Schritte nur monatlich verfügbar waren.

IntelliJ
Java Spring Boot GitHub REST OpenAPI
Remote
2 Jahre
2021-12 - 2023-11

TSMS (Trusted Service Management System)

Software-Developer Backend Go/Java Go-lang Java Microservices ...
Software-Developer Backend Go/Java

Projektbeschreibung:
Die Deutsche Telekom entwickelt derzeit eine webbasierte Anwendung namens "TSMS" (Trusted Service Management System). TSMS dient als Plattform für Smartphone-Hersteller und Mobilfunkdienstanbieter, um die Verwaltung von hardwarebasierten Sicherheitskomponenten, wie Secure Elements, auf Mobilgeräten plattformübergreifend zu ermöglichen. Dies soll letztlich die nahtlose Integration von Sicherheitsfunktionen wie dem digitalen Personalausweis in mobilen Endgeräten ermöglichen. Ziel des Projektes war es einen IAM Provider zu evaluieren, das Rollen und Rechte-System darauf abzubilden und im Frontend mit 2 Faktor Authentifizierung zu integrieren.


M.B. entwickelte die Spezifikation für die kundenspezifische REST-API für das  User & Access Management auf Basis der OpenAPI Spezifikation Version 3 (Swagger). Dies wurde regelmäßig mit dem Projet-Owner und dem Frontend-Entwicklern abgestimmt.

Der dadurch entstehende  REST-Service, sollte durch austauschbare (Adapter) für die Anbindung unterschiedlicher Identity & Access Management (IAM) Provider konzipiert werden. Konkret entwickelte M.B. dazu zwei IAM-Adapter: Für die Anbindung an Auth0 von Okta und ICU, eine Plattform der Deutschen Telekom zur Verwaltung von Benutzerkonten von Geschäftskunden (basierend auf Key-Cloak). Des weiteren implementierte er die REST-API und das Domain-Model mit internen Schnittstellen für die Berechtigung. Eine Herausforderung war es die unterschiedlichen Interpretationen der OAuth2 Authentifizierung hinsichtlich der IAM-Provider für TSMS umzusetzen. Die Applikation wurde nach den herangehensweisen des "Domain-Driven-Design" entwickelt.

Für den Test der gesamten TSMS Anwendung mit weiteren REST-APIs entwarf und implementierte er eine Java-basierte, generative REST-API-Testsuite, die auf OpenAPI Generator-Tools und RestAssured für die Validierung von Nachrichteninhalten basiert.

Das Projekt bot M.B. auch die Möglichkeit, seine bereits profunden Kenntnisse und Fähigkeiten in den folgenden Bereichen weiter auszubauen: Entwicklung von Microservices in Go & Java, Gitlab CI/CD, Docker, Domain Driven Design, Beherrschung von API-Spezifikationen mit OpenAPI V3, Scripting mit Postman, IAM-Konzepte & -Technologie einschließlich Auth0 von Okta, IETF System for Cross-domain Identity Management 2.0 (RFC-7643 & RFC-7644).

Auth0 Keykloak Gitlab-CI Swagger Postm Postman
Go-lang Java Microservices OAuth2 Maven Scrum CORS Git Identity and Accessmanagement (IAM) JSON REST-API XML Git-Lab CICD Swagger OpenAPI JSON Web Token (JWT) IntelliJ IDEA JUnit Bash REST Assured Framework
DEUTSCHE TELEKOM Security GMBH
Remote
1 Jahr 8 Monate
2020-04 - 2021-11

Diagnose Data Analyse ? Datamodel refactoring

Senior Entwickler / Tech Lead Kubernetes helm Java EE ...
Senior Entwickler / Tech Lead

Der Kunde produziert Fahrzeuge in verschiedenen Modellreihen mit maßgeschneiderter Ausstattung. Unabhängig von der Fahrzeugart verfügen alle Fahrzeuge über eine eigene Schnittstelle für die Diagnose Daten Aufbereitung (DDA) im Backend. Die DDA empfängt verschiedene Rohdaten von den Fahrzeugen und bereitet sie in einem standardisierten Format, für andere Anwendungen auf. Aufgrund der Vielzahl unterschiedlicher Fahrzeugtypen wurden viele verschiedene Datenformate entwickelt, die täglich von den Fahrzeugen analysiert werden.

 

Eine der wichtigsten Aufgaben der DDA-Architektur ist die Erweiterungsmöglichkeit im Hinblick auf neue Fahrzeugtypen, die sich in der Entwicklung befinden. Der Kunde liefert deshalb in regelmäßigen Intervallen neue Daten über alle Fahrzeugtypen. Nur mithilfe dieser modellspezifischen Stammdaten ist es möglich, Rohdaten zu interpretieren und zu analysieren. Das Ziel des Projekts war es, die Komplexität und Abhängigkeiten innerhalb der gelieferten Stammdaten zu reduzieren und einen kürzeren "Release-Zyklus" mit Unterstützung durch CI/CD zu implementieren.

 

Als Architekt in dem Projekt spielte M.B. eine zentrale Rolle als Ansprechpartner für Code und Architektur. Er arbeitete an der Weiterentwicklung und Wartung des nahezu gesamten DDA-Systems. Eines von M.B.s Zielen war es, die vorhandenen Datenmodelle für Stammdaten und REST-API zu analysieren, um die Komplexität zu verringern. Dazu wurde die CICD-Pipeline erweitert, um eine vorgelagerte automatisierte Optimierung außerhalb der Applikation zu ermöglichen. Auch Anpassungen der Docker-Container wurden durchgeführt, um das angepasste Datenmodell in die Applikationen zu integrieren. Letztlich war der Kunde sehr zufrieden da die Perfomance erhöht und die Komplexität verringert wurde

 

Neben seiner Arbeit an der Architektur hat M.B. auch als Entwickler (Java und Go-lang) gearbeitet. Er hat hauptsächlich den zentralen Service auf Basis des MicroProfile-Stacks OpenLiberty entwickelt. Er passte das Modell auch für weitere Microservices an, die über gRPC kommunizieren. Er koordinierte den Übergang zum neuen Datenmodell für alle Microservices in DDA.

Die geänderten Datenmodelle für das REST-API wurden auch in Swagger/JSON verfasst. Die Objektmodelle für Go-lang und Java wurden basierend auf den Swagger-Modellen generiert. M.B. entwickelte eine neue CICD-Pipeline für die Datenmodule. Teile der Pipeline wurden sowohl in GitlabCI als auch in Apache Maven entwickelt.

 

 

Java EE, Apache Maven, Spring Boot, Golang, JSON, JSON Web Token (JWT), XML/XSLT, OpenAPI, Postman, REST API, RESTful Web Services, Linux, Java, DevOps, Kubernetes, Docker, AWS, G-Cloud, IBM-Cloud, GitLab CI/CD, IntelliJ IDEA, Serverless Architektur, JUnit, gRPC

OpenLiberty Kibana AppDynamics G-Cloud IBM-Cloud
Kubernetes helm Java EE Go-lang Docker Cloud-native
Automobil Hersteller
Remote
6 Monate
2019-10 - 2020-03

DDA Microcervices CICD by helm

Senior Entwickler / Tech Lead Go-Lang Java EE Cloud-native ...
Senior Entwickler / Tech Lead

Die Diagnose-Daten-Analyse (DDA) analysiert Daten vom Fahrzeug. Hierfür werden Daten vom Fahrzeug an die Backend-Systeme des Herstellers gesendet. Die Daten aller verschiedenen Fahrzeugtypen werden von diesem System in ein einheitliches Format transformiert. Die Service-Landschaft für die diagnostische Datenverarbeitung besteht mehreren verschiedenen Microservices. Die Services kommunizieren über REST-API und GRPC. Die CICD-Pipeline soll die Applikationen im Kubernetes Cluster zukünftig über den Kubernetes-Paketmanager ?helm? ausrollen. Dadurch kann man die Deployments im Kubernetes-Cluster einfacher verwalten und versionieren. Dadurch ist es möglich ein komplexes Deployment sehr einfach zurückzurollen. Im Laufe dieses Projekts sollen alle Microservices des DDA-Systems über in ?helm? integriert werden. Dadurch ist ein Wechsel des Kubernetes Cluster deutlich einfacher.

 

 

[Name auf Anfrage] arbeitete eng mit dem Ops-Team zusammen, um "Helm-Charts" zu entwickeln, die als Grundlage für alle Microservices erweiterbar sind. Eine Herausforderung bestand darin, die teilweise sehr großen Konfigurationsdaten in den Containern zu integrieren. Über Helm versioniert er auch die Konfiguration der Testdaten eines Deployments. Dies hat sich als sehr hilfreich für automatisierte Tests und bei der kontinuierlichen Integration erwiesen.

 

Die Integration der Konfigurationsdaten für "Helm" wurde von [Name auf Anfrage] in den Java-Anwendungen mithilfe des "Eclipse MicroProfile Config"-Frameworks entwickelt. Damit konnte der Java-Code effizient und einfach angepasst werden. Anpassungen im REST-API für Anwendungsmetriken waren ebenfalls Teil von [Name auf Anfrage]s Aufgaben. Dank der erfolgreichen Migration zu "Helm-Chart" kann die gesamte Versionshistorie im Kubernetes-Cluster direkt verfolgt werden. Dies ermöglicht beispielsweise das Rollback von komplexen Kubernetes-Anwendungen. Der Kunde schätzte die neuen Möglichkeiten für das kontinuierliche Deployments (CICD) wie das einfache Wechseln des Cloud Providers von beispielsweise IBM-Cloud zu AWS.

 

Java, IntelliJ IDEA, Kubernetes, Docker, XML/XSLT, XML Schema Definition (XSD), Golang, GitLab CI/CD, Git, Apache Maven, Postman, REST API, OpenAPI, Serverless arkitektur, JUnit, Atlassian Jira, Atlassian Confluence, Jenkins

G-Cloud IBM-Cloud AWS Jenkins
Go-Lang Java EE Cloud-native Kubernetes Docker Verschlüsselung RSA Security helm Kryptographie (RSA AES DES) Java JAX-WS JAX-RS JAXB Maven XML JSON Git
Automobil Hersteller
Remote
1 Jahr 2 Monate
2018-01 - 2019-02

DDA VIN Analyzer

Senior Java Entwickler Java Springboot XML ...
Senior Java Entwickler

Der Kunde wünscht sich ein neuen Microservice, um die Aufbereitung der Diagnosedaten eines Fahrzeuges zu verbessern. Deiser soll die VIN (Vehicle Identity Number) analysieren und dadurch modle spezifische Informationen bereitstellen. Der neue Microservice ergänzt die bereits bestehenden DDA-Services. Es soll dazu ein REST-API entstehen über welche die VIN spezifische Daten abgefragt werden können.


M.B. entwickelte die Softwarearchitektur und die Analyse Logik. Die Logik entwickelte er in einem Springboot Container. Seine Programmierkenntnisse in Java trugen wesentlich zur Umsetzung der Anforderungen bei. Eine Herausforderung bestand darin, Daten effiziente zwischen Datenbank und Applikation auszutauschen. Matthias nutzte sein Wissen über JEE, um eine intelligente Caching-Strategie zu entwickeln. Diese Strategie ermöglichte es, die geforderten Abfragezeiten einzuhalten und gleichzeitig die Belastung der Datenbank zu gering zu halten.

 

Matthias brachte nicht nur umfangreiche Java-Kenntnisse mit, sondern integrierte auch seine Fähigkeiten in Golang, um die Performance und Skalierbarkeit der Lösung zu verbessern. Seine Erfahrung mit Apache Tomcat als Servlet-Container trug dazu bei, die zuverlässige Ausführung von Java-Servlets sicherzustellen. Um die Anforderungen an die Datenverarbeitung zu erfüllen, nutzte Matthias seine Kenntnisse in XML/XSLT und JSON. Die effiziente Verarbeitung dieser Datenformate war entscheidend für den Erfolg des Projekts.

Java EE, Springboot, XML/XSLT, k6, JSON, Java Servlets, Apache Tomcat
G-Cloud AWS
Java Springboot XML Servlet Enterprise JavaBeans JSON k6 Postman
Süddeutscher Automobil Konzern
Remote
1 Jahr 2 Monate
2016-11 - 2017-12

FES Vehicle Decryption Service

Senior Entwickler Java Git Jenkins ...
Senior Entwickler

Die Diagnosedaten eines Fahrzeuges gelten teilweise als personenbezogenen Daten. Zum Schutz dieser Daten werden diese schon im Steuergerät verschlüsselt, bevor sie auf das CAN-BUS-System des Fahrzeugs gelangen.  Diese sollen erst im Backend des Herstellers wieder entschlüsselt werden. Dazu soll im Backend ein neuer Entschlüsselung Service (FES) entwickelt werden. Dieser besteht auch aus einer Angular Applikation für das Schlüsselmanagement. Das Schlüsselmanagement stellt dann die Keys für den FES (Entschlüsselungs-Service) bereit. Ziel war es die Gesamte FES-Applikation in die Diagnosedaten Aufbereitung zu integrieren.

 

Zusammen mit dem Projekt-Owner definierte M.B. präzise Anforderungen und entwarf daraufhin eine umfassende Architektur, die ein Angular-Frontend, einen Key-Storage (springboot) und einen Decryption-Service (go-lang) umfasste. Der Decryption-Service war ursprünglich in Java implementiert. Um die Leistung zu steigern, entwickelte M.B.ein Prototyp in go-lang, der die Anzahl der entschlüsselten Anfragen pro Minute verdoppelte. Das Projekt wurde erfolgreich umgesetzt und nahtlos in die Produktionsumgebung integriert.

 

Java, Golang, RSA, Cryptography, Spring Boot, XML/XSLT, GitLab, CI/CD pipelines, Jenkins, Apache Maven, Atlassian Jira, Atlassian Confluence, Kubernetes, Docker, REST API, Swagger, JSON, JSON Web Token (JWT)

Java Git Jenkins RSA Security Kubernetes k6 Docker Atlassian JIRA Atlassian Confluence XML
Süddeutscher Automobil Konzern
Remote
1 Jahr 6 Monate
2015-07 - 2016-12

Diagnose Daten Aufbereitung - Stammdaten integration

Software Entwickler JEE Java EE JAX-RS XSLT ...
Software Entwickler JEE

Refactoring des Stammdaten Management   für die Diagnosedaten Aufbereitung; Data Management über ?readonly? Stammdaten im Kernel.

Java EE JAX-RS XSLT EJB DB2 IBM MQ
Automobil Hersteller
3 Jahre 8 Monate
2013-03 - 2016-10

Vehicle Data Processing VDP

Senior Java Entwickler Java MQ JMS ...
Senior Java Entwickler

Wird ein Auto in eine Werkstatt zum Service gebracht, werden zunächst die Diagose-Daten ausgelesen. Diese Daten werden im Backend des Herstellers analysiert. Die Diagnose endet mit einem Diagnose-Report, welcher an die Werkstatt zurückgesendet wird. Die Aufbereitung dieser Analyse Daten wird vom Hersteller ?Vehicle Data Processing? kurz VDP genannt. Da ständig neue Fahrzeugmodelle hinzukommen, muss die ?Analyse Logik? ständig auf die neuesten Baureihen erweitert werden.

 


[Name auf Anfrage]s Tätigkeit konzentrierte sich auf die Konzeption und Implementierung leistungsfähiger Java EE-Anwendungen. Dabei spielte die Entwicklung dynamischer Webseiten mit Java Server Pages (JSP) eine zentrale Rolle, um eine effiziente Benutzeroberfläche zu gewährleisten. Erfolgreich integrierte er IBM MQ, um einen sicheren und zuverlässigen Nachrichtentransfer zwischen verschiedenen Anwendungskomponenten sicherzustellen.


Ein bedeutender Aspekt seiner Verantwortlichkeiten umfasste die Entwicklung von SOAP Web Services, um eine effiziente Kommunikation zwischen verteilten Systemen zu ermöglichen. Matthias setzte dabei XML Schema Definition (XSD) zur Strukturierung von Daten ein und nutzte XML/XSLT zur Transformation von XML-Dokumenten. Im Bereich Datenbankzugriff verwendete er sein Know-how in JDBC, um einen effizienten Zugriff zu gewährleisten, einschließlich der Optimierung von Abfragen und der Transaktionsverarbeitung. Zusätzlich implementierte er erfolgreich Enterprise JavaBeans (EJB), um wiederverwendbare Komponenten für die Geschäftslogik zu schaffen.

 

Java EE, Java, JSP, IBM MQ, SOAP, XML Schema Definition (XSD), XML/XSLT, JDBC, EJB (Enterprise JavaBeans), SoapUI

Java MQ JMS Java EE Git Atlassian JIRA Atlassian Confluence
Süddeutscher Automobilhersteller
Remote / Vorort Sindelfingen
2 Jahre 3 Monate
2013-04 - 2015-06

Aftersales Diagnosedaten Aufbereitung

Software Entwickler Java EE Java JEE/Jakarta EE ...
Software Entwickler

Diagnosedaten Aufbereitung: JEE Application Server mit XML-Transformation (XSLT), Aufbereitung von E/E Snapshots und Fahrzeug Roh-Daten.

Java EE Java JEE/Jakarta EE SOAP Web Services Kryptographie (RSA AES. DES) Domain Driven Design IBM X
Automobiel Hersteller
Böblingen

Aus- und Weiterbildung

Aus- und Weiterbildung

9 Monate
2006-10 - 2007-06

Sience in Grid-Computing

University of Melbourne
University of Melbourne

Java, J2EE, JEE, Geronimo, WSRF

 Service-Oriented Architectures provide integration of interoperability for independent and loosely coupled services. Web services and the associated new standards such as WSRF are frequently used to realise such Service-Oriented Architectures.

4 Jahre
2001-09 - 2005-08

Informatik Studium

Diplom-Informatiker (FH), Hochschule Furtwangen University
Diplom-Informatiker (FH)
Hochschule Furtwangen University

Studiangang: Computer-Networking

Fachbereich: Informatik

Kompetenzen

Kompetenzen

Top-Skills

Java Go-lang Agile Softwareentwicklung Kubernetes Java EE Maven Gradle Spring Boot Scrum IAM Microservices Helm Docker DevOps Domain Driven Design Automotive REST Swagger JSON XML

Produkte / Standards / Erfahrungen / Methoden

Microservices
Experte
Cloud-Native
Fortgeschritten
OAuth2
Fortgeschritten
Maven
Experte
SpringBoot
Fortgeschritten
WebsphereLiberty
Fortgeschritten
GCP Google Cloud Plattform
Fortgeschritten
AWS
Fortgeschritten
Azure

Betriebssysteme


Programmiersprachen

Java
Experte
Go-lang
Experte
C#
Fortgeschritten
html
Fortgeschritten
angular
Basics
typescript
Basics

 

Datenbanken

IBM DB2
Fortgeschritten
JDBC
Fortgeschritten
MySQL
Basics
Oracle
Basics

Design / Entwicklung / Konstruktion

UML
Fortgeschritten
Domain Driven Design
Fortgeschritten


Branchen

Branchen


Vertrauen Sie auf GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das GULP Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.