Profilbild von Christian Kerl Senior Java Entwickler - Spring Boot, Wildfly, Eclipse RCP, Camunda aus Wiesbaden

Christian Kerl

nicht verfügbar bis 30.06.2024

Letztes Update: 24.03.2024

Senior Java Entwickler - Spring Boot, Wildfly, Eclipse RCP, Camunda

Firma: Christian Kerl - Senior Java Consultant
Abschluss: Dipl.-Informatiker (FH)
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (gut)

Skills

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
  • 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
  • Keycloak, JWT, OAuth, OpenID Connect (OIDC)
  • LDAP, ActiveDiretory
Weitere Tools (bisher genutzt, Auszug)
  • Eclipse IDE, IntelliJ IDEA
  • Bitbucket, Git, Mercurial, ClearCase, SVN, CVS
  • Jira (Scrum, Kanban), Confluence
  • Jenkins/Hudson, TeamCity, GitLab
  • Enterprise Architekt, DrawIO
  • JProfiler, YourKit (zur Performance-Analyse)
  • SonarLint, SonarQube, Checkstyle, FindBugs, PMD
  • Keycloak, Sailpoint IdentityIQ (IIQ)
  • Docker, Kubernetes, ElasticSearch / Kibana
  • HashiCorp Vault, Consul-Template, Go Template
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)

Projekthistorie

04/2023 - bis jetzt
Senior Java Entwickler / Wildfly / Tomcat / Eclipse RCP / OSGI / Sailpoint IdentityIQ / Keycloak / Docker / Kubernetes
(Versicherungen, 1000-5000 Mitarbeiter)

Umstellung der Berechtigungsverwaltung verschiedener Anwendungen auf Keycloak
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 (OIDC), OAuth,
                                   EJB, Elytron, Camunda BPM, JSF, OSGI
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,
                                   AzureAD / EntraID
  • 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.

01/2022 - bis jetzt
Senior Java Entwickler / Tomcat / Eclipse / SWT / Hibernate / Oracle DB / PL/SQL
(Öffentlicher Dienst, 500-1000 Mitarbeiter)

Migration/Zusammenführung von 2x Anwendungen
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

07/2021 - 12/2021
Senior Java Entwickler / JBoss / Camunda / CDI / DB2 / Hibernate / REST / IntelliJ
(Versicherungen, 1000-5000 Mitarbeiter)

Neuentwicklung von Schnittstellen zwischen Unternehmensanwendungen

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 Komponenten eingelesen oder empfangen und an die Ziel-Systeme weitergeleitet.

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

Java                            11

Webserver                 JBoss EAP

Datenbanken             IBM DB2, H2

BPM                           Camunda BPM, Camunda Modeler

Technologien            CDI, JAX-RS, REST, JSON, JAX-WS, SOAP, Webservices, XML, LDAP

Frameworks              Resteasy, FasterXML, Apache CXF, Hibernate, JUnit, Mockito, AssertJ,

                                    Maven, Flyway, Apache POI, Swagger/OpenApi, Swagger-UI,

                                    Infinispan Cache, Apache HttpClient, WELD SE

Tools                          IntelliJ, 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.

06/2018 - 04/2021
Senior Java Entwickler / Eclipse RCP / OSGI / REST / XML / Webservices
(Versicherungen, >10.000 Mitarbeiter)

Weiterentwicklung der bestehenden Anwendung zum Verkauf von Versicherungen
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.

07/2017 - 05/2018
Senior Java Entwickler / IntelliJ / Spring Boot / Tomcat / REST / Webservices
(Banken und Finanzdienstleistungen, >10.000 Mitarbeiter)

Neuentwicklung einer Beratungsplattform für Finanzprodukte – Finanzcheck der Zukunft
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.

11/2015 - 06/2017
Senior Java Entwickler / JBoss / Oracle / JPA / Hibernate / REST / Webservices
(Banken und Finanzdienstleistungen, >10.000 Mitarbeiter)

Neuentwicklung einer verteilten Plattform zur automatischen Generierung/Verwaltung von Finanzprodukten
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.

04/2015 - 11/2015
Java Entwickler / JBoss / CDI / Eclipse / JPA / Hibernate / Oracle
(Transport und Logistik, 5000-10.000 Mitarbeiter)

Neu- und Weiterentwicklung einer Webplattform zur Verwaltung von Beständen und Bestellungen
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.

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


01/2014 - 01/2015
Java Entwickler / Eclipse RCP / OSGI / SWT / Draw2D
(Transport und Logistik, 5000-10.000 Mitarbeiter)

Neuentwicklung einer Plattform zur Verwaltung von Fahrwegen für Zug-Fahrpläne
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.

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


09/2012 - 05/2013
Java Entwickler / Eclipse / Swing / JPA / Toplink
(Transport und Logistik, 5000-10.000 Mitarbeiter)

Neu- und Weiterentwicklung einer Personal-Dispositions-Plattform

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.

Applikationserver
Weblogic 12
Datenbank
Oracle
Technologien
Java EE, Java SE, Toplink, JPA, Eclipse IDE, Swing, Maven, ClearCase, ClearQuest, Enterprise Architekt, JUnit, Hudson/Jenkins

 


Reisebereitschaft

Verfügbar in den Ländern Deutschland
  • Wohnort: Wiesbaden
  • Kapazität: 100% (Vorort)
  • Einsatzort: Rhein-Main-Gebiet (Wiesbaden, Mainz, Frankfurt, Darmstadt, …)
  • (Außerhalb vom Rhein-Main-Gebiet 100% Remote.)

exali IT-Haftpflicht-Siegel (Sondertarif für Freelancermap-Mitglieder)

Das original exali IT-Haftpflicht-Siegel bestätigt dem Auftraggeber, dass die betreffende Person oder Firma eine aktuell gültige branchenspezifische Berufs- bzw. Betriebshaftpflichtversicherung abgeschlossen hat. Diese Versicherung wurde zum Sondertarif für Freelancermap-Mitglieder abgeschlossen.

Versicherungsbeginn:
01.11.2015

Versicherungsende:
01.11.2024

Profilbild von Christian Kerl Senior Java Entwickler - Spring Boot, Wildfly, Eclipse RCP, Camunda aus Wiesbaden Senior Java Entwickler - Spring Boot, Wildfly, Eclipse RCP, Camunda
Registrieren