Senior Java Entwickler - Spring Boot, JBoss, Hibernate, REST, Oracle, Camunda, usw.
Aktualisiert am 17.03.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 01.05.2024
Verfügbar zu: 100%
davon vor Ort: 80%
Java
Spring
Camunda
Hibernate
JPA
WebServices
REST
SOAP
XML
JAXB
JAX-RS
WildFly
Oracle
DB2
JUnit
Scrum
Kanban
JBoss
BPM
Spring Boot
Keycloak
Wildfly
Eclipse RCP
Deutsch
Muttersprache
Englisch
gut

Einsatzorte

Einsatzorte

Wiesbaden (+50km) 99% Remote (+500km)
möglich

Projekte

Projekte

1 Jahr
2023-04 - heute

Umstellung der Berechtigungsverwaltung verschiedener Anwendungen auf Keycloak

Senior Java Entwickler Riena Eclipse RCP Java ...
Senior Java Entwickler

Die Berechtigungsverwaltung musste auf eine einheitliche, unternehmensweite Struktur umgestellt werden, dazu hat man sich als Zielsystem für Keycloak mit OpenId-Connect entschieden. Dazu wurden die Wildfly-Server auf neue Versionen angehoben, diverse Teilprojekte aktualisiert und die gesamte Berechtigungssteuerung umgestellt.

Die Einarbeitung und Umstellung erfolgte zu Beginn prototypisch, um die technischen Herausforderungen durch die vorhandenen Abhängigkeiten zu identifizieren und einen einheitlichen Lösungsweg zu erarbeiten. Dabei wurden zusätzlich alltägliche Entwicklungsprobleme identifiziert und abgemildert.

Java                          8, 11,17

Server                      Wildfly 26, Tomcat 9.x

Datenbanken         Oracle DB, PostgreSQL

Technologien         Java,REST, JSON, XML, JPA, JWT, OpenId Connect, EJB, OAuth,
                                 Elytron, Camunda BPM, JSF

Frameworks          RESTEasy, FasterXML, Hibernate, JUnit, Mockito, Eclipse RCP,
                                 SWT, Riena, Keycloak, Single Sign On (SSO), LDAP

Tools                       Maven, Eclipse IDE, IntelliJ, Git, GitLab, Jenkins, Jira, Confluence,

                                Nexus, Sailpoint IdentityIQ 8.4 IIQ (Identity Access Management,

                                IAM), Docker, Kubernetes, ElasticSearch, Kibana, HashiCorp

                                Terraform, HashiCorp Vault, Consul-Template, Go Template,
                                Active Directory, Azure AD / Entra ID


  • Wildfly-Migration
    • Aktualisierung der Server-Konfigurationen.
    • Anpassung der Anwendungen und zusätzlichen Abhängigkeiten.
    • Anhebung der Java-Versionen.
  • Umstellung auf OpenId Connect (OIDC) / OAuth / JWT / Keycloak
    Die bestehenden EJB-RolesAllowed und Individual-Implementierungen wurden auf ein geeignetes Mandanten-Berechtigungssystem umgestellt, welches ausschließlich mit den Daten des Keycloak-Tokens zusammenarbeitet.
  • Fehlerkorrekturen
    Während der Umstellung wurden diverse Fehler- und Performance-Probleme analysiert und gelöst.
  • Entkopplung der Anwendungsdeployment.
    Die Deployment-Artefakte werden für die Zukunft verkleinert und weniger Abhängigkeiten direkt mit deployt, stattdessen wird man mehr verteilte Systeme aufrufen (SOA). Dadurch wird man die Update-Geschwindigkeiten der einzelnen Abhängigkeiten und der eigentlichen Anwendung erhöhen.
  • Sailpoint IdentityIQ Integration / Einführung (Identity Application Management, IAM)
    Als zentrales IAM Tool wurde  IdentityIQ genutzt, es wurden diverse Inhouse Systeme angebunden. Zum Beispiel Datenbank-Berechtigungen, Keycloak-Berechtigungen, interne Anwendungen und Berechtigungssysteme. Anbinden von diversen internen Informationsquellen (HR-System, Vermittler/Makler, Adressdaten, usw.).
    Um mit dem Tool reproduzierbar arbeiten zu können, wurde ein weitgehend stabiler Entwicklungsprozess aufgebaut.


Elastic Search Kubernetes Docker Sailpoint IdentityIQ WildFly Application Server Eclipse RCP JSF Keycloak GitLab IntelliJ Atlassian Confluence Atlassian JIRA Apache Tomcat Oracle PostgreSQL Nexus Active Directory Entra ID Azure AD
Riena Eclipse RCP Java Camunda JSF XML Hibernate OpenID Connect OAuth Kubernetes Nexus Docker Elastic Search Kibana Atlassian Confluence Atlassian JIRA JWT GitLab Git Consul Template Go Template HashiCorp Vault HashiCorp Terraform JPA REST JUnit Mockito SWT Jenkins Maven SSO LDAP
Remote 99,99%; Hamburg
2 Jahre 3 Monate
2022-01 - heute

Migration/Zusammenführung von 2x Anwendungen + Weiterentwicklung

Senior Java Entwickler Java RestEasy FasterXML ...
Senior Java Entwickler

Die zentrale Aufgabe im Projekt lag in der Migration der Datenmodelle eines Bundeslandes in das Datenmodell eines anderen Bundeslandes und der damit verbundenen Zusammenlegung der Anwendungen. Dazu mussten beide Datenmodell analysiert, eine Datenmodell-Transformation implementiert und diverse Tests durchgeführt werden. Da es sich um ein Verfahren zur Auszahlung von Sozialgeldern handelt, war eine hohe Genauigkeit bis zu den jeweiligen Berechnungen notwendig.

Zusätzlich wurden mehrere neue Anforderungen implementiert und Fehler korrigiert.


Java                            8

Server                        Jetty 9.x + Tomcat 8.x

Datenbanken             Oracle DB, HSQLDB

Technologien            Java, REST, JSON, XML, JPA, PL/SQL

Frameworks              RESTEasy, FasterXML, Hibernate, JUnit, Mockito, Flyway, Eclipse, SWT/RWT, RAP, Keycloak, iText

Tools                          Maven, Eclipse IDE, SVN, Git, Jenkins, Jira, xWiki


  • Daten-Migration
    • Der eigene Aufgabenschwerpunkt umfasste die gesamte Analyse des abzulösenden Datenmodells mit dessen Daten (ca. 40 Tabellen mit mehreren GB Daten).
    • Identifikation von Problemen im bisherigen Datenmodell mit ausarbeiten von geeigneten Lösungen.
    • Implementieren einer performanten Transformation in Form einer eigenständigen Java-Anwendung.
    • Die Performance wurde durch Analyse des Datenbank-Schemas, Optimierung von Triggern, Indizies usw. gesteigert. Die Transformationsanwendung selbst nutzt Multi-Threading mit optimierten Datenbank-Lese- und Datenbank-Schreibzyklen.
    • Die Qualität der Daten-Migration wurde durch Berechnungs-Tests über die transformierten Daten mit umfangreichen Auswertungen sichergestellt.
  • Weiterentwicklung
    • Implementierung neuer Oberflächen mit SWT/RWT und Javascript.
    • Implementierung von Backend-Logik zur Verarbeitung.
    • Erweiterung vom Datenmodell (Tabellen, PL/SQL) incl. Hibernate-Mapping
    • Korrektur von Programm-Fehlern und JUnit-Tests
Apache Tomcat Oracle Keycloak Atlassian JIRA Jenkins
Java RestEasy FasterXML Flyway Maven Git Subversion Eclipse SWT JavaScript JSON XML HSQLDB
Remote
6 Monate
2021-07 - 2021-12

Neuentwicklung von Schnittstellen zwischen Unternehmensanwendungen

Senior Java Entwickler Java JBoss CamundaBPM ...
Senior Java Entwickler

Die Unternehmensplattform wurde neu entwickelt und das eigene Teilprojekt beschäftigt sich mit der Kommunikation zwischen den einzelnen Komponenten. Es werden die Daten von verschiedenen anderen Drittsystemen eingelesen oder über verschiedene Schnittstellen empfangen und an die Ziel-Systeme weitergeleitet.

Es handelt sich um ein reines Backend-System, dass in einem JBoss EAP zusammen mit Camunda BPM für die Ablaufsteuerung arbeitet.

Eines der Hauptprobleme stellt die Performance mit den teilweise sehr umfangreichen Datenmengen dar, besonders im Zusammenspiel mit Camunda BPM. 


Java                            11

Server                        JBoss EAP

Datenbanken             IBM DB2, H2

BPM                           Camunda BPM, Camunda Modeler

Technologien            JAVA EE / Jakarta EE, CDI, JAX-RS, REST, JSON, JAX-WS, SOAP, Webservices, XML, LDAP, JPA

Frameworks              RESTEasy, FasterXML, Apache CXF, Hibernate, JUnit, Mockito, AssertJ, Flyway, Apache POI, Swagger/OpenApi, Swagger-UI, Infinispan Cache, Apache HttpClient

Tools                          Maven, IntelliJ IDEA, Bitbucket, Git, Jenkins, Sonar, Jira, Confluence 


- Der eigene Aufgabenschwerpunkt umfasste die Implementierung von Camunda-Prozessen mit ihren Java-Delegates.

- Anbindung von REST- und Webservice-Schnittstellen

- LDAP-Anbindung zur Authentifizierung und Autorisierung.

- Aufbau der Datenbank-Schemas incl. Hibernate-Anbindung, JPA.

- Integration von Swagger/OpenApi mit Swagger-UI zur automatischen Generierung von Schnittstellen-Spezifikation (JSON/YAML) der angebotenen REST-Services.

- Integration von Flyway für die automatische DB-Initialisierung (Lokal und Test-Umgebunden.)

- Die DB2 wurde sowohl für normalisierte Datenmodelle, wie auch für JSON (BSON) genutzt, um im NoSQL-Style die Daten auszuwerten.

- Der Test-Ablauf wurde erweitert und eine vollständige Test-Automatisierung im JUnit Umfeld mit Camunda BPM und Weld SE (CDI) realisiert.

- Die Testabdeckung umfasst alle einzelne Methoden, sowie die bekannten Camunda-Anwendungsfälle. Die Ausführung erfolgt mit jedem Maven-Build.

- Zur Steigerung der Code Qualität wurde SonarQube angebunden und der Code-Review Prozess von Bitbucket genutzt.

- Die technische Dokumentation wurde in Confluence gepflegt, zum Beispiel: Datenmodelle; Verschiedene Services, Caching-Konzepte, usw.; Bereitgestellte Schnittstellen für andere Systeme.; Anwendungs-Infrastruktur.

- Weitere Implementierungsdetails wurden direkt im Code und in Markdown-Dateien beschrieben.

Camunda IntelliJ Jenkins Sonar Jira Confluence Postman
Java JBoss CamundaBPM RestEasy FasterXML Apache CXF Hibernate JUnit Maven Flyway Apache POI Swagger OpenApi Infinispan CDI REST JSON LDAP DB2 H2 JPA
Wiesbaden
2 Jahre 11 Monate
2018-06 - 2021-04

Weiterentwicklung der bestehenden Anwendung zum Verkauf von Versicherungen

Senior Java Entwickler Eclipse RCP OSGI Java SE ...
Senior Java Entwickler

Zum Verkauf der Versicherungen wird hauptsächlich eine eigenständig entwickelte Anwendung genutzt, diese muss ständig an die neuen Produkte und gesetzlichen Regelungen angepasst werden. Sie wird von den internen Mitarbeitern, wie auch unabhängigen Maklern verwendet.

Die Anwendung ist klassisch in Frontend (Client) und Backend (Server) unterteilt. Die Oberflächen für den Anwender werden innerhalb des Eclipse RCP Frameworks umgesetzt und zusätzlich gibt es noch weitere ?Kanäle? mit eigenständigen Oberflächen die nur den Backend-Teil über Webservices aufrufen.

Die interne Struktur ist stark verteilt über diverse Subsysteme und Host-Implementierungen, daher wurde die gesamte Analyse und Entwicklung von einem umfangreichen Abstimmungsaufwand begleitet.


Java                          8 und 11

Webserver                JBoss EAP, Eclipse Jetty (embedded)

Technologien            Java SE, Java EE, JAX-WS, SOAP, Webservices, JAX-RS, REST, JSON, XML, LDAP, OSGI

Frameworks             Eclipse RCP, Riena, Hessian, Jackson, FasterXML, JUnit, Mockito

Tools                         Maven, SVN/Git, Jenkins, Checkstyle, Sonar, CIB Document Workbench, Jira, Confluence


- Der eigene Aufgabenschwerpunkt umfasste die Analyse und Dokumentation der Anforderungen.
- Die Java Implementierung (Frontend und Backend).
- Anbindung von Webservices und REST-Services.
- Steigerung der Testabdeckung. Erreichung der angestrebten Quality Gates.
- Abstimmung mit den Fachbereichen und Subsystem-Anbietern.
- Die begleitende Test-Implementierung (JUnit), Code-Quality Prüfungen (durch Reviews und Tools wie Checkstyle und Sonar).
- Fehleranalysen und Lösungen.
- Während der Projektarbeit wurde zusätzlich an querschnittlichen Entwicklungstätigkeiten teilgenommen und im Architektur-Team mitgearbeitet.
- Entwicklungsstandards gefördert.
- Die Projektplanung unterstützt.
- Die beginnende Nutzung von Confluence und Jira im Unternehmen wurde ebenfalls unterstützt und der angewendete Kanban-Prozess laufend mit optimiert.
- Die Build-Pipeline wurde beschleunigt, um gute und zeitnahe Entwicklungsergebnisse zusammen mit den Fachbereichen zu besprechen.
- Einführung von Nightly-Builds.
Riena SCP CIB Document Workbench Tabex Jira Confluence
Eclipse RCP OSGI Java SE Java EE Jackson FasterXML REST JSON XML JUnit Maven SVN Git Jenkins Sonar Jetty
R+V
Wiebsaden
11 Monate
2017-07 - 2018-05

Neuentwicklung einer Beratungsplattform für Finanzprodukte ? Finanzcheck der Zukunft

Senior Java Entwickler Java Angular Spring Boot ...
Senior Java Entwickler

Für die Beratung der Kunden wird eine neue Web-Plattform aufgebaut, mit dessen Hilfe die Vor- und Nachteile der aktuellen finanziellen Absicherung besser dargestellt werden. Intern wird die Plattform direkt von den Beratern genutzt und ermöglicht einen einheitlichen Beratungsablauf, der zum Großteil nach deren Anforderungen gestaltet ist. Über verschiedene öffentliche Zugänge erhalten die Kunden teilweise selbst direkten Zugriff auf die Plattformen und können dort selbständig ihre aktuelle Situation bewerten.

Die Anwendung ist klassisch in Frontend (Client) und Backend (Server) getrennt, die Oberflächen werden in einer modernen Single-Page Variante mit Javascript und das Backend zustandslos mit einfachen Servletcontainern entwickelt. Die Kommunikation zwischen Frontend und Backend wird über diverse REST-Services ermöglicht und nutzt die Vorteile von Spring-Boot. Weitere Dritt-Systeme sind teilweise über legacy SOAP Webservices angebunden.

Die interne Struktur der Anwendung verteilt sich über weitere Dritt-Services und ist vollständig Zustandslos, selbst der Speichervorgang von Kundendaten erfolgt in einem Dritt-System und macht eigene Datenbanksysteme obsolet. So lassen sich die verschiedenen Einzel-Anwendungen mit hohem Focus auf die Fachlichkeit und reduzierten internen Abhängigkeiten entwickeln und ermöglichen einen erhöhte Wiederverwendbarkeit von eigenen Anwendungs-Bausteinen.


Java                          8

Server                       Tomcat (mit Spring Boot)

Technologien            Java SE, JAX-RS, REST, JAX-WS, SOAP, Webservices, LDAP

Frameworks              Jackson, FasterXML, JUnit, Mockito, PowerMockito, Groovy, Spock, AssertJ, Spring Boot, Swagger / OpenApi, Swagger-UI, Typescript, Angular

Tools                         IntelliJ IDEA, Maven, Bitbucket, TeamCity (Continuous Integration), Checkstyle, Sonar, Confluence, Jira


- Der eigene Aufgabenschwerpunkt umfasste die Dokumentation von Datenmodellen und Prozessabläufen.
- Die Implementierungen (80% Java-Backend, 20% Angular-Frontend).
- Steigerung der Testabdeckung und Erreichung der angestrebten Quality Gates.
- Die begleitende Test-Implementierung (JUnit), Code-Quality Prüfungen (durch Reviews und Tools wie Checkstyle und Sonar).
- Fehleranalysen und Lösungen.
- Aufgabenplanung, Unterstützung der Offshore-Teams.
- Mitarbeit im Architektur-Team.
- Förderung von Teamübergreifenden Meetings.
- Während der Projektarbeit wurde zusätzlich an querschnittlichen Entwicklungstätigkeiten Teilgenommen, Teamübergreifende Entwicklungsstandards gefördert und die Projektplanung unterstützt.
- Die Nutzung von Confluence und Jira wurde ebenfalls unterstützt.
- Die Build-Pipeline wurde beschleunigt um gute und zeitnahe Entwicklungsergebnisse zusammen mit den Fachbereichen zu besprechen.
Jira Confluence
Java Angular Spring Boot Webservices JUnit IntelliJ BitBucket Git Checkstyle Sonar TypeScript Maven
Deutsche Bank
Frankfurt am Main
1 Jahr 8 Monate
2015-11 - 2017-06

Neuentwicklung einer verteilten Plattform zur automatischen Generierung/Verwaltung von Finanzprodukten

Senior Java Entwickler Java JBoss Hibernate ...
Senior Java Entwickler

Es handelt sich um mehrere einzelne Client-Server Plattformen zur Verwaltung von allgemeinen Stammdaten bis hin zu diversen stark strukturierten Finanzprodukten (Optionsscheine, Zertifikate, usw.). Der flexible Aufbau verteilter Anwendungsplattformen erlaubt eine höhere Flexibilität während der Weiter- und zusätzlichen Neuentwicklungen.

Das Ziel der Anwendungen liegt in einer deutlichen Steigerung der Product-to-Market-Time und einer einheitlichen Struktur alle existierenden Finanzprodukte, gleichzeitig steigert man die Revisionssicherheit und reduziert die Fehler während der Produkterstellung.

Die einzelnen Anwendungen werden im Backend mit standardisierten JavaEE-Application-Servern entwickelt und die Clients mit modernen Javascript-Single-Pages (Ajax-Weboberflächen). Die Kommunikation zwischen Client und Backend, sowieso zwischen den einzelnen Anwendungen erfolgt via REST-Schnittstellen (JSON) und einigen legacy SOAP Webservice.


Java                            6 und 8

Server                        JBoss EAP

Datenbank                 Oracle

Technologien            Java EE, JPA, JAX-RS, REST, JAX-WS, SOAP, Webservices, LDAP

Frameworks              Hibernate, JUnit, Mockito, PowerMock, Arquillian, Google Guava, Shiro, ModelMapper, RESTEasy, Jackson, FasterXML, Apache CXF, IBM MQ, Backbone, Marionette

Tools                          IntelliJ IDEA, Maven, Mercurial, Hudson/Jenkins, Checkstyle, PMD, FindBugs, Sonar, Citrix, CIB Document Workbench


- Der eigene Aufgabenschwerpunkt umfasste Design und Dokumentation der Datenmodell und Schnittstellen der Neuentwicklungen.
- Die Java Implementierungen (Backend).
- Die begleitende Test-Implementierung (JUnit/Arquillian)
- Code-Quality Prüfungen (durch Reviews und Tools wie Checkstyle, PMD, FindBugs und Sonar).
- Fehleranalysen und Lösungen in der Neuentwicklung und dem Legacysystem.
- Aufwandsschätzungen und Aufgabenplanungen.
JIRA Confluence
Java JBoss Hibernate JUnit RestEasy Jackson FasterXML Apache CXF Mercurial Git Jenkins Sonar CIB Document Workbench Maven
DZ Bank
Frankfurt am Main
8 Monate
2015-04 - 2015-11

Neu- und Weiterentwicklung einer Webplattform zur Verwaltung von Beständen und Bestellungen

Senior Java Entwickler Java EE Hibernate JUnit ...
Senior Java Entwickler

Es handelt sich um eine webbasierte Anwendung zur Verwaltung und Erfassung von Wagenbeständen, sowie der Zusammenführung mit eingehenden Leerwagenbestellungen. Die Weboberflächen wurden mit JSF/RichFaces/PrimeFaces realisiert und zusätzlich um eigene Widgets und Javascript-Elemente erweitert. Das Backend wurde mit einem Java EE Stack realisiert, dazu kam der Application Server von JBoss mit weiteren Technologien zum Einsatz, wie zum Beispiel JPA/Hibernate, CDI/EJB und Oracle DB.


Im Projekt wurden zahlreiche Background Jobs und Schnittstellen zu und von anderen Systemen entwickelt die teilweise große Datenmengen handeln müssen.


Während der Entwicklung wurden ständig Performance-Analysen, mit Hilfe von Profiling-Tools wie YourKit, und anschließenden Optimierungen durchgeführt.

Der eigene Aufgabenschwerpunkt lag in der Neu- und Weiterentwicklung der Java Implementierungen (Frontend und Backend); Weiterentwicklung und Optimierung von individuellen JSF/PrimeFaces-Komponenten; und tiefergehende System/Performance/Review-Analysen.


Die begleitende Test-Implementierung (JUnit), Code-Quality Prüfungen (durch Reviews und Tools wie Sonar, PMD und FindBugs) und Fehlerbehebungen gehörten ebenfalls zum regulären Arbeitsumfang.

Applikationserver
JBoss EAP 7 + Java 8

Datenbank
Oracle

Technologien
Java EE, Hibernate, JPA, JUnit, JMockit, Arquillian, Google Guava, Eclipse IDE, Maven, SVN, ClearQuest, Sparx Enterprise Architekt, Yourkit, Hudson/Jenkins, Sonar, FindBugs, PMD, Checkstyle, Quartz, Spring, MQ

Jira Confluence
Java EE Hibernate JUnit Arquillian Eclipse SVN ClearCase Enterprise Architect Yourkit Sonar Spring Oracle
DB Systel
Frankfurt am Main
1 Jahr 1 Monat
2014-01 - 2015-01

Neuentwicklung einer Plattform zur Verwaltung von Fahrwegen für Zug-Fahrpläne

Java Entwickler Java EE Java SE Eclipse RCP ...
Java Entwickler

Es handelt sich um eine Client-Server Anwendung zur Einsicht, Verwaltung und Planung von Fahrwegen für einen Zug-Fahrplan für Fahrten in Betriebsstellen (Bahnhöfen). Der Client basiert auf dem aktuellen Eclipse E4 RCP Framework und beinhaltet neben mehreren Perspektiven und diversen Fenster-Bereichen individuelle grafische Ansichten, zur Darstellung von umfangreichen Spurplänen (Schienen- und Signal-Darstellungen innerhalb von Bahnhöfen), weiteren grafischen Planungsansichten von Gleisbelegungen mit umfangreichen Drag & Drop Funktionen und Bearbeitungsmöglichkeiten. Die individuellen Grafik-Komponenten basieren auf Draw2D und wurden nahtlos in die RCP Struktur integriert. Die Kommunikation zwischen Client und Server erfolgt mit einer JavaEE Server-Infrastruktur, geschützt durch Java JAAS mit Anbindung an ein zentrales Unternehmens-LDAP.

Zum Projektbeginn wurden auf Basis von Proof of Concepts verschiedene Java- Zeichnungsframeworks evaluiert und die Möglichkeiten des Eclipse E4 RCP Frameworks geprüft. Die Einarbeitung in die diversen Client Frameworks erfolgte eigenständig. Im Server-Umfeld kamen bekannte Technologien, wie z. B. EJB, CDI, JPA und Hibernate in Kombination mit einer Oracle Datenbank zum Einsatz.

Nach der PoC-Phase begann die Einarbeitung in die fachlichen Anforderungen und die kontinuierliche Überführung in mehrere, umfangreiche technische Designs (mit dem Enterprise Architekt) zur Dokumentation der Datenmodelle, Komponenten und Prozesse.

Während der gesamten Entwicklungszeit wurde großer Wert auf möglichst gute Usability, Performance bei großen Daten- und Darstellungsmengen (speziell Zeichnungen) gelegt. Schwachstellen wurden mit Hilfe von Profiling Tools wie YourKit und SysInternals identifiziert. 

Der eigene Aufgabenschwerpunkt lag in Reviews der fachlichen Dokumente, Reviews der technischen Designs und der Java Implementierungen.

Primär befasste ich mich mit Themen im Client-Umfeld, wie die Konzeption des technischen Client-Designs, der Datenmodelle und Weiterführung der Dokumentation für Design- und Implementierungsvorgaben. Einarbeitung in die gewählten Client-Frameworks und der anschließenden Verteilung des erarbeiten Wissens auf mehrere Team-Mitglieder.

Die begleitende Test-Implementierung (JUnit), Code-Quality Prüfungen (durch Reviews und Tools wie Sonar) und Fehlerbehebungen gehörten ebenfalls zum regulären Arbeitsumfang. 

Applikationserver
JBoss EAP 6

Datenbank
Oracle

Technologien
Java EE, Java SE, Hibernate, JPA, Eclipse E4 RCP, SWT/JFace, Draw2D, JUnit, Mockito, Google Guava, JAAS, Eclipse IDE, Maven, SVN, Jira, Sparx Enterprise Architekt, Yourkit, Hudson/Jenkins, Sonar, FindBugs, PMD, Checkstyle

JIRA
Java EE Java SE Eclipse RCP SWT JFace Maven SVN Jira Enterprise Architect Jenkins Yourkit Sonar OSGI
DB Systel
Frankfurt am Main
9 Monate
2012-09 - 2013-05

Neu- und Weiterentwicklung einer Personal-Dispositions-Plattform

Java Entwickler Weblogic Oracle Java EE ...
Java Entwickler

Es handelt sich um eine unternehmenskritische Client-Server Anwendung zur Planung der gesamten Arbeitsabläufe aller Bahnmitarbeiter, minutengenau. Der Client basiert auf einer Swing-Oberfläche und kommuniziert mit einer JavaEE Server-Infrastruktur.

In der ersten Projektphase wird das gesamte Projekt einer technischen Erneuerung unterzogen. Die bestehende interne Anwendungsstruktur wird vollständig überarbeitet um zukünftige Änderungen in einem akzeptablen Zeitumfang realisieren zu können. Weiterhin wird die Modularisierung und damit die Unabhängigkeit der einzelnen Programmbestandteile vorangetrieben.

Dies beinhaltet eine komplette Umstellung der vorhandenen Persistenz-Schicht auf den Standard JPA (zur Datenbank-Anbindung), wenn möglich die vereinfachte Form von Dependency-Injections mittels CDI und die Anwendungsweite Integration der neu entstehenden Klassen-Strukturen im gesamten Server- und Client-Umfeld.

Die Einarbeitung in den vorhandenen Programmcode erfolgte soweit möglich eigenständig und Aufgabenbezogen durch bestehende JUnit Testfälle und die Prozesse in der Anwendung selbst. Für neue Datenstrukturen und Schnittstellenanbindungen wurden laufend weitere Testfälle implementiert.

Der eigene Aufgabenschwerpunkt lag in der Analyse der bestehenden Backend-Logik und anschließenden Migration der Persistenz-Schicht mit EclipseLink-API auf JPA. Gleichzeitig wurde die Backend-Logik von klassischem EJB3 auf die vereinfachte Form des Dependency Injection ?CDI? umgestellt.

Während der gesamten Projektlaufzeit wurden Fehleranalyse der laufenden und weiterentwickelten Anwendung durchgeführt, incl. Einschätzung möglicher Risiken und Fehlerbehebungsmaßnahmen.

Das Application Management wurde beim betreiben der EDV Infrastruktur unterstützt, um einen ausfallsicheren Betrieb der produktiven Umgebung zu gewährleisten.

Applikationserver
Weblogic 12


Datenbank
Oracle


Technologien
Java EE, Java SE, Toplink, JPA, Eclipse IDE, Swing, Maven, ClearCase, ClearQuest, Enterprise Architekt, JUnit, Hudson/Jenkins

Weblogic Oracle Java EE Java SE Swing Maven ClearCase Enterprise Architect Jenkins Eclipse
DB Systel
Frankfurt am Main
10 Monate
2011-11 - 2012-08

Neu- und Weiterentwicklung einer Touristischen Anwendung

Java Entwickler Java EE Java SE Dozer ...
Java Entwickler

Bei der Anwendung handelt es sich um ein hochverteiltes Konzept, diverse Teilbereiche der Software werden von unterschiedlichen Teams, als eigenständige Teilanwendung entwickelt. Dadurch ergeben sich diverse Schnittstellenthemen zwischen den einzelnen Server- und Clientkomponenten. Sie wird als Java EE Anwendung entwickelt und im JBoss 4 betrieben. Der Client basiert auf dem Eclipse RCP Framework und kommuniziert über zuvor freigeschaltete (Security) Schnittstellen mit den Serverkomponenten.

Zu Beginn des Projektes wurden umfangreiche Wartungsarbeiten am aktuellen Entwicklungsstand zur Stabilisierung und baldigen Produktionseinführung durchgeführt, die Einarbeitung erfolgte dabei zu großen Teilen eigenständig.

Im Anschluss wurde für eine neuere Version das Design des gesamten Datenmodells überarbeitet. Ziel war es, komplexe Strukturen möglichst zu vereinfachen und dadurch die Effizienz während der Implementierung und Laufzeit zu steigern. Zur Datenabstraktion wurde Dozer und Hibernate und als zugrundeliegende Datenbank Oracle eingesetzt.

Weiterhin wurden einzelne Teilprojekte neu aufgesetzt, in diesem wurden die Persistenzschicht (Hibernate) mit dem zusätzlichen Pojo-Mapping (Dozer), Schnittstellen zu anderen Teilbereichen und die Verarbeitungslogik mit entwickelt.

Da es sich hierbei um ein MDA (Model Driven Architecture) getriebenes Projekt handelt, wurden alle Klassen, Methoden und Schnittstellen im Vorfeld in Magic Draw konzipiert (UML) und anschließend daraus die grundlegenden Klassen und Methoden generiert.

Der eigene Aufgabenschwerpunkt umfasst den Entwurf des gesamten detaillierten Klassen-/Modelldesigns zur anschließenden Klassen/Methodengenerierung mit Magic Draw (UML), incl. Schnittstellen-Spezifikation, Java Implementierung und JUnit-Tests; sowie der Fehleranalyse und -behebung in der bestehenden Anwendung.

Ein weiteres wichtiges Thema war die nachhaltige Performance-Optimierung innerhalb der zuständigen Teilbereiche.

Die technische Dokumentation erfolgte (aufgrund des MDA-Ansatzes) ausschließlich in UML mit dem Tool Magic Draw.

Das Application Management wurde beim betreiben der EDV Infrastruktur unterstützt, um einen ausfallsicheren Betrieb der produktiven Umgebung zu gewährleisten.

Applikationserver
JBoss 4.2

Datenbank
Oracle


Technologien
Java EE, Java SE, Dozer, Hibernate, JPA, JMS, XML, Velocity, Eclipse IDE, Eclipse RCP, Ant, SVN, Magic Draw, JUnit, Hudson/Jenkins, Checkstyle, Linux/Windows.

Java EE Java SE Dozer Hibernate JPA Eclipse RCP Ant SVN Magic Draw JUnit Checkstyle Oracle JBoss OSGI
DER Tour
Frankfurt am Main
1 Jahr 1 Monat
2010-11 - 2011-11

Technische Migration bestehender Anwendungen und Weiterentwicklung

Java Entwickler Java Jboss WebLogic ...
Java Entwickler

Eine der ersten Kernaufgaben im Projekt lag in der Migration verschiedener Legacy-Anwendungen auf einen technisch aktuelleren und einheitlicheren Standard. Alle bestehenden Anwendungen wurden mit Java EE realisiert und auf den zwei verschiedenen Applikation Servern JBoss EAP 4.0.3 und Weblogic 10.3.2 betrieben.

Während der Migration wurden die JBoss EAP Installationen von Version 4.0.3, mit Java 5 auf die aktuelle JBoss EAP Version 5.1, mit Java 6 angehoben. In diesem Zusammenhang mussten die unterschiedlichen Anwendungs-Architekturen geprüft und Abhängigkeiten der Implementierung zu Thirdparty-Libraries analysiert und an aktuelle Versionen angepasst werden, um deren Lauffähigkeit weiterhin in gewohnter Stabilität zu gewährleisten.

Die Kommunikationswege unter den JBoss und Weblogic basierenden Anwendungen wurden von verschiedenen technischen Legacy-Frameworks, wie Axis, JBoss Native oder allgemein JAX-RPC, auf den einheitlichen technologischen Standard JAX-WS migriert. Verwendet wurde dazu das High Performance Webservice Framework Apache CXF in Verwendung mit dem JBoss- und das Webservice Framework Metro beim Weblogic Application Server.

Nach Abschluss der Migration wurden weiterführende Implementierungen in bestehenden Anwendungen durchgeführt. Diese bezogen sich zum Beispiel auf die Bereitstellung neuer Webservice-Schnittstellen, Eclipse-RCP Oberflächen und allgemein der Implementierung neuer Anforderungen in der Anwendungslogik im JBoss- und Weblogic-Umfeld.

Der eigene Aufgabenschwerpunkt lag in der Migration bestehender Legacy-Anwendungen; der Implementierung neuer Webservice-Schnittstellen, Oberflächen und allgemein Anwendungslogik im JBoss und Weblogic Umfeld; sowie der Fehleranalyse in bestehenden Anwendungen, incl. Einschätzung möglicher Risiken und Fehlerbehebungsmaßnahmen.

Die technische Dokumentation erfolgte in Form von technischen Konzepten incl. umfangreicher UML- und Architektur-Diagrammen.

Zusätzlich wurden technische Dokumentationen für die Migration von weiteren Anwendungen auf Basis der bereits migrierten Anwendungen angefertigt, um Arbeitsabläufe im Team zu parallelisieren und zu vereinheitlichen.

Das Application Management wurde beim betreiben der EDV Infrastruktur unterstützt, um einen ausfallsicheren Betrieb der produktiven Umgebung zu gewährleisten.

Applikation- und Webserver
JBoss EAP 4.0.3, JBoss EAP 5.0, JBoss EAP 5.1, Weblogic 10.3.2, Apache HTTP Server


Datenbanken
DB2, Oracle


Technologien
Java EE, JDBC, Webservices, SOAP, Apache CXF, Metro, MTOM, JAX-WS, JAX-RPC, Axis, XML, Eclipse IDE, Eclipse RCP, Swing, Sevlets, Struts, JSF, iBatis, Hibernate, Spring Framework, JMS, IBM MQ Series, ClearCase, ClearQuest, Ant, Enterprise Architect, JUnit, Hudson/Jenkins, Linux/Windows

Java Jboss WebLogic WebService Eclipse Swing MTOM Servlets JSF Struts iBatis ClearCase Enterprise Architect Jenkins IBM MQ Spring XML Oracle DB2
DB Systel
Frankfurt am Main
3 Jahre 7 Monate
2007-05 - 2010-11

ILOG JRules / IBM JRules - Consultant

ILOG JRules / IBM JRules - Consultant Java Webservices Oracle ...
ILOG JRules / IBM JRules - Consultant
ILOG wurde von IBM aufgekauft.

ILOG JRules wird inzwischen als IBM ODM vermarktet.

  • JRules (bzw. ODM) ist eine der flexibelsten Rule-Engines zur Abbildung von Geschäftsprozessen.
  • Alle Projekte beinhalten die Business Analyse, sowie die Implementierung in kleinen Teams.


Diverse Projekte in unterschiedlichen Branchen / Unternehmen:

  • Automatisierte Kreditvergabe.
  • Kalkulation von Fondsstruktur-Rückerstattungen (Unternehmensinterne Vergütungen/Provisionen).
  • Vorrausschauende Kalkulierungen auf Basis von Auftragsdaten, mit dem Ziel der Resourcenplanung.
  • Diverse Proof of Concepts.

ILOG JRules IBM ODM
Java Webservices Oracle DB2 Hibernate JPA

Aus- und Weiterbildung

Aus- und Weiterbildung

4 Jahre 7 Monate
2002-10 - 2007-04

Medieninformatik Studium

Diplom Informatiker (FH), FH Wiesbaden
Diplom Informatiker (FH)
FH Wiesbaden
Software-Entwicklung, -Architekturen sowieso Technologien.


Primäre Programmiersprache

  • Java

Zusätzlich

  • Java EE (EJB, usw.)
  • Datenbanken
  • SOA (Service Orientierte Architekturen)
  • Webservices

11 Monate
2001-09 - 2002-07

Bundeswehr Grundwehrdienst

Fallschirmjäger, Doberlug-Kirchhain
Fallschirmjäger
Doberlug-Kirchhain
11 Monate
2000-09 - 2001-07

Fachoberschule

Fachhochschulreife, Jena
Fachhochschulreife
Jena

Kompetenzen

Kompetenzen

Top-Skills

Java Spring Camunda Hibernate JPA WebServices REST SOAP XML JAXB JAX-RS WildFly Oracle DB2 JUnit Scrum Kanban JBoss BPM Spring Boot Keycloak Wildfly Eclipse RCP

Produkte / Standards / Erfahrungen / Methoden

Java
Experte
Datenbanken
Experte

Schwerpunkte


Die Software-Entwicklung ist immer Bestandteil meiner Arbeit, unabhängig von zusätzlichen Aufgaben im Architektur- und Lead-Umfeld.

 Architektur

  • Konzeption/Design von Anforderungen und Lösungen.
  • Abstimmung von Schnittstellen (intern und mit externen Dienstleistern).
  • Design und Dokumentation von Datenmodellen, Abläufen und Infrastrukturen
  • Erstellung von diversen UML-Diagrammen (Sequenzen, Komponenten, Ablauf, Klassen, usw.)

Java-Lead

  • Supportkommunikation mit externen Lieferanten.
  • Code- und Konzept-Reviews, Aufwandsschätzungen, Aufgabenplanung, usw.
  • Optimierung der Entwicklungsabläufe, zur Steigerung der Softwarequalität und Entwicklungsgeschwindigkeit.
  • Teaminterne Wissensverteilung, Mentor.
  • Unterstützung/Leitung diverser Meetings.
  • Projektübergreifende Abstimmungen.

Java-Entwicklung (Auszug)

  • Täglich seit 2002, ab Java 1.4
  • Entwicklung im Backend und Frontend; Mit und ohne Webtechnologien.
  • Anbindung von Datenbanken.
  • Kommunikation mit externen Schnittstellen (Datei, REST, SOAP, RMI, ?).
  • Verteilte Systeme, Microservices, SOA.
  • Performance-Analysen und -Lösungen.
  • Neuentwicklung, Weiterentwicklung  und Wartung bestehender Implementierung.
  • Fehleranalysen und Lösungen, auch über die Systemgrenzen hinweg.

Allgemein

  • Fullstack-Entwicklung (Frontend und Backend), vollständig in Java oder zusätzlich mit Weboberflächen.
  • Zusammenarbeit mit den Fachbereichen und weiteren Stakeholdern, Anforderungsanalyse.
  • Scrum und Kanban wurden bei den unterstützten Projekten genutzt.
  • Aufbau und Optimierung der Scrum/Kanban-Abläufe und Boards im Jira.
  • Arbeiten in kleinen bis großen Teams.

 


Programmiersprachen

  • Java (seit 2002)
  • JavaScript (seit 1998) / TypeScript (seit 2017)
  • Maven , Ant
  • XML/XSLT, HTML/XHTML, CSS
  • (PHP, 1998 ? 2017)

 

Frameworks und Standards (bisher genutzt, Auszug)

  • Spring, Spring Boot
  • Camunda BPM, Camunda Modeler
  • JAX-RS, REST, JSON, JAX-WS, SOAP, MTOM, RMI
  • RESTEasy, Jackson, FasterXML, Jersey, Apache CXF, Metro, Axis
  • Swing/AWT, SWT/JFace
  • Eclispe RCP, OSGI
  • Servlets, JSP, JSF, PrimeFace, IceFace
  • JPA, Hibernate, EclipseLink, MyBatis, Flyway, JDBC
  • Wildfly / JBoss EAP, Weblogic, Webspere, Tomcat, Eclipse Jetty
  • Java SE, Java EE / Jakarta EE, EJB, CDI, JNDI
  • JUnit, Mockito, PowerMock, AssertJ, Weld SE, Arquillian
  • Angular, VueJS
  • Swagger / OpenApi, Swagger-UI

 

Weitere Tools (bisher genutzt, Auszug)

  • Eclipse IDE, IntelliJ IDEA
  • Bitbucket, Git, Mercurial, ClearCase, SVN, CVS
  • Jira (Scrum, Kanban), Confluence
  • Jenkins/Hudson, TeamCity
  • Enterprise Architekt
  • JProfiler, YourKit (zur Performance-Analyse)
  • SonarLint, SonarQube, Checkstyle, FindBugs, PMD
  • Betriebssysteme: Windows, Linux/Unix

 

Datenbanken

  • Oracle
  • DB2
  • MySQL, MSSQL, PostgreSQL, MongoDB

  


Persönliches ? Vorort / Remote

  • Wohnort: Wiesbaden
  • Kapazität: 100% (Vorort)
  • Einsatzort: Rhein-Main-Gebiet (Wiesbaden, Mainz, Frankfurt, Darmstadt, ?)
  • (Außerhalb vom Rhein-Main-Gebiet 100% Remote)

Betriebssysteme

Linux
Fortgeschritten
Unix
Fortgeschritten
Windows
Fortgeschritten

Programmiersprachen

Java
Experte
SQL
Experte
JavaScript
Fortgeschritten
TypeScript
Fortgeschritten

Datenbanken

DB2
Fortgeschritten
JDBC
Fortgeschritten
MS SQL Server
MySQL
Fortgeschritten
ODBC
Fortgeschritten
Oracle
Fortgeschritten
PostgreSQL
MongoDB
SQL
Experte
JPA
Experte

Aufbau komplexer Datenstrukturen, SQL Optimierung, SQL Tuning, SQL Performanceoptimierung. 

(Im Java Umfeld: JPA Optimierungen)

Datenkommunikation

SMTP
Fortgeschritten
REST
Experte
Webservices
Experte
RMI
Fortgeschritten

Branchen

Branchen

Transport/Verkehr

  • Verwaltung von Wagenbestand und Dispositionen im Güterverkehr
  • Fahrplan Optimierung, Ausarbeitung diverser Konzepte
  • Zug-Fahrplan-Verwaltungs- und Bearbeitungsplattform
  • Personal-Dispositions-Plattform
  • Technische Migration bestehender Anwendungen und Weiterentwicklung

­­­­­­

Freizeit/Touristik

  • Anwendung zur Erfassung von Reisedaten, Buchung von Tickets und Reisen


Bank

  • Beratungsplattform für verschiedene Finanzprodukte
  • Generator/Verwaltung zur automatisch Erstellung von Finanzprodukten
  • Weiterentwicklung einer Online Auskunft
  • Revisionssichere Rückvergütung von Fond-Kostenstrukturen/Vertriebsprovisionen
  • Revisionssicheres Kreditentscheidungssystem


Versicherung

  • Schnittstellen zwischen Unternehmensanwendungen
  • Anwendung zum Verkauf der Versicherungen


Transport/Logistik

  • Einführung eines Regelbasierten Business Systems zur Berechnung von Transport-Forecasts


Telekommunikation

  • Webbasiertes Bezahlverfahren/-system; Diplomarbeit
  • Design und Implementierung von Fax/Call-Services; Webfrontend & Backend


Facility Management

  • Konzeption und Architektur einer neuen FM-Plattform
  • Lebenszyklusbetrachtung für Immobilien
  • Aufzugsmanagement
  • Konferenzraumverwaltung
  • Dokumentenmanagementsystem
  • FM-Datenbank (Bauteilaufnahme, Ausschreibungsdokument-Generierung)


Security

  • Administrations-Oberfläche für einen Verschlüsselungsservice, Eclipse RCP-SOA Anwendung

Einsatzorte

Einsatzorte

Wiesbaden (+50km) 99% Remote (+500km)
möglich

Projekte

Projekte

1 Jahr
2023-04 - heute

Umstellung der Berechtigungsverwaltung verschiedener Anwendungen auf Keycloak

Senior Java Entwickler Riena Eclipse RCP Java ...
Senior Java Entwickler

Die Berechtigungsverwaltung musste auf eine einheitliche, unternehmensweite Struktur umgestellt werden, dazu hat man sich als Zielsystem für Keycloak mit OpenId-Connect entschieden. Dazu wurden die Wildfly-Server auf neue Versionen angehoben, diverse Teilprojekte aktualisiert und die gesamte Berechtigungssteuerung umgestellt.

Die Einarbeitung und Umstellung erfolgte zu Beginn prototypisch, um die technischen Herausforderungen durch die vorhandenen Abhängigkeiten zu identifizieren und einen einheitlichen Lösungsweg zu erarbeiten. Dabei wurden zusätzlich alltägliche Entwicklungsprobleme identifiziert und abgemildert.

Java                          8, 11,17

Server                      Wildfly 26, Tomcat 9.x

Datenbanken         Oracle DB, PostgreSQL

Technologien         Java,REST, JSON, XML, JPA, JWT, OpenId Connect, EJB, OAuth,
                                 Elytron, Camunda BPM, JSF

Frameworks          RESTEasy, FasterXML, Hibernate, JUnit, Mockito, Eclipse RCP,
                                 SWT, Riena, Keycloak, Single Sign On (SSO), LDAP

Tools                       Maven, Eclipse IDE, IntelliJ, Git, GitLab, Jenkins, Jira, Confluence,

                                Nexus, Sailpoint IdentityIQ 8.4 IIQ (Identity Access Management,

                                IAM), Docker, Kubernetes, ElasticSearch, Kibana, HashiCorp

                                Terraform, HashiCorp Vault, Consul-Template, Go Template,
                                Active Directory, Azure AD / Entra ID


  • Wildfly-Migration
    • Aktualisierung der Server-Konfigurationen.
    • Anpassung der Anwendungen und zusätzlichen Abhängigkeiten.
    • Anhebung der Java-Versionen.
  • Umstellung auf OpenId Connect (OIDC) / OAuth / JWT / Keycloak
    Die bestehenden EJB-RolesAllowed und Individual-Implementierungen wurden auf ein geeignetes Mandanten-Berechtigungssystem umgestellt, welches ausschließlich mit den Daten des Keycloak-Tokens zusammenarbeitet.
  • Fehlerkorrekturen
    Während der Umstellung wurden diverse Fehler- und Performance-Probleme analysiert und gelöst.
  • Entkopplung der Anwendungsdeployment.
    Die Deployment-Artefakte werden für die Zukunft verkleinert und weniger Abhängigkeiten direkt mit deployt, stattdessen wird man mehr verteilte Systeme aufrufen (SOA). Dadurch wird man die Update-Geschwindigkeiten der einzelnen Abhängigkeiten und der eigentlichen Anwendung erhöhen.
  • Sailpoint IdentityIQ Integration / Einführung (Identity Application Management, IAM)
    Als zentrales IAM Tool wurde  IdentityIQ genutzt, es wurden diverse Inhouse Systeme angebunden. Zum Beispiel Datenbank-Berechtigungen, Keycloak-Berechtigungen, interne Anwendungen und Berechtigungssysteme. Anbinden von diversen internen Informationsquellen (HR-System, Vermittler/Makler, Adressdaten, usw.).
    Um mit dem Tool reproduzierbar arbeiten zu können, wurde ein weitgehend stabiler Entwicklungsprozess aufgebaut.


Elastic Search Kubernetes Docker Sailpoint IdentityIQ WildFly Application Server Eclipse RCP JSF Keycloak GitLab IntelliJ Atlassian Confluence Atlassian JIRA Apache Tomcat Oracle PostgreSQL Nexus Active Directory Entra ID Azure AD
Riena Eclipse RCP Java Camunda JSF XML Hibernate OpenID Connect OAuth Kubernetes Nexus Docker Elastic Search Kibana Atlassian Confluence Atlassian JIRA JWT GitLab Git Consul Template Go Template HashiCorp Vault HashiCorp Terraform JPA REST JUnit Mockito SWT Jenkins Maven SSO LDAP
Remote 99,99%; Hamburg
2 Jahre 3 Monate
2022-01 - heute

Migration/Zusammenführung von 2x Anwendungen + Weiterentwicklung

Senior Java Entwickler Java RestEasy FasterXML ...
Senior Java Entwickler

Die zentrale Aufgabe im Projekt lag in der Migration der Datenmodelle eines Bundeslandes in das Datenmodell eines anderen Bundeslandes und der damit verbundenen Zusammenlegung der Anwendungen. Dazu mussten beide Datenmodell analysiert, eine Datenmodell-Transformation implementiert und diverse Tests durchgeführt werden. Da es sich um ein Verfahren zur Auszahlung von Sozialgeldern handelt, war eine hohe Genauigkeit bis zu den jeweiligen Berechnungen notwendig.

Zusätzlich wurden mehrere neue Anforderungen implementiert und Fehler korrigiert.


Java                            8

Server                        Jetty 9.x + Tomcat 8.x

Datenbanken             Oracle DB, HSQLDB

Technologien            Java, REST, JSON, XML, JPA, PL/SQL

Frameworks              RESTEasy, FasterXML, Hibernate, JUnit, Mockito, Flyway, Eclipse, SWT/RWT, RAP, Keycloak, iText

Tools                          Maven, Eclipse IDE, SVN, Git, Jenkins, Jira, xWiki


  • Daten-Migration
    • Der eigene Aufgabenschwerpunkt umfasste die gesamte Analyse des abzulösenden Datenmodells mit dessen Daten (ca. 40 Tabellen mit mehreren GB Daten).
    • Identifikation von Problemen im bisherigen Datenmodell mit ausarbeiten von geeigneten Lösungen.
    • Implementieren einer performanten Transformation in Form einer eigenständigen Java-Anwendung.
    • Die Performance wurde durch Analyse des Datenbank-Schemas, Optimierung von Triggern, Indizies usw. gesteigert. Die Transformationsanwendung selbst nutzt Multi-Threading mit optimierten Datenbank-Lese- und Datenbank-Schreibzyklen.
    • Die Qualität der Daten-Migration wurde durch Berechnungs-Tests über die transformierten Daten mit umfangreichen Auswertungen sichergestellt.
  • Weiterentwicklung
    • Implementierung neuer Oberflächen mit SWT/RWT und Javascript.
    • Implementierung von Backend-Logik zur Verarbeitung.
    • Erweiterung vom Datenmodell (Tabellen, PL/SQL) incl. Hibernate-Mapping
    • Korrektur von Programm-Fehlern und JUnit-Tests
Apache Tomcat Oracle Keycloak Atlassian JIRA Jenkins
Java RestEasy FasterXML Flyway Maven Git Subversion Eclipse SWT JavaScript JSON XML HSQLDB
Remote
6 Monate
2021-07 - 2021-12

Neuentwicklung von Schnittstellen zwischen Unternehmensanwendungen

Senior Java Entwickler Java JBoss CamundaBPM ...
Senior Java Entwickler

Die Unternehmensplattform wurde neu entwickelt und das eigene Teilprojekt beschäftigt sich mit der Kommunikation zwischen den einzelnen Komponenten. Es werden die Daten von verschiedenen anderen Drittsystemen eingelesen oder über verschiedene Schnittstellen empfangen und an die Ziel-Systeme weitergeleitet.

Es handelt sich um ein reines Backend-System, dass in einem JBoss EAP zusammen mit Camunda BPM für die Ablaufsteuerung arbeitet.

Eines der Hauptprobleme stellt die Performance mit den teilweise sehr umfangreichen Datenmengen dar, besonders im Zusammenspiel mit Camunda BPM. 


Java                            11

Server                        JBoss EAP

Datenbanken             IBM DB2, H2

BPM                           Camunda BPM, Camunda Modeler

Technologien            JAVA EE / Jakarta EE, CDI, JAX-RS, REST, JSON, JAX-WS, SOAP, Webservices, XML, LDAP, JPA

Frameworks              RESTEasy, FasterXML, Apache CXF, Hibernate, JUnit, Mockito, AssertJ, Flyway, Apache POI, Swagger/OpenApi, Swagger-UI, Infinispan Cache, Apache HttpClient

Tools                          Maven, IntelliJ IDEA, Bitbucket, Git, Jenkins, Sonar, Jira, Confluence 


- Der eigene Aufgabenschwerpunkt umfasste die Implementierung von Camunda-Prozessen mit ihren Java-Delegates.

- Anbindung von REST- und Webservice-Schnittstellen

- LDAP-Anbindung zur Authentifizierung und Autorisierung.

- Aufbau der Datenbank-Schemas incl. Hibernate-Anbindung, JPA.

- Integration von Swagger/OpenApi mit Swagger-UI zur automatischen Generierung von Schnittstellen-Spezifikation (JSON/YAML) der angebotenen REST-Services.

- Integration von Flyway für die automatische DB-Initialisierung (Lokal und Test-Umgebunden.)

- Die DB2 wurde sowohl für normalisierte Datenmodelle, wie auch für JSON (BSON) genutzt, um im NoSQL-Style die Daten auszuwerten.

- Der Test-Ablauf wurde erweitert und eine vollständige Test-Automatisierung im JUnit Umfeld mit Camunda BPM und Weld SE (CDI) realisiert.

- Die Testabdeckung umfasst alle einzelne Methoden, sowie die bekannten Camunda-Anwendungsfälle. Die Ausführung erfolgt mit jedem Maven-Build.

- Zur Steigerung der Code Qualität wurde SonarQube angebunden und der Code-Review Prozess von Bitbucket genutzt.

- Die technische Dokumentation wurde in Confluence gepflegt, zum Beispiel: Datenmodelle; Verschiedene Services, Caching-Konzepte, usw.; Bereitgestellte Schnittstellen für andere Systeme.; Anwendungs-Infrastruktur.

- Weitere Implementierungsdetails wurden direkt im Code und in Markdown-Dateien beschrieben.

Camunda IntelliJ Jenkins Sonar Jira Confluence Postman
Java JBoss CamundaBPM RestEasy FasterXML Apache CXF Hibernate JUnit Maven Flyway Apache POI Swagger OpenApi Infinispan CDI REST JSON LDAP DB2 H2 JPA
Wiesbaden
2 Jahre 11 Monate
2018-06 - 2021-04

Weiterentwicklung der bestehenden Anwendung zum Verkauf von Versicherungen

Senior Java Entwickler Eclipse RCP OSGI Java SE ...
Senior Java Entwickler

Zum Verkauf der Versicherungen wird hauptsächlich eine eigenständig entwickelte Anwendung genutzt, diese muss ständig an die neuen Produkte und gesetzlichen Regelungen angepasst werden. Sie wird von den internen Mitarbeitern, wie auch unabhängigen Maklern verwendet.

Die Anwendung ist klassisch in Frontend (Client) und Backend (Server) unterteilt. Die Oberflächen für den Anwender werden innerhalb des Eclipse RCP Frameworks umgesetzt und zusätzlich gibt es noch weitere ?Kanäle? mit eigenständigen Oberflächen die nur den Backend-Teil über Webservices aufrufen.

Die interne Struktur ist stark verteilt über diverse Subsysteme und Host-Implementierungen, daher wurde die gesamte Analyse und Entwicklung von einem umfangreichen Abstimmungsaufwand begleitet.


Java                          8 und 11

Webserver                JBoss EAP, Eclipse Jetty (embedded)

Technologien            Java SE, Java EE, JAX-WS, SOAP, Webservices, JAX-RS, REST, JSON, XML, LDAP, OSGI

Frameworks             Eclipse RCP, Riena, Hessian, Jackson, FasterXML, JUnit, Mockito

Tools                         Maven, SVN/Git, Jenkins, Checkstyle, Sonar, CIB Document Workbench, Jira, Confluence


- Der eigene Aufgabenschwerpunkt umfasste die Analyse und Dokumentation der Anforderungen.
- Die Java Implementierung (Frontend und Backend).
- Anbindung von Webservices und REST-Services.
- Steigerung der Testabdeckung. Erreichung der angestrebten Quality Gates.
- Abstimmung mit den Fachbereichen und Subsystem-Anbietern.
- Die begleitende Test-Implementierung (JUnit), Code-Quality Prüfungen (durch Reviews und Tools wie Checkstyle und Sonar).
- Fehleranalysen und Lösungen.
- Während der Projektarbeit wurde zusätzlich an querschnittlichen Entwicklungstätigkeiten teilgenommen und im Architektur-Team mitgearbeitet.
- Entwicklungsstandards gefördert.
- Die Projektplanung unterstützt.
- Die beginnende Nutzung von Confluence und Jira im Unternehmen wurde ebenfalls unterstützt und der angewendete Kanban-Prozess laufend mit optimiert.
- Die Build-Pipeline wurde beschleunigt, um gute und zeitnahe Entwicklungsergebnisse zusammen mit den Fachbereichen zu besprechen.
- Einführung von Nightly-Builds.
Riena SCP CIB Document Workbench Tabex Jira Confluence
Eclipse RCP OSGI Java SE Java EE Jackson FasterXML REST JSON XML JUnit Maven SVN Git Jenkins Sonar Jetty
R+V
Wiebsaden
11 Monate
2017-07 - 2018-05

Neuentwicklung einer Beratungsplattform für Finanzprodukte ? Finanzcheck der Zukunft

Senior Java Entwickler Java Angular Spring Boot ...
Senior Java Entwickler

Für die Beratung der Kunden wird eine neue Web-Plattform aufgebaut, mit dessen Hilfe die Vor- und Nachteile der aktuellen finanziellen Absicherung besser dargestellt werden. Intern wird die Plattform direkt von den Beratern genutzt und ermöglicht einen einheitlichen Beratungsablauf, der zum Großteil nach deren Anforderungen gestaltet ist. Über verschiedene öffentliche Zugänge erhalten die Kunden teilweise selbst direkten Zugriff auf die Plattformen und können dort selbständig ihre aktuelle Situation bewerten.

Die Anwendung ist klassisch in Frontend (Client) und Backend (Server) getrennt, die Oberflächen werden in einer modernen Single-Page Variante mit Javascript und das Backend zustandslos mit einfachen Servletcontainern entwickelt. Die Kommunikation zwischen Frontend und Backend wird über diverse REST-Services ermöglicht und nutzt die Vorteile von Spring-Boot. Weitere Dritt-Systeme sind teilweise über legacy SOAP Webservices angebunden.

Die interne Struktur der Anwendung verteilt sich über weitere Dritt-Services und ist vollständig Zustandslos, selbst der Speichervorgang von Kundendaten erfolgt in einem Dritt-System und macht eigene Datenbanksysteme obsolet. So lassen sich die verschiedenen Einzel-Anwendungen mit hohem Focus auf die Fachlichkeit und reduzierten internen Abhängigkeiten entwickeln und ermöglichen einen erhöhte Wiederverwendbarkeit von eigenen Anwendungs-Bausteinen.


Java                          8

Server                       Tomcat (mit Spring Boot)

Technologien            Java SE, JAX-RS, REST, JAX-WS, SOAP, Webservices, LDAP

Frameworks              Jackson, FasterXML, JUnit, Mockito, PowerMockito, Groovy, Spock, AssertJ, Spring Boot, Swagger / OpenApi, Swagger-UI, Typescript, Angular

Tools                         IntelliJ IDEA, Maven, Bitbucket, TeamCity (Continuous Integration), Checkstyle, Sonar, Confluence, Jira


- Der eigene Aufgabenschwerpunkt umfasste die Dokumentation von Datenmodellen und Prozessabläufen.
- Die Implementierungen (80% Java-Backend, 20% Angular-Frontend).
- Steigerung der Testabdeckung und Erreichung der angestrebten Quality Gates.
- Die begleitende Test-Implementierung (JUnit), Code-Quality Prüfungen (durch Reviews und Tools wie Checkstyle und Sonar).
- Fehleranalysen und Lösungen.
- Aufgabenplanung, Unterstützung der Offshore-Teams.
- Mitarbeit im Architektur-Team.
- Förderung von Teamübergreifenden Meetings.
- Während der Projektarbeit wurde zusätzlich an querschnittlichen Entwicklungstätigkeiten Teilgenommen, Teamübergreifende Entwicklungsstandards gefördert und die Projektplanung unterstützt.
- Die Nutzung von Confluence und Jira wurde ebenfalls unterstützt.
- Die Build-Pipeline wurde beschleunigt um gute und zeitnahe Entwicklungsergebnisse zusammen mit den Fachbereichen zu besprechen.
Jira Confluence
Java Angular Spring Boot Webservices JUnit IntelliJ BitBucket Git Checkstyle Sonar TypeScript Maven
Deutsche Bank
Frankfurt am Main
1 Jahr 8 Monate
2015-11 - 2017-06

Neuentwicklung einer verteilten Plattform zur automatischen Generierung/Verwaltung von Finanzprodukten

Senior Java Entwickler Java JBoss Hibernate ...
Senior Java Entwickler

Es handelt sich um mehrere einzelne Client-Server Plattformen zur Verwaltung von allgemeinen Stammdaten bis hin zu diversen stark strukturierten Finanzprodukten (Optionsscheine, Zertifikate, usw.). Der flexible Aufbau verteilter Anwendungsplattformen erlaubt eine höhere Flexibilität während der Weiter- und zusätzlichen Neuentwicklungen.

Das Ziel der Anwendungen liegt in einer deutlichen Steigerung der Product-to-Market-Time und einer einheitlichen Struktur alle existierenden Finanzprodukte, gleichzeitig steigert man die Revisionssicherheit und reduziert die Fehler während der Produkterstellung.

Die einzelnen Anwendungen werden im Backend mit standardisierten JavaEE-Application-Servern entwickelt und die Clients mit modernen Javascript-Single-Pages (Ajax-Weboberflächen). Die Kommunikation zwischen Client und Backend, sowieso zwischen den einzelnen Anwendungen erfolgt via REST-Schnittstellen (JSON) und einigen legacy SOAP Webservice.


Java                            6 und 8

Server                        JBoss EAP

Datenbank                 Oracle

Technologien            Java EE, JPA, JAX-RS, REST, JAX-WS, SOAP, Webservices, LDAP

Frameworks              Hibernate, JUnit, Mockito, PowerMock, Arquillian, Google Guava, Shiro, ModelMapper, RESTEasy, Jackson, FasterXML, Apache CXF, IBM MQ, Backbone, Marionette

Tools                          IntelliJ IDEA, Maven, Mercurial, Hudson/Jenkins, Checkstyle, PMD, FindBugs, Sonar, Citrix, CIB Document Workbench


- Der eigene Aufgabenschwerpunkt umfasste Design und Dokumentation der Datenmodell und Schnittstellen der Neuentwicklungen.
- Die Java Implementierungen (Backend).
- Die begleitende Test-Implementierung (JUnit/Arquillian)
- Code-Quality Prüfungen (durch Reviews und Tools wie Checkstyle, PMD, FindBugs und Sonar).
- Fehleranalysen und Lösungen in der Neuentwicklung und dem Legacysystem.
- Aufwandsschätzungen und Aufgabenplanungen.
JIRA Confluence
Java JBoss Hibernate JUnit RestEasy Jackson FasterXML Apache CXF Mercurial Git Jenkins Sonar CIB Document Workbench Maven
DZ Bank
Frankfurt am Main
8 Monate
2015-04 - 2015-11

Neu- und Weiterentwicklung einer Webplattform zur Verwaltung von Beständen und Bestellungen

Senior Java Entwickler Java EE Hibernate JUnit ...
Senior Java Entwickler

Es handelt sich um eine webbasierte Anwendung zur Verwaltung und Erfassung von Wagenbeständen, sowie der Zusammenführung mit eingehenden Leerwagenbestellungen. Die Weboberflächen wurden mit JSF/RichFaces/PrimeFaces realisiert und zusätzlich um eigene Widgets und Javascript-Elemente erweitert. Das Backend wurde mit einem Java EE Stack realisiert, dazu kam der Application Server von JBoss mit weiteren Technologien zum Einsatz, wie zum Beispiel JPA/Hibernate, CDI/EJB und Oracle DB.


Im Projekt wurden zahlreiche Background Jobs und Schnittstellen zu und von anderen Systemen entwickelt die teilweise große Datenmengen handeln müssen.


Während der Entwicklung wurden ständig Performance-Analysen, mit Hilfe von Profiling-Tools wie YourKit, und anschließenden Optimierungen durchgeführt.

Der eigene Aufgabenschwerpunkt lag in der Neu- und Weiterentwicklung der Java Implementierungen (Frontend und Backend); Weiterentwicklung und Optimierung von individuellen JSF/PrimeFaces-Komponenten; und tiefergehende System/Performance/Review-Analysen.


Die begleitende Test-Implementierung (JUnit), Code-Quality Prüfungen (durch Reviews und Tools wie Sonar, PMD und FindBugs) und Fehlerbehebungen gehörten ebenfalls zum regulären Arbeitsumfang.

Applikationserver
JBoss EAP 7 + Java 8

Datenbank
Oracle

Technologien
Java EE, Hibernate, JPA, JUnit, JMockit, Arquillian, Google Guava, Eclipse IDE, Maven, SVN, ClearQuest, Sparx Enterprise Architekt, Yourkit, Hudson/Jenkins, Sonar, FindBugs, PMD, Checkstyle, Quartz, Spring, MQ

Jira Confluence
Java EE Hibernate JUnit Arquillian Eclipse SVN ClearCase Enterprise Architect Yourkit Sonar Spring Oracle
DB Systel
Frankfurt am Main
1 Jahr 1 Monat
2014-01 - 2015-01

Neuentwicklung einer Plattform zur Verwaltung von Fahrwegen für Zug-Fahrpläne

Java Entwickler Java EE Java SE Eclipse RCP ...
Java Entwickler

Es handelt sich um eine Client-Server Anwendung zur Einsicht, Verwaltung und Planung von Fahrwegen für einen Zug-Fahrplan für Fahrten in Betriebsstellen (Bahnhöfen). Der Client basiert auf dem aktuellen Eclipse E4 RCP Framework und beinhaltet neben mehreren Perspektiven und diversen Fenster-Bereichen individuelle grafische Ansichten, zur Darstellung von umfangreichen Spurplänen (Schienen- und Signal-Darstellungen innerhalb von Bahnhöfen), weiteren grafischen Planungsansichten von Gleisbelegungen mit umfangreichen Drag & Drop Funktionen und Bearbeitungsmöglichkeiten. Die individuellen Grafik-Komponenten basieren auf Draw2D und wurden nahtlos in die RCP Struktur integriert. Die Kommunikation zwischen Client und Server erfolgt mit einer JavaEE Server-Infrastruktur, geschützt durch Java JAAS mit Anbindung an ein zentrales Unternehmens-LDAP.

Zum Projektbeginn wurden auf Basis von Proof of Concepts verschiedene Java- Zeichnungsframeworks evaluiert und die Möglichkeiten des Eclipse E4 RCP Frameworks geprüft. Die Einarbeitung in die diversen Client Frameworks erfolgte eigenständig. Im Server-Umfeld kamen bekannte Technologien, wie z. B. EJB, CDI, JPA und Hibernate in Kombination mit einer Oracle Datenbank zum Einsatz.

Nach der PoC-Phase begann die Einarbeitung in die fachlichen Anforderungen und die kontinuierliche Überführung in mehrere, umfangreiche technische Designs (mit dem Enterprise Architekt) zur Dokumentation der Datenmodelle, Komponenten und Prozesse.

Während der gesamten Entwicklungszeit wurde großer Wert auf möglichst gute Usability, Performance bei großen Daten- und Darstellungsmengen (speziell Zeichnungen) gelegt. Schwachstellen wurden mit Hilfe von Profiling Tools wie YourKit und SysInternals identifiziert. 

Der eigene Aufgabenschwerpunkt lag in Reviews der fachlichen Dokumente, Reviews der technischen Designs und der Java Implementierungen.

Primär befasste ich mich mit Themen im Client-Umfeld, wie die Konzeption des technischen Client-Designs, der Datenmodelle und Weiterführung der Dokumentation für Design- und Implementierungsvorgaben. Einarbeitung in die gewählten Client-Frameworks und der anschließenden Verteilung des erarbeiten Wissens auf mehrere Team-Mitglieder.

Die begleitende Test-Implementierung (JUnit), Code-Quality Prüfungen (durch Reviews und Tools wie Sonar) und Fehlerbehebungen gehörten ebenfalls zum regulären Arbeitsumfang. 

Applikationserver
JBoss EAP 6

Datenbank
Oracle

Technologien
Java EE, Java SE, Hibernate, JPA, Eclipse E4 RCP, SWT/JFace, Draw2D, JUnit, Mockito, Google Guava, JAAS, Eclipse IDE, Maven, SVN, Jira, Sparx Enterprise Architekt, Yourkit, Hudson/Jenkins, Sonar, FindBugs, PMD, Checkstyle

JIRA
Java EE Java SE Eclipse RCP SWT JFace Maven SVN Jira Enterprise Architect Jenkins Yourkit Sonar OSGI
DB Systel
Frankfurt am Main
9 Monate
2012-09 - 2013-05

Neu- und Weiterentwicklung einer Personal-Dispositions-Plattform

Java Entwickler Weblogic Oracle Java EE ...
Java Entwickler

Es handelt sich um eine unternehmenskritische Client-Server Anwendung zur Planung der gesamten Arbeitsabläufe aller Bahnmitarbeiter, minutengenau. Der Client basiert auf einer Swing-Oberfläche und kommuniziert mit einer JavaEE Server-Infrastruktur.

In der ersten Projektphase wird das gesamte Projekt einer technischen Erneuerung unterzogen. Die bestehende interne Anwendungsstruktur wird vollständig überarbeitet um zukünftige Änderungen in einem akzeptablen Zeitumfang realisieren zu können. Weiterhin wird die Modularisierung und damit die Unabhängigkeit der einzelnen Programmbestandteile vorangetrieben.

Dies beinhaltet eine komplette Umstellung der vorhandenen Persistenz-Schicht auf den Standard JPA (zur Datenbank-Anbindung), wenn möglich die vereinfachte Form von Dependency-Injections mittels CDI und die Anwendungsweite Integration der neu entstehenden Klassen-Strukturen im gesamten Server- und Client-Umfeld.

Die Einarbeitung in den vorhandenen Programmcode erfolgte soweit möglich eigenständig und Aufgabenbezogen durch bestehende JUnit Testfälle und die Prozesse in der Anwendung selbst. Für neue Datenstrukturen und Schnittstellenanbindungen wurden laufend weitere Testfälle implementiert.

Der eigene Aufgabenschwerpunkt lag in der Analyse der bestehenden Backend-Logik und anschließenden Migration der Persistenz-Schicht mit EclipseLink-API auf JPA. Gleichzeitig wurde die Backend-Logik von klassischem EJB3 auf die vereinfachte Form des Dependency Injection ?CDI? umgestellt.

Während der gesamten Projektlaufzeit wurden Fehleranalyse der laufenden und weiterentwickelten Anwendung durchgeführt, incl. Einschätzung möglicher Risiken und Fehlerbehebungsmaßnahmen.

Das Application Management wurde beim betreiben der EDV Infrastruktur unterstützt, um einen ausfallsicheren Betrieb der produktiven Umgebung zu gewährleisten.

Applikationserver
Weblogic 12


Datenbank
Oracle


Technologien
Java EE, Java SE, Toplink, JPA, Eclipse IDE, Swing, Maven, ClearCase, ClearQuest, Enterprise Architekt, JUnit, Hudson/Jenkins

Weblogic Oracle Java EE Java SE Swing Maven ClearCase Enterprise Architect Jenkins Eclipse
DB Systel
Frankfurt am Main
10 Monate
2011-11 - 2012-08

Neu- und Weiterentwicklung einer Touristischen Anwendung

Java Entwickler Java EE Java SE Dozer ...
Java Entwickler

Bei der Anwendung handelt es sich um ein hochverteiltes Konzept, diverse Teilbereiche der Software werden von unterschiedlichen Teams, als eigenständige Teilanwendung entwickelt. Dadurch ergeben sich diverse Schnittstellenthemen zwischen den einzelnen Server- und Clientkomponenten. Sie wird als Java EE Anwendung entwickelt und im JBoss 4 betrieben. Der Client basiert auf dem Eclipse RCP Framework und kommuniziert über zuvor freigeschaltete (Security) Schnittstellen mit den Serverkomponenten.

Zu Beginn des Projektes wurden umfangreiche Wartungsarbeiten am aktuellen Entwicklungsstand zur Stabilisierung und baldigen Produktionseinführung durchgeführt, die Einarbeitung erfolgte dabei zu großen Teilen eigenständig.

Im Anschluss wurde für eine neuere Version das Design des gesamten Datenmodells überarbeitet. Ziel war es, komplexe Strukturen möglichst zu vereinfachen und dadurch die Effizienz während der Implementierung und Laufzeit zu steigern. Zur Datenabstraktion wurde Dozer und Hibernate und als zugrundeliegende Datenbank Oracle eingesetzt.

Weiterhin wurden einzelne Teilprojekte neu aufgesetzt, in diesem wurden die Persistenzschicht (Hibernate) mit dem zusätzlichen Pojo-Mapping (Dozer), Schnittstellen zu anderen Teilbereichen und die Verarbeitungslogik mit entwickelt.

Da es sich hierbei um ein MDA (Model Driven Architecture) getriebenes Projekt handelt, wurden alle Klassen, Methoden und Schnittstellen im Vorfeld in Magic Draw konzipiert (UML) und anschließend daraus die grundlegenden Klassen und Methoden generiert.

Der eigene Aufgabenschwerpunkt umfasst den Entwurf des gesamten detaillierten Klassen-/Modelldesigns zur anschließenden Klassen/Methodengenerierung mit Magic Draw (UML), incl. Schnittstellen-Spezifikation, Java Implementierung und JUnit-Tests; sowie der Fehleranalyse und -behebung in der bestehenden Anwendung.

Ein weiteres wichtiges Thema war die nachhaltige Performance-Optimierung innerhalb der zuständigen Teilbereiche.

Die technische Dokumentation erfolgte (aufgrund des MDA-Ansatzes) ausschließlich in UML mit dem Tool Magic Draw.

Das Application Management wurde beim betreiben der EDV Infrastruktur unterstützt, um einen ausfallsicheren Betrieb der produktiven Umgebung zu gewährleisten.

Applikationserver
JBoss 4.2

Datenbank
Oracle


Technologien
Java EE, Java SE, Dozer, Hibernate, JPA, JMS, XML, Velocity, Eclipse IDE, Eclipse RCP, Ant, SVN, Magic Draw, JUnit, Hudson/Jenkins, Checkstyle, Linux/Windows.

Java EE Java SE Dozer Hibernate JPA Eclipse RCP Ant SVN Magic Draw JUnit Checkstyle Oracle JBoss OSGI
DER Tour
Frankfurt am Main
1 Jahr 1 Monat
2010-11 - 2011-11

Technische Migration bestehender Anwendungen und Weiterentwicklung

Java Entwickler Java Jboss WebLogic ...
Java Entwickler

Eine der ersten Kernaufgaben im Projekt lag in der Migration verschiedener Legacy-Anwendungen auf einen technisch aktuelleren und einheitlicheren Standard. Alle bestehenden Anwendungen wurden mit Java EE realisiert und auf den zwei verschiedenen Applikation Servern JBoss EAP 4.0.3 und Weblogic 10.3.2 betrieben.

Während der Migration wurden die JBoss EAP Installationen von Version 4.0.3, mit Java 5 auf die aktuelle JBoss EAP Version 5.1, mit Java 6 angehoben. In diesem Zusammenhang mussten die unterschiedlichen Anwendungs-Architekturen geprüft und Abhängigkeiten der Implementierung zu Thirdparty-Libraries analysiert und an aktuelle Versionen angepasst werden, um deren Lauffähigkeit weiterhin in gewohnter Stabilität zu gewährleisten.

Die Kommunikationswege unter den JBoss und Weblogic basierenden Anwendungen wurden von verschiedenen technischen Legacy-Frameworks, wie Axis, JBoss Native oder allgemein JAX-RPC, auf den einheitlichen technologischen Standard JAX-WS migriert. Verwendet wurde dazu das High Performance Webservice Framework Apache CXF in Verwendung mit dem JBoss- und das Webservice Framework Metro beim Weblogic Application Server.

Nach Abschluss der Migration wurden weiterführende Implementierungen in bestehenden Anwendungen durchgeführt. Diese bezogen sich zum Beispiel auf die Bereitstellung neuer Webservice-Schnittstellen, Eclipse-RCP Oberflächen und allgemein der Implementierung neuer Anforderungen in der Anwendungslogik im JBoss- und Weblogic-Umfeld.

Der eigene Aufgabenschwerpunkt lag in der Migration bestehender Legacy-Anwendungen; der Implementierung neuer Webservice-Schnittstellen, Oberflächen und allgemein Anwendungslogik im JBoss und Weblogic Umfeld; sowie der Fehleranalyse in bestehenden Anwendungen, incl. Einschätzung möglicher Risiken und Fehlerbehebungsmaßnahmen.

Die technische Dokumentation erfolgte in Form von technischen Konzepten incl. umfangreicher UML- und Architektur-Diagrammen.

Zusätzlich wurden technische Dokumentationen für die Migration von weiteren Anwendungen auf Basis der bereits migrierten Anwendungen angefertigt, um Arbeitsabläufe im Team zu parallelisieren und zu vereinheitlichen.

Das Application Management wurde beim betreiben der EDV Infrastruktur unterstützt, um einen ausfallsicheren Betrieb der produktiven Umgebung zu gewährleisten.

Applikation- und Webserver
JBoss EAP 4.0.3, JBoss EAP 5.0, JBoss EAP 5.1, Weblogic 10.3.2, Apache HTTP Server


Datenbanken
DB2, Oracle


Technologien
Java EE, JDBC, Webservices, SOAP, Apache CXF, Metro, MTOM, JAX-WS, JAX-RPC, Axis, XML, Eclipse IDE, Eclipse RCP, Swing, Sevlets, Struts, JSF, iBatis, Hibernate, Spring Framework, JMS, IBM MQ Series, ClearCase, ClearQuest, Ant, Enterprise Architect, JUnit, Hudson/Jenkins, Linux/Windows

Java Jboss WebLogic WebService Eclipse Swing MTOM Servlets JSF Struts iBatis ClearCase Enterprise Architect Jenkins IBM MQ Spring XML Oracle DB2
DB Systel
Frankfurt am Main
3 Jahre 7 Monate
2007-05 - 2010-11

ILOG JRules / IBM JRules - Consultant

ILOG JRules / IBM JRules - Consultant Java Webservices Oracle ...
ILOG JRules / IBM JRules - Consultant
ILOG wurde von IBM aufgekauft.

ILOG JRules wird inzwischen als IBM ODM vermarktet.

  • JRules (bzw. ODM) ist eine der flexibelsten Rule-Engines zur Abbildung von Geschäftsprozessen.
  • Alle Projekte beinhalten die Business Analyse, sowie die Implementierung in kleinen Teams.


Diverse Projekte in unterschiedlichen Branchen / Unternehmen:

  • Automatisierte Kreditvergabe.
  • Kalkulation von Fondsstruktur-Rückerstattungen (Unternehmensinterne Vergütungen/Provisionen).
  • Vorrausschauende Kalkulierungen auf Basis von Auftragsdaten, mit dem Ziel der Resourcenplanung.
  • Diverse Proof of Concepts.

ILOG JRules IBM ODM
Java Webservices Oracle DB2 Hibernate JPA

Aus- und Weiterbildung

Aus- und Weiterbildung

4 Jahre 7 Monate
2002-10 - 2007-04

Medieninformatik Studium

Diplom Informatiker (FH), FH Wiesbaden
Diplom Informatiker (FH)
FH Wiesbaden
Software-Entwicklung, -Architekturen sowieso Technologien.


Primäre Programmiersprache

  • Java

Zusätzlich

  • Java EE (EJB, usw.)
  • Datenbanken
  • SOA (Service Orientierte Architekturen)
  • Webservices

11 Monate
2001-09 - 2002-07

Bundeswehr Grundwehrdienst

Fallschirmjäger, Doberlug-Kirchhain
Fallschirmjäger
Doberlug-Kirchhain
11 Monate
2000-09 - 2001-07

Fachoberschule

Fachhochschulreife, Jena
Fachhochschulreife
Jena

Kompetenzen

Kompetenzen

Top-Skills

Java Spring Camunda Hibernate JPA WebServices REST SOAP XML JAXB JAX-RS WildFly Oracle DB2 JUnit Scrum Kanban JBoss BPM Spring Boot Keycloak Wildfly Eclipse RCP

Produkte / Standards / Erfahrungen / Methoden

Java
Experte
Datenbanken
Experte

Schwerpunkte


Die Software-Entwicklung ist immer Bestandteil meiner Arbeit, unabhängig von zusätzlichen Aufgaben im Architektur- und Lead-Umfeld.

 Architektur

  • Konzeption/Design von Anforderungen und Lösungen.
  • Abstimmung von Schnittstellen (intern und mit externen Dienstleistern).
  • Design und Dokumentation von Datenmodellen, Abläufen und Infrastrukturen
  • Erstellung von diversen UML-Diagrammen (Sequenzen, Komponenten, Ablauf, Klassen, usw.)

Java-Lead

  • Supportkommunikation mit externen Lieferanten.
  • Code- und Konzept-Reviews, Aufwandsschätzungen, Aufgabenplanung, usw.
  • Optimierung der Entwicklungsabläufe, zur Steigerung der Softwarequalität und Entwicklungsgeschwindigkeit.
  • Teaminterne Wissensverteilung, Mentor.
  • Unterstützung/Leitung diverser Meetings.
  • Projektübergreifende Abstimmungen.

Java-Entwicklung (Auszug)

  • Täglich seit 2002, ab Java 1.4
  • Entwicklung im Backend und Frontend; Mit und ohne Webtechnologien.
  • Anbindung von Datenbanken.
  • Kommunikation mit externen Schnittstellen (Datei, REST, SOAP, RMI, ?).
  • Verteilte Systeme, Microservices, SOA.
  • Performance-Analysen und -Lösungen.
  • Neuentwicklung, Weiterentwicklung  und Wartung bestehender Implementierung.
  • Fehleranalysen und Lösungen, auch über die Systemgrenzen hinweg.

Allgemein

  • Fullstack-Entwicklung (Frontend und Backend), vollständig in Java oder zusätzlich mit Weboberflächen.
  • Zusammenarbeit mit den Fachbereichen und weiteren Stakeholdern, Anforderungsanalyse.
  • Scrum und Kanban wurden bei den unterstützten Projekten genutzt.
  • Aufbau und Optimierung der Scrum/Kanban-Abläufe und Boards im Jira.
  • Arbeiten in kleinen bis großen Teams.

 


Programmiersprachen

  • Java (seit 2002)
  • JavaScript (seit 1998) / TypeScript (seit 2017)
  • Maven , Ant
  • XML/XSLT, HTML/XHTML, CSS
  • (PHP, 1998 ? 2017)

 

Frameworks und Standards (bisher genutzt, Auszug)

  • Spring, Spring Boot
  • Camunda BPM, Camunda Modeler
  • JAX-RS, REST, JSON, JAX-WS, SOAP, MTOM, RMI
  • RESTEasy, Jackson, FasterXML, Jersey, Apache CXF, Metro, Axis
  • Swing/AWT, SWT/JFace
  • Eclispe RCP, OSGI
  • Servlets, JSP, JSF, PrimeFace, IceFace
  • JPA, Hibernate, EclipseLink, MyBatis, Flyway, JDBC
  • Wildfly / JBoss EAP, Weblogic, Webspere, Tomcat, Eclipse Jetty
  • Java SE, Java EE / Jakarta EE, EJB, CDI, JNDI
  • JUnit, Mockito, PowerMock, AssertJ, Weld SE, Arquillian
  • Angular, VueJS
  • Swagger / OpenApi, Swagger-UI

 

Weitere Tools (bisher genutzt, Auszug)

  • Eclipse IDE, IntelliJ IDEA
  • Bitbucket, Git, Mercurial, ClearCase, SVN, CVS
  • Jira (Scrum, Kanban), Confluence
  • Jenkins/Hudson, TeamCity
  • Enterprise Architekt
  • JProfiler, YourKit (zur Performance-Analyse)
  • SonarLint, SonarQube, Checkstyle, FindBugs, PMD
  • Betriebssysteme: Windows, Linux/Unix

 

Datenbanken

  • Oracle
  • DB2
  • MySQL, MSSQL, PostgreSQL, MongoDB

  


Persönliches ? Vorort / Remote

  • Wohnort: Wiesbaden
  • Kapazität: 100% (Vorort)
  • Einsatzort: Rhein-Main-Gebiet (Wiesbaden, Mainz, Frankfurt, Darmstadt, ?)
  • (Außerhalb vom Rhein-Main-Gebiet 100% Remote)

Betriebssysteme

Linux
Fortgeschritten
Unix
Fortgeschritten
Windows
Fortgeschritten

Programmiersprachen

Java
Experte
SQL
Experte
JavaScript
Fortgeschritten
TypeScript
Fortgeschritten

Datenbanken

DB2
Fortgeschritten
JDBC
Fortgeschritten
MS SQL Server
MySQL
Fortgeschritten
ODBC
Fortgeschritten
Oracle
Fortgeschritten
PostgreSQL
MongoDB
SQL
Experte
JPA
Experte

Aufbau komplexer Datenstrukturen, SQL Optimierung, SQL Tuning, SQL Performanceoptimierung. 

(Im Java Umfeld: JPA Optimierungen)

Datenkommunikation

SMTP
Fortgeschritten
REST
Experte
Webservices
Experte
RMI
Fortgeschritten

Branchen

Branchen

Transport/Verkehr

  • Verwaltung von Wagenbestand und Dispositionen im Güterverkehr
  • Fahrplan Optimierung, Ausarbeitung diverser Konzepte
  • Zug-Fahrplan-Verwaltungs- und Bearbeitungsplattform
  • Personal-Dispositions-Plattform
  • Technische Migration bestehender Anwendungen und Weiterentwicklung

­­­­­­

Freizeit/Touristik

  • Anwendung zur Erfassung von Reisedaten, Buchung von Tickets und Reisen


Bank

  • Beratungsplattform für verschiedene Finanzprodukte
  • Generator/Verwaltung zur automatisch Erstellung von Finanzprodukten
  • Weiterentwicklung einer Online Auskunft
  • Revisionssichere Rückvergütung von Fond-Kostenstrukturen/Vertriebsprovisionen
  • Revisionssicheres Kreditentscheidungssystem


Versicherung

  • Schnittstellen zwischen Unternehmensanwendungen
  • Anwendung zum Verkauf der Versicherungen


Transport/Logistik

  • Einführung eines Regelbasierten Business Systems zur Berechnung von Transport-Forecasts


Telekommunikation

  • Webbasiertes Bezahlverfahren/-system; Diplomarbeit
  • Design und Implementierung von Fax/Call-Services; Webfrontend & Backend


Facility Management

  • Konzeption und Architektur einer neuen FM-Plattform
  • Lebenszyklusbetrachtung für Immobilien
  • Aufzugsmanagement
  • Konferenzraumverwaltung
  • Dokumentenmanagementsystem
  • FM-Datenbank (Bauteilaufnahme, Ausschreibungsdokument-Generierung)


Security

  • Administrations-Oberfläche für einen Verschlüsselungsservice, Eclipse RCP-SOA Anwendung

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.