Java

Java ist eine objektorientierte Programmiersprache für die Entwicklung plattformunabhängiger Anwendungen. Die Sprache ermöglicht die Erstellung sicherer und skalierbarer Software durch statische Typisierung, automatische Speicherverwaltung und umfangreiche Standard-Bibliotheken.

Die strategische Bedeutung von Java zeigt sich in der nachhaltigen Entwicklung geschäftskritischer Unternehmenssoftware. Die Sprache unterstützt Entwicklungsteams durch ausgereifte Werkzeuge und ermöglicht die effiziente Umsetzung komplexer Geschäftsanforderungen. Die breite Plattformunterstützung minimiert Abhängigkeiten und sichert langfristige Investitionen.

Der Einsatz von Java optimiert Entwicklungsprozesse durch robuste Sprachkonzepte und umfassende Framework-Unterstützung. Die strenge Typisierung reduziert Laufzeitfehler und verbessert die Code-Qualität. Die automatische Speicherverwaltung verhindert Memory-Leaks und vereinfacht die Entwicklung komplexer Anwendungen. Die reiche Bibliotheksunterstützung beschleunigt die Implementierung.

Die technische Integration basiert auf der Java Virtual Machine mit Just-in-Time-Compilation. Java unterstützt moderne Sprachfeatures wie Lambda-Ausdrücke und Modulsystem. Die Collections-Framework bietet optimierte Datenstrukturen. Die Threading-Unterstützung ermöglicht parallele Verarbeitung. Die Security-Architektur gewährleistet sichere Ausführung. Die Garbage Collection optimiert Speichernutzung. Die Annotations ermöglichen Metaprogrammierung.

Meine Beratungsleistung umfasst die Konzeption Java-basierter Architekturen und deren praktische Implementierung. Als erfahrener Entwickler unterstütze ich Teams bei der Migration von und zu Java und der Entwicklung wartbarer Enterprise-Anwendungen. Sun Microsystems hat mich im Jahr 2007 als Programmer for the Java 2 Platform, Standard Edition 2.0, und im Jahr 2008 als Business Component Developer for the Java Platform, Enterprise Edition 5, zertifiziert. Die Kombination aus Sprach-Expertise und Architektur-Erfahrung sichert nachhaltige Software-Systeme. Neben Java schätze ich als Programmiersprachen besonders auch Go, Swift, JavaScript und SQL.

Ausgereifte Java-Software-Bibliotheken erleichtern es, in kurzer Zeit hoch leistungsfähige Software zu entwickeln, die auf geschäftliche Datenbanken und andere Anwendungen zugreift, diese miteinander verknüpft und über das Internet zugänglich macht. Mit vielen dieser Java-Technologien habe ich langjährige Erfahrungen gesammelt und kann Ihnen bei der Entwicklung von Java-Softwareprojekten helfen:

AssertJ

AssertJ ist eine Java-Test-Bibliothek für aussagekräftige und wartbare Software-Tests. Die fluent API ermöglicht die präzise Überprüfung von Testergebnissen mit klarer Syntax und reduziert die technische Komplexität beim Schreiben von Unit- und Integrationstests. Die strategische Bedeutung von AssertJ zeigt sich in der Qualitätssicherung … Mehr

Eclipse

Eclipse ist eine weit verbreitete, kostenlose Entwicklungsumgebung (IDE) hauptsächlich für Java-Entwicklung, die durch ihr flexibles Plugin-System auch andere Programmiersprachen unterstützt. Sie bietet umfangreiche Tools für Code-Entwicklung, Debugging, Versionskontrolle und wird von der Eclipse Foundation als Open-Source-Projekt … Mehr

EJB

Enterprise JavaBeans sind standardisierte Server-Komponenten für die Entwicklung skalierbarer Geschäfts-Anwendungen. Sie bieten ein Framework für die Implementierung von Business-Logik in verteilten Java-Systemen mit integriertem Transaktions- und Sicherheits-Management. EJBs bilden ein zentrales Element der Java Enterprise Architektur … Mehr

Flexmark

Flexmark ist eine Java-Bibliothek zur Verarbeitung und Konvertierung von Markdown-Dokumenten. Sie ermöglicht die flexible Transformation von Markdown in HTML und andere Formate sowie die Erweiterung der Markdown-Syntax durch eigene Parsing-Regeln und Rendering-Optionen. Die strategische Bedeutung von Flexmark liegt in der professionellen … Mehr

Flyway

Flyway ist ein Database-Migration-Tool für die automatisierte und versionierte Verwaltung von Datenbank-Schemata. Das Tool ermöglicht die kontrollierte Evolution von Datenbanken durch SQL-Scripts und Java-basierte Migrationen in kontinuierlichen Deployment-Prozessen. Die strategische Bedeutung von Flyway zeigt sich in der sicheren … Mehr

FreeMarker

FreeMarker ist eine Template-Engine für die dynamische Generierung von Text-Ausgaben in Java-Anwendungen. Die Bibliothek ermöglicht die Trennung von Programmlogik und Layout durch eine ausdrucksstarke Template-Sprache. FreeMarker unterstützt die flexible Erstellung von HTML, E-Mail-Nachrichten und Dokumenten. Die strategische Bedeutung … Mehr

GlassFish

GlassFish ist ein Open-Source-Application-Server für die Ausführung von Java-Enterprise-Anwendungen. Der Server implementiert die Jakarta-EE-Spezifikation und stellt eine vollständige Laufzeitumgebung für geschäftskritische Java-Anwendungen mit integriertem Management bereit. Die strategische Bedeutung von GlassFish zeigt sich in der … Mehr

Gradle

Gradle ist ein Build-Automation-Tool, das hauptsächlich für Java- und Android-Projekte verwendet wird, aber auch andere Programmiersprachen unterstützt. Es bietet eine flexiblere Alternative zu Maven durch die Verwendung von Groovy- oder Kotlin-DSL statt XML-Konfiguration und zeichnet sich durch bessere Performance und inkrementelle … Mehr

Groovy

Groovy ist eine dynamische, objektorientierte Programmiersprache, die auf der Java Virtual Machine (JVM) ausgeführt wird und vollständig mit Java-Code kompatibel ist. Sie bietet eine vereinfachte Syntax gegenüber Java und wird häufig für Scripting, Build-Automatisierung, Testframeworks und Domain-Specific Languages eingesetzt. Mehr

Hamcrest

Hamcrest ist eine Matcher-Bibliothek für die Implementierung aussagekräftiger Software-Tests in Java. Die deklarative API ermöglicht die präzise Definition von Testbedingungen durch lesbare Ausdrücke und unterstützt die Entwicklung wartbarer Unit- und Integrationstests. Die strategische Bedeutung von Hamcrest liegt in der nachhaltigen … Mehr

Hibernate

Hibernate ist ein Object-Relational-Mapping-Framework für die Entwicklung datenbankbasierter Java-Anwendungen. Das Framework ermöglicht die transparente Persistierung von Java-Objekten in relationalen Datenbanken und abstrahiert die Komplexität der Datenbankzugriffe. Die strategische Bedeutung von Hibernate zeigt sich in der effizienten … Mehr

IntelliJ IDEA

IntelliJ IDEA ist eine professionelle integrierte Entwicklungsumgebung, die primär für Java-Entwicklung konzipiert wurde und auch andere Programmiersprachen wie Kotlin, Scala oder Python unterstützt. Die Software bietet erweiterte Code-Analyse, intelligente Code-Vervollständigung, automatisierte Refactoring-Tools und integrierte … Mehr

Jackson

Jackson ist eine Java-Bibliothek für die Serialisierung und Deserialisierung von strukturierten Daten, die Java-Objekte in verschiedene Datenformate wie JSON, XML, YAML oder CSV umwandelt und umgekehrt. Sie ermöglicht die einfache Datenkonvertierung zwischen Java-Anwendungen und verschiedenen APIs oder Systemen durch Annotationen und … Mehr

Jakarta EE

Die Jakarta Enterprise Edition (JEE, früher: Java Enterprise Edition) ist eine Spezifikation für die Entwicklung und den Betrieb von Enterprise-Anwendungen in Java. Der Standard definiert eine umfassende Sammlung von APIs und Diensten für die Implementierung skalierbarer Server-Anwendungen mit integriertem Transaktions- und … Mehr

Java EE

Java EE (Java Enterprise Edition) ist eine Plattform für die Entwicklung von skalierbaren, mehrschichtigen Enterprise-Anwendungen in Java. Sie bietet APIs und Services für Webservices, Dependency Injection, Persistierung und andere Unternehmensanforderungen und wurde später zu Jakarta EE weiterentwickelt. Mehr

JavaMail

JavaMail ist eine API für die Entwicklung von E-Mail-basierten Anwendungen in Java. Die Bibliothek ermöglicht den standardisierten Versand und Empfang von E-Mails über verschiedene Protokolle und unterstützt die Verarbeitung komplexer Mail-Formate. Die strategische Bedeutung von JavaMail liegt in der Integration von E-Mail-Kommunikation … Mehr

JAX-RS

JAX-RS (Java API for RESTful Web Services) ist eine Java-Spezifikation, die Annotationen und APIs für die Entwicklung von RESTful Web Services bereitstellt. Sie ermöglicht es Entwicklern, REST-Endpunkte durch Annotationen wie @Path, @GET und @POST zu definieren und wird von Implementierungen wie Jersey oder RESTEasy umgesetzt. Mehr

JDBC

JDBC ist eine Standard-Schnittstelle für den Datenbankzugriff in Java-Anwendungen. Die API ermöglicht die einheitliche Anbindung verschiedener relationaler Datenbanksysteme durch eine abstrakte Zugriffsschicht mit standardisierten Datenbank-Operationen. Die strategische Bedeutung von JDBC zeigt sich in der flexiblen Integration von … Mehr

Jersey

Jersey ist ein Framework für die Entwicklung von RESTful Web-Services in Java. Die Referenz-Implementierung der JAX-RS-Spezifikation ermöglicht die deklarative Definition von REST-Endpunkten und unterstützt die Entwicklung skalierbarer Web-APIs. Die strategische Bedeutung von Jersey zeigt sich in der standardkonformen Implementierung von … Mehr

JMS

JMS (Java Message Service) ist eine Java-API für asynchrone Nachrichtenkommunikation zwischen Anwendungen und Systemen. Sie ermöglicht das zuverlässige Senden und Empfangen von Nachrichten über Message Queues und Topics in verteilten Enterprise-Umgebungen. Mehr

JPA

Die Jakarta Persistence API (JPA) ist eine Spezifikation für die objektorientierte Persistierung von Java-Anwendungsdaten. Der Standard definiert ein Framework für das Object-Relational-Mapping zwischen Java-Klassen und relationalen Datenbanken mit transparenter Transaktionsverwaltung. Die strategische Bedeutung von JPA liegt in der … Mehr

JPQL

JPQL (Java Persistence Query Language) ist eine objektorientierte Abfragesprache für JPA-Entitäten, die ähnlich wie SQL strukturiert ist, aber anstatt auf Datenbanktabellen auf Java-Objekten und deren Attributen operiert. Sie ermöglicht plattformunabhängige Abfragen in Java-Anwendungen, da die Queries gegen das Objektmodell geschrieben … Mehr

JSP

Jakarta Server Pages (JSP, früher: JavaServer Pages) ist eine Template-Technologie für die Entwicklung dynamischer Web-Anwendungen in Java. Die Spezifikation ermöglicht die Trennung von Java-Code und HTML-Markup durch eine serverseitige Verarbeitung von Web-Seiten mit eingebetteten Java-Elementen. Die strategische Bedeutung von JSP zeigt … Mehr

JSTL

Die Jakarta Standard Tag Library (JSTL) ist eine Bibliothek von Tag-Funktionen für Java-Server-Pages. Sie bietet standardisierte Tags für häufige Aufgaben in Web-Anwendungen wie Iteration, Bedingungen und Formatierung und reduziert die Notwendigkeit von Java-Code in JSP-Seiten. Die strategische Bedeutung von JSTL liegt in der … Mehr

JTA

Die Jakarta Transaction API (JTA) ist eine Spezifikation für die Verwaltung verteilter Transaktionen in Java-Enterprise-Systemen. Der Standard definiert Schnittstellen für die koordinierte Ausführung mehrerer Transaktionen über verschiedene Ressourcen mit automatischem Commit und Rollback. Die strategische Bedeutung von JTA zeigt sich in … Mehr

JUnit

JUnit ist ein weit verbreitetes Unit-Testing-Framework für die Programmiersprache Java, das Entwicklern ermöglicht, automatisierte Tests für einzelne Code-Komponenten zu schreiben und auszuführen. Es bietet Annotationen, Assertions und Test-Runner zur systematischen Überprüfung der Code-Funktionalität und ist ein Standard-Tool für … Mehr

Lombok

Lombok ist eine Java-Bibliothek zur Reduzierung von Boilerplate-Code durch automatische Code-Generierung. Die Annotationen des Frameworks erzeugen zur Compile-Zeit standard-konforme Methoden für Getter, Setter, Builder und weitere häufig benötigte Code-Strukturen. Die strategische Bedeutung von Lombok zeigt sich in der effizienten … Mehr

Maven

Maven ist ein Build-Management-Tool für Java-Projekte, das die Automatisierung von Build-Prozessen, die Verwaltung von Abhängigkeiten und die Standardisierung von Projektstrukturen ermöglicht. Es verwendet eine XML-basierte Konfigurationsdatei (pom.xml) zur Definition von Projektinformationen, Abhängigkeiten und Build-Zyklen und ist ein … Mehr

MDB

Message Driven Beans (MDB) sind Container-verwaltete Komponenten für die asynchrone Nachrichtenverarbeitung in Java-Enterprise-Anwendungen. Das Framework ermöglicht die lose gekoppelte Integration von Systemen durch Message-Queues und Topics mit automatischer Transaktions- und Ressourcen-Verwaltung. Die strategische Bedeutung von Message … Mehr

Mockito

Mockito ist ein Framework für die Entwicklung von Unit-Tests mit simulierten Objekten in Java. Die Bibliothek ermöglicht die isolierte Überprüfung von Komponenten durch flexible Mock-Objekte und Verifikations-Mechanismen ohne aufwendige Test-Infrastruktur. Die strategische Bedeutung von Mockito zeigt sich in der effizienten … Mehr

NetBeans

NetBeans ist eine kostenlose, Open-Source-Entwicklungsumgebung (IDE) primär für Java-Entwicklung, die auch andere Programmiersprachen wie PHP, C++ und JavaScript unterstützt. Sie bietet einen integrierten Code-Editor, Debugger, Projektmanagement-Tools und wird von der Apache Software Foundation gepflegt. Mehr

OSGi

OSGi ist ein dynamisches Modulsystem für Java-Anwendungen mit Komponentenverwaltung zur Laufzeit. Das Framework ermöglicht die Entwicklung hochgradig modularer Software durch gekapselte Bundles mit expliziten Abhängigkeiten und Lifecycle-Management. Die strategische Bedeutung von OSGi zeigt sich in der flexiblen Entwicklung langlebiger … Mehr

Servlet

Servlet ist eine Java-Spezifikation für die Entwicklung Web-basierter Server-Komponenten. Der Standard definiert eine HTTP-Request-Verarbeitung durch Java-Klassen und ermöglicht die Implementierung skalierbarer Web-Anwendungen mit Session-Management und Container-Services. Die strategische Bedeutung von Servlets liegt in der … Mehr

Spring

Spring ist eine umfassende Entwicklungsplattform für Enterprise-Anwendungen in Java. Das Ökosystem bietet modulare Frameworks für die Implementierung skalierbarer Systeme mit Dependency Injection, Aspektorientierung, Datenzugriff, Sicherheit und Cloud-nativen Architekturen. Die strategische Bedeutung von Spring zeigt sich in der … Mehr

Struts

Apache Struts ist ein Web-Framework für die Entwicklung von Java-Enterprise-Anwendungen mit Model-View-Controller-Architektur. Das Framework ermöglicht die Implementierung strukturierter Web-Anwendungen durch Action-basierte Request-Verarbeitung und konfigurierbare View-Integration. Die strategische Bedeutung von Struts liegt in der … Mehr

Thymeleaf

Thymeleaf ist eine Template-Engine für die Entwicklung von Web-Anwendungen in Java. Die Bibliothek ermöglicht die Erstellung HTML-basierter Templates mit natürlicher Syntax und unterstützt die direkte Vorschau von Layouts ohne laufenden Server. Die strategische Bedeutung von Thymeleaf zeigt sich in der effizienten Entwicklung wartbarer … Mehr

Tiles

Tiles ist ein Template-Framework für die Entwicklung modularer Web-Layouts in Java-Anwendungen. Die Bibliothek ermöglicht die Definition wiederverwendbarer Layout-Strukturen durch kompositionelle Templates und unterstützt die konsistente Gestaltung von Web-Interfaces. Die strategische Bedeutung von Tiles liegt in der effizienten … Mehr

Tomcat

Tomcat ist ein Open-Source-Application-Server für die Ausführung von Java-Web-Anwendungen. Der Server implementiert die Jakarta-EE-Web-Profile-Spezifikation und bietet eine leichtgewichtige Laufzeitumgebung für Servlets, JSP und WebSocket-Anwendungen. Die strategische Bedeutung von Tomcat zeigt sich in der effizienten Bereitstellung von … Mehr

Xalan

Xalan ist eine XSLT-Prozessor-Bibliothek für die Transformation von XML-Dokumenten in Java-Anwendungen. Die Bibliothek ermöglicht die Verarbeitung von XML-Daten durch XSLT-Stylesheets und unterstützt die Generierung verschiedener Ausgabeformate wie HTML, Text und XML. Die strategische Bedeutung von Xalan liegt in der standardkonformen … Mehr

Xerces

Xerces ist eine XML-Parser-Bibliothek für die Verarbeitung und Validierung von XML-Dokumenten in Java. Die Bibliothek ermöglicht das standardkonforme Parsing von XML-Daten mit Unterstützung verschiedener Schema-Sprachen und bietet umfangreiche Validierungsfunktionen. Die strategische Bedeutung von Xerces zeigt sich in der zuverlässigen … Mehr

Java Projekte

Modernisierung und Migration von Anwendungen zu AWS und Kubernetes

Versicherungskonzern

04/2021 - 06/2023 · Remote

Modernisierung der vertrieblichen Anwendungen, Services und Datenbanken eines Versicherungskonzerns und Migration von eigenen Rechenzentren zu Amazon Web Services und Kubernetes

Tätigkeiten

  • Technische Beratung und Unterstützung bei der cloud-nativen Modernisierung von Java-Anwendungen und Datenbanken, bei ihrer Migration vom unternehmenseigenen Rechenzentrum in die Cloud sowie für den Betrieb in der Cloud
  • Unterstützung des Managements des Migrationsprojekts bei der Ausarbeitung von Migrationsstrategien und -plänen sowie bei der Koordination von mehr als 100 überwiegend technischen Projektbeteiligten aus den Teams für Entwicklung, Operations, IT Security und Datenschutz
  • Ermittlung und Dokumentation der im Rechenzentrum betriebenen Vertriebsanwendungen, ihren Schnittstellen und Datenflüssen durch Analyse der Dokumentation, des Infrastruktur- und Anwendungs-Codes sowie durch Befragung der Beteiligten
  • Ermittlung und Dokumentation der Anforderungen an den Betrieb der Vertriebsanwendungen in der Cloud, beispielsweise Hochverfügbarkeit, Backup & Restore, Observability, IT-Sicherheit, Datenschutz
  • Entwicklung eines Proof of Concepts für die Containerisierung und den Betrieb von Java-Anwendungen in Kubernetes sowie von Datenbanken in Amazon RDS in Zusammenarbeit mit dem Operations Team zur Ermittlung des technischen und organisatorischen Aufwands sowie zur Erkennung von Risiken
  • Technische Planung der Migration der vertrieblichen Anwendungsdaten aus einem Oracle Datenbanksystem zu Amazon RDS für PostgreSQL (relationale Daten) und Amazon S3 (binäre Daten) einschließlich Unterstützung bei der technischen Umsetzung
  • Technische Planung der Modernisierung der Authentifizierung und Autorisierung der Services der Anwendungen mittels Tokens, OIDC und OAuth 2.0 einschließlich Unterstützung bei der technischen Umsetzung
  • Beratung und Unterstützung von Anwendungsteams und Leitstand bei der organisatorischen und technischen Übernahme der Verantwortung für den Betrieb der Vertriebsanwendungen in der Cloud
  • Mitwirkung an der Dokumentation von Betriebskonzepten und Betriebshandbüchern sowie bei der Herbeiführung von Freigaben für den produktiven Betrieb in der Cloud
  • Erstellung von Ist- und Soll-Architektur-Dokumentationen und von zugehörigen Diagrammen in unterschiedlichen Detailgraden für verschiedene Zielgruppen und Zwecke

Software-Typ

Web-Anwendung · Backend-Service · API · Datenbank-Lösung

Zielplattformen

AWS · Amazon Web Services · Kubernetes

Identity & Access Management Consulting

Versicherungskonzern

07/2020 - 12/2020 · Köln, Remote

Strategische Beratung und technisches Coaching zur Standardisierung der Authentifizierungs- und Autorisierungsverfahren in einem internationalen Versicherungskonzern.

Tätigkeiten

  • Beratung des international besetzten IT Security Boards zur konzernweiten Standardisierung von Authentifizierung, Autorisierung und Single Sign-On
  • Umfassende Analyse und Dokumentation der heterogenen Authentifizierungsmethoden in 40 deutschen Anwendungen
  • Konkretisierung und Validierung der Zielarchitektur für die Integration von OpenID Connect, OAuth 2.0 und SAML
  • Erstellung eines Gesamtmigrationsplans mit transparenter Aufwandsschätzung für verschiedene IAM-Plattform-Szenarien
  • Aufbau einer Docker-basierten Evaluationsumgebung mit Keycloak und PostgreSQL für technische Validierung
  • Vertretung der lokalen Anforderungen in internationalen Strategie-Workshops zur Auswahl der IAM-Plattform
  • Umfassende Unterstützung des lokalen IT Security Teams durch Übernahme der konzernweiten Dokumentationsanforderungen und effizientes Management der internationalen Kommunikation
  • Technisches Coaching deutscher Entwicklungsteams bei der Integration von OIDC, OAuth 2.0 und Token-basierten Verfahren
  • Projektsprachen: Deutsch, Englisch

Software-Typ

Web-Anwendung · Backend-Service · API

Zielplattformen

Linux Server · Webbrowser

Entwicklung einer cloud-nativen Incentive-Anwendung mit AWS

Versicherungskonzern

07/2018 - 04/2019 · Remote

Entwicklung und Betrieb einer cloud-nativen Anwendung für die dezentrale unternehmensinterne Erfassung, zentrale Verwaltung und steuerliche Behandlung von vertrieblichen Incentives und geldwerten Vorteilen einschließlich CI/CD auf Basis von Kubernetes und Diensten in Amazon Web Services

Tätigkeiten

  • Planung und Einrichtung der Umgebungen für Entwicklung, Integration, Test, Schulung und Produktion auf Basis von Docker, Kubernetes und verschiedenen AWS-Diensten
  • Entwicklung der CI/CD-Pipelines für Frontend und Backend-Dienste
  • Erweiterung des API Gateways um Authentifizierung und Autorisierung auf Basis von Tokens
  • Mitwirkung an der Entwicklung der Geschäftslogik im Backend und der RESTful API einschließlich Test und Dokumentation
  • Mitwirkung an der Entwicklung des Datenmodells für die PostgreSQL-Datenbank
  • Mitwirkung an Planung und Entwicklung von Schnittstellen und Batch-Prozessen zum Austausch von Daten mit SAP Gateway, PostgreSQL, Redis und S3 mit Testdaten zum Zweck der lokalen Frontend- und Backend-Entwicklung
  • Dokumentation der Softwarearchitektur einschließlich Betrieb, Schnittstellen und Prozessen
  • Einarbeitung der Betriebsveranwortlichen bei der Übergabe der Anwendung in den dauerhaften Betrieb
  • Projektsprachen: Deutsch, Englisch

Software-Typ

Web-Anwendung · Backend-Service · API · Datenbank-Lösung

Zielplattformen

AWS · Amazon Web Services · Kubernetes · Webbrowser

Backend- und CMS-Entwicklung für Airline-Portal

Fluggesellschaft

01/2018 - 06/2018 · Köln

Serverseitige Entwicklung einer Webanwendung mit Integration von Produktkatalog, Adobe Experience Manager, externen Diensten und einer Internet Booking Engine.

Tätigkeiten

  • Serverseitige Entwicklung zur Abfrage, Aggregation, Integration, Verknüpfung und Ausgabe von Daten aus verschiedenen Systemen:
    • Produktinformationen aus einer Datenbank mit Flugplänen, Preisen, geografischen Informationen über Kontinente, Länder, Regionen, Orte und Flughäfen
    • Redaktionell gepflegte multimediale Inhalte mit ergänzenden Informationen aus Adobe Experience Manager
    • Ergänzende Produktdaten aus externen Quellen (z. B. Informationen über das Reisewetter)
    • Parametrisierter Einsprung in das Buchungssystem
  • Berücksichtigung und Unterstützung von Mehrsprachigkeit und Lokalisierung (Sprachen, Währungen, Zeiten)
  • Entwicklung eines Docker Images mit Reverse Proxy, Caching, Load Balancing zur Integration der Systeme

Software-Typ

Web-Anwendung · Backend-Service · API · Datenbank-Lösung

Zielplattformen

Linux Server · Webbrowser

Backend-Entwicklung für globales Event-Buchungssystem

Medizintechnikunternehmen

11/2017 - 12/2017 · Remote

Entwicklung einer Anwendung für die globale Vermarktung mehrsprachiger Veranstaltungen und Seminare mit Funktionen zur Buchungs- und Bestellabwicklung, zur Erzeugung und Versand von digitalen Eintrittskarten sowie zur Einlasskontrolle

Tätigkeiten

  • Entwicklung des Backends mit einer RESTful API zur Nutzung durch das Web-Frontend und eine mobile App einschließlich Integrationstests, Dokumentation und Coaching der Frontend- und App-Entwickler mit folgenden Funktionen
    • Abruf von umfangreichen Informationen über weltweit stattfindende Veranstaltungen inklusive Filterung, Sortierung, Lokalisierung, Mehrsprachigkeit, Zeitzonen
    • Buchung, Stornierung und Absage von Veranstaltungen
    • Erzeugung von personalisierten Eintrittskarten mit QR-Codes und Informationen zur gebuchten Veranstaltung als PDF-Dokumente und Pässe für Apple Wallet
    • Gültigkeitsprüfung und Entwertung der Eintrittskarten zwecks Einlasskontrolle bei den Veranstaltungen vor Ort
    • Ereignisbasierter Versand von personalisierten Nachrichten und Status-Updates per E-Mail, SMS und Apple Notifications
  • Implementierung von Authentifizierung und Autorisierung
  • Entwicklung von Teilen des Datenmodells in der PostgreSQL-Datenbank
  • Integration der Buchhaltung über Microsoft Dynamics Business Central (ehemals Navision)
  • Projektsprachen: Deutsch, Englisch

Software-Typ

Web-Anwendung · Backend-Service · API · Datenbank-Lösung

Zielplattformen

AWS · Amazon Web Services · iPhone · Webbrowser

Entwicklung und Betrieb einer mobilen App mit Backend

Dienstleistungen

10/2016 - 07/2021 · Köln

Entwicklung und Betrieb einer nativen mobilen App für iPhone und iPad zur Berechnung von Anwalts- und Gerichtskosten mit In-App-Käufen (Abonnements) mit einem mobilen Backend auf Basis von Swift, Java, PostgreSQL und REST

Tätigkeiten

  • Entwicklung einer mobilen App für iOS und iPadOS zur Unterstützung von Juristinnen und Juristen bei der Bewertung wirtschaftlicher Prozessrisiken
    • Spezialisierte Rechner zur schnellen und präzisen Berechnung von Anwalts- und Gerichtskosten nach dem deutschen Rechtsanwaltsvergütungsgesetz (RVG) und dem Gerichtskostengesetz (GKG)
    • Berechnung der Kosten von Mahn- und Klageverfahren über mehrere Instanzen im Arbeits- und Zivilrecht
    • Berechnung von Kosten für außergerichtlichen Verfahren im Arbeits- und Zivilrecht
    • Berechnung der Verteilung der Kosten auf die Parteien des Verfahrens und des Kostenrisikos für Mandanten
    • Berücksichtigung der kostenrechtlichen Unterschiede bei Beendigung des Klageverfahrens durch Urteil oder Vergleich
    • Berücksichtigung verschiedener Umsatzsteuersätze
    • Die App ermöglichte es den Anwendern, ein Premium-Abonnement abzuschließen.
  • Entwicklung eines skalierbaren, sicheren Backend-Systems für die mobile App
    • Verwaltung der Premium-Abonnements mit REST API zum Abruf durch die mobile App
    • Verwaltung von Werbeanzeigen mit REST API zum Abruf der geschalteten Anzeigen durch die mobile App
    • Authentifizierung und Autorisierung über OAuth 2.0
    • Integration mit dem App Store
    • CI/CD-Pipelines auf Basis von Jenkins, GitLab und Artifactory
  • Entwicklung einer Website mit Informationen über die mobile App

Software-Typ

Mobile App · Backend-Service · API · Datenbank-Lösung

Zielplattformen

iPhone · iPad · Linux Server · Webbrowser

Headless CMS, Continuous Deployment & Kubernetes

Dienstleistungen

01/2015 - 05/2018 · Köln

Entwicklung einer Web-Anwendung zur Content-Aggregation aus einem Headless CMS mit vollständiger CI/CD-Pipeline-Automatisierung über Jenkins, Docker und Kubernetes für kontinuierliches Software-Deployment.

Tätigkeiten

  • Konzeption und Implementierung einer Web-Anwendung zur Aggregation von Content (Texte, Bilder, Links) über REST API aus einem Headless CMS
  • Integration und Anreicherung von CMS-Content mit zusätzlichen Daten aus externen Datenquellen für eine einheitliche Website-Darstellung
  • Aufbau einer vollautomatisierten Continuous Integration, Delivery & Deployment Pipeline mit Jenkins, Bitbucket und Maven für optimierte Entwicklungsprozesse
  • Einrichtung einer Git-basierten Trigger-Mechanik für automatische Build- und Deployment-Prozesse bei Code-Commits
  • Migration der bestehenden VM-basierten Cloud-Infrastruktur zu einer containerisierten Kubernetes-Architektur im Jahr 2018
  • Implementierung einer containerisierten Deployment-Strategie mit Docker-Image-Erstellung und automatischem Upload in Docker Registry
  • Konfiguration und Betrieb von Kubernetes-Clustern für automatisierte Deployment-Prozesse auf Test-, Stage- und Produktionsumgebungen
  • Betrieb und Wartung der gesamten Infrastruktur mit kontinuierlicher Optimierung der Deployment-Pipeline für häufige Release-Zyklen
  • Integration von Security-Komponenten und TLS-Verschlüsselung für sichere Content-Auslieferung

Software-Typ

Web-Anwendung · API

Zielplattformen

Kubernetes · Hetzner Cloud

Entwicklung eines E-Commerce-Marktplatz-Moduls

Logistikkonzern

10/2010 - 03/2011 · Bonn

Entwicklung eines integrierten Softwaremoduls für den E-Commerce-Marktplatz eines globalen Logistik-Konzerns, das Händlern die automatisierte bidirektionale Synchronisation ihrer Produktkataloge, Warenbestände, Preise und Verkaufsprozesse mit dem cloud-basierten Verwaltungssystem Afterbuy ermöglicht.

Tätigkeiten

  • Automatisierte bidirektionale Synchronisation von Produktkatalogen, Preisen, Warenbeständen, Bestellungen, Versand- und Zahlungsinformationen sowie Stornierungen bei gleichzeitiger Gewährleistung von Datenkonsistenz
  • Benutzerschnittstelle und Werkzeuge zur Konfiguration und Überwachung der Synchronisation
  • Anforderungsanalyse (Business Manager, Online-Händler), Entwicklung (Konzeption und Implementierung), Dokumentation, Schulung der Test- und Support-Teams

Software-Typ

Web-Anwendung · Backend-Service · API · Datenbank-Lösung

Zielplattformen

Linux Server · Webbrowser

Java-Backend für TV-Produktionsplanung mit Echtzeit-Updates

Europäischer Medienkonzern

01/2008 - 07/2009 · Köln

Die konzipierte und entwickelte Anwendung ermöglicht den TV-Redaktionen eines europäischen Medienkonzerns eine standortübergreifende Planung der Produktion von Nachrichtensendungen und Beiträgen einschließlich Disposition der beauftragten Teams und Mitarbeiter sowie der Zuteilung von technischen Ressourcen in Echtzeit.

Tätigkeiten

  • Ermittlung und Dokumentation der Anforderungen in wöchentlichen Meetings mit Abteilungsleitern, Redakteuren und Projektleitern (u. a. Newsdesk)
  • Entwicklung des Java-Backends mit einer API für das Web Frontend
  • Modellierung und Entwicklung des umfangreichen Datenmodells für TV-Sendungen, Beiträge, Nachrichten, Produktionsteams, Mitarbeiter, Arbeitszeit- und Belegungspläne, Niederlassungen, technische Ressourcen, Fahrzeuge, Außeneinsätze, Standorte, Benutzer, Gruppen und Rechte
  • Entwicklung der serverseitigen Geschäftslogik zum Abrufen, Bearbeiten, Speichern und Verknüpfen von Daten durch eine Vielzahl von Anwendern
  • Entwicklung von Such-, Filter- und Softierfunktionen über den Datenbestand
  • Planung und Implementierung einer ereignisgesteuerte Architektur zur Benachrichtigung von Anwendern, um die Anzeige der Daten auf den Bildschirmen aller Anwender in Sekundenbruchteilen aktualisieren zu können
  • Entwicklung eines Batch-Prozesses zum automatisierten Import neuer E-Mail-Nachrichten mit Nachrichtenangeboten einschließlich Anhängen (z. B. Bilder, Word-Dokumente, PDF-Dateien) aus Microsoft Exchange in das Backend zum Zweck der weiteren redaktionellen Verarbeitung durch die Anwender
  • Authentifizierung der Anwender durch Integration der vorhandenen Microsoft Systeme
  • Autorisierung der Anwender auf Basis eines in der Anwendung konfigurierbaren Rollen- und Berechtigungskonzepts, das die Anwender entsprechend ihren beruflichen Funktionen nur auf die für sie freigegebenen Teilmengen der Daten zugreifen lässt

Software-Typ

Backend-Service · API · Datenbank-Lösung

Zielplattformen

Windows Server · Webbrowser

Reiseportal mit Produktkatalog und Buchungssystem

Touristikkonzern

11/2006 - 10/2007 · Köln

Entwicklung einer vollständigen serverseitigen Web-Anwendung mit Multi-Produkt-Katalog, komplexer Buchungslogik und Internet Booking Engine (IBE) für ein Reiseportal eines europäischen Touristikkonzerns mit Integration von drei externen Softwaresystemen.

Tätigkeiten

  • Konzeption und Entwicklung der kompletten serverseitigen Java-Anwendung für Produktkatalog und Buchungssystem
  • Implementierung eines Multi-Produkt-Katalogs mit erweiterten Such-, Filter- und Sortierfunktionen für verschiedene Reisearten
  • Entwicklung eines vollständigen Warenkorb- und Buchungssystems mit Session-Management und komplexer Transaktionsverarbeitung
  • Implementierung einer Zimmerbelegungsmatrix zur flexiblen Verteilung von Reisenden (Erwachsene, Kinder) auf verfügbare Zimmer mit Echtzeitanzeige freier Kapazitäten
  • Entwicklung von Upselling-Funktionen innerhalb der Buchungsstrecke für Zusatzleistungen wie Versicherungen und Extras
  • Integration und Aggregation von Produktdaten für Pauschalreisen, Hotels und Flüge über proprietäre Web Services mit stark parametrisierten Endpunkten
  • Entwicklung der Geschäftslogik zur einheitlichen Verarbeitung verschiedener Produkttypen über generische, konfigurierbare Service-Aufrufe
  • Implementierung komplexer Parametrisierungslogik für die dynamische Ansteuerung der Web Service-Endpunkte je nach Produktart und Suchanfrage
  • Entwicklung der Geschäftslogik zur kombinierten Darstellung von Preisen, Bildern und Beschreibungen von touristischen Angeboten
  • Integration und Darstellung von Kundenbewertungen und Bewertungssystemen
  • Anbindung an vorhandene Backend-Server mit Produktdaten und bestehende Booking Engine über Web Services
  • Integration eines vorhandenen Content Management Systems für redaktionelle Inhalte ohne Verwendung als Anwendungsplattform
  • Implementierung interaktiver JavaScript-Funktionen für eine responsive Benutzerführung mit Ajax-Technologie
  • Entwicklung eines Systems zur dynamischen Generierung und Auslieferung von Werbebannern mit kombinierten Produktdaten aus verschiedenen Quellen
  • Datenbankdesign und -implementierung in PostgreSQL für die Werbebanner-Logik mit Verknüpfung von HTML-Vorlagen aus dem CMS und Produktdaten
  • Implementierung der Banner-Generierung durch Kombination von HTML-Vorlagen aus dem Content Management System mit aktuellen Preisen und Verfügbarkeitsdaten aus dem Produktkatalog
  • Entwicklung automatisierter Tests mit Selenium für die Qualitätssicherung der komplexen Buchungsprozesse

Software-Typ

Web-Anwendung · Backend-Service · API · Datenbank-Lösung

Zielplattformen

Linux Server · Webbrowser

Technologien

Java · Spring · Hibernate · Struts · Tiles · Web Services · SOAP · XML · Tomcat · PostgreSQL · SQL · Datenmodellierung · HTML · JavaScript · Selenium · Jira

Entwicklung einer Rechtsdatenbank für Arbeits- und Sozialrecht

Juristischer Fachverlag

03/2003 - 05/2006 · Remote

Entwicklung einer Web-Anwendung und Datenbank mit mehreren Tausend gerichtlichen Entscheidungen, einem umfangreiches Referenzenverzeichnis und einem Veranstaltungskalender zum Arbeits- und Sozialrecht

Tätigkeiten

  • Entwicklung einer Web-Anwendung mit Backend und Datenbank zur Verwaltung von Gerichtsentscheidungen
    • Verwaltung der Gerichtsentscheidung in einem medienneutralen Datenformat
    • Transformation und Ausgabe der Entscheidungen in den Formaten HTML, PDF und Plain Text.
    • Suche über hierarchisch gegliederte Kategorien, Titel, Gerichtsorte, Aktenzeichen und Volltexte
    • Versand von Entscheidungen als E-Mail-Nachrichten
    • Web-Benutzerschnittstelle zur Pflege der Entscheidungen und Kategorien
    • Schnittstelle zum Import von Gerichtsentscheidungen im OpenOffice-Format
  • Entwicklung einer Web-Anwendung mit Backend und Datenbank zur Verwaltung juristischer Referenzen
    • Ausgabe als Verzeichnis von juristischen Referenzen mit Titel, Kategorien, Beschreibungen, Bewertungen und Links auf Websites mit juristischen Inhalten.
    • Schnittstelle zum Import von juristischen Referenzen aus einer Desktop-Anwendung
  • Entwicklung einer Web-Anwendung mit Backend und Datenbank zur Verwaltung von juristischen Veranstaltungen
    • Ausgabe als Veranstaltungskalender mit verschiedenen Ansichten, Filtern und Suchfunktionen über die Datenbank mit juristischen Terminen und Veranstaltungen.
    • Web-Benutzerschnittstelle zur Pflege der Veranstaltungsdaten.
  • Entwicklung einer Desktop-Anwendung für Windows zum Upload der juristischen Referenzen
    • Import der Referenzen aus einer kommerziellen Anwendung über deren proprietäre Schnittstelle
    • Upload der Referenzen zum Backend der oben genanten Web-Anwendung
  • Integration der Benutzerschnittstellen der Web-Anwendungen mit unterschiedlichen Layouts in verschiedene Websites

Software-Typ

Web-Anwendung · Backend-Service · API · Datenbank-Lösung · Desktop-Anwendung

Zielplattformen

Linux Server · Webbrowser

Technologien

Java · Spring · Hibernate · Xalan · Xerces · Struts · FreeMarker · Web Services · SOAP · PostgreSQL · SQL · Datenmodellierung · Tomcat · XML · XSLT · XSL-FO · PDF · HTML · CSS · JavaScript · C#

Mitgliederportal mit Forum und CRM-Integration

Juristischer Verein

01/2002 - 02/2002 · Remote

Entwicklung eines webbasierten Mitgliederportals für einen juristischen Verein mit ca. 2.000 Mitgliedern, integriertem Diskussionsforum und automatisierter Synchronisation der Mitgliederdaten mit dem vorhandenen CRM-System.

Tätigkeiten

  • Anforderungsanalyse und fachliche Konzeption des Mitgliederportals in Zusammenarbeit mit den Vereinsverantwortlichen
  • Entwicklung eines öffentlich zugänglichen Mitgliederverzeichnisses mit erweiterten Such- und Filterfunktionen nach Fachgebieten, Standorten und Qualifikationen
  • Implementierung einer Self-Service-Registrierung für Vereinsmitglieder mit automatisierter Validierung und Freischaltung
  • Entwicklung und Implementierung einer sicheren formularbasierten Authentifizierung mit Passwort-Verschlüsselung und Session-Management
  • Entwicklung eines moderierten Diskussionsforums mit thematischen Kategorien und differenzierten Benutzerrechten
  • Konzeption und Umsetzung des skalierbaren Datenmodells für Mitgliederdaten, Benutzerverwaltung und Forum-Inhalte in PostgreSQL
  • Implementierung einer Synchronisation der Mitgliederstammdaten mit dem vorhandenen Access-basierten CRM-System
  • Entwicklung einer webbasierten Administrationsoberfläche für die Moderation des Forums und die Verwaltung von Benutzern und Berechtigungen
  • Implementierung eines rollenbasierten Autorisierungskonzepts mit unterschiedlichen Zugriffsrechten für Mitglieder, Moderatoren und Administratoren

Software-Typ

Web-Anwendung · Backend-Service · API · Datenbank-Lösung

Zielplattformen

Linux Server · Webbrowser

Mandantenfähige Web-Anwendung für Anwalts- und Gerichtskosten

Informationsdienstleistungen, Fachverlag

10/2001 - 12/2001, 04/2004 - 08/2004, 07/2013 - 09/2013, 10/2014 - 11/2014 · Remote

Konzeption und Entwicklung einer mandantenfähigen Web-Anwendung zur Berechnung von Anwalts- und Gerichtskosten entsprechend den in Deutschland geltenden rechtlichen Vorschriften.

Tätigkeiten

  • Fachliche und technische Konzeption der juristischen Software
  • Entwicklung der Benutzerschnittstelle
  • Entwicklung des Backends und der Datenbank
  • Entwicklung der Mandantenfähigkeit
  • Implementierung, Integration, Dokumentation, Beratung, Schulung

Software-Typ

Web-Anwendung · Backend-Service · Datenbank-Lösung

Technologien

Java · Spring · Hibernate · JUnit · Maven · SQL · PostgreSQL · XML · HTML · jQuery · JavaScript · Tomcat · Git · Redmine

Anwaltsverzeichnis mit Kundenportal und CRM-Integration

Informationsdienstleistungen, Fachverlag

09/2001 - 05/2006 · Remote

Konzeption und Entwicklung einer umfassenden Online-Plattform für Anwälte und Rechtsuchende mit Anwaltsverzeichnis, Kundenportal, E-Mail-Newsletter und juristischen Kostenrechnern.

Tätigkeiten

  • Konzeption und Entwicklung eines öffentlich zugänglichen Anwaltsverzeichnisses mit mehr als 110.000 Einträgen
  • Entwicklung einer skalierbaren Datenbank und eines Datenmodells mit Kontaktdaten, Qualifikationen, Spezialisierungen, Fremdsprachen und Zulassungen
  • Entwicklung ausgefeilter Suchalgorithmen mit Rotationsprinzip zur fairen Verteilung der Sichtbarkeit
  • Integration von Map- und Routing-Diensten von Drittanbietern mit interaktiver Kartensuche
  • Entwicklung eines Glossar-Moduls zur kontextuellen Anzeige juristischer Fachbegriffe innerhalb der Suchergebnisse
  • Implementierung einer automatisierten Synchronisation von Daten mit dem vorhandenen Oracle-basierten Kundenverwaltungssystem
  • Konzeption und Entwicklung eines personalisierten Kundenportals für registrierte Anwältinnen und Anwälte mit Self-Service-Funktionen
  • Implementierung einer Erfolgsmessung mit detaillierten Berichten über Profilaufrufe und Kontaktanfragen
  • Integration einer Foren-Software für den fachlichen Austausch zwischen Kolleginnen und Kollegen
  • Integration eines umfassenden Behörden- und Gerichtsverzeichnisses mit Kontaktdaten und Zuständigkeiten
  • Integration einer Datenbank mit Gerichtsentscheidungen für Recherchezwecke
  • Entwicklung und Implementierung eines Single Sign-On-Systems für interne und externe Dienste
  • Konzeption und Entwicklung eines E-Mail-Newsletter-Systems mit Abonnentenverwaltung, Double Opt-In und automatisierter Segmentierung
  • Versand von personalisierten Inhalten an verschiedene Zielgruppen per SMTP unter Berücksichtigung aller datenschutzrechtlichen Vorgaben
  • Konzeption und Entwicklung von juristischen Kostenrechnern für mehrere Websites im Bereich Recht und Finanzen
  • Integration mit dem vorhandenen Content Management System zur Aggregation und Personalisierung von Inhalten
  • Entwicklung einer administrativen Benutzeroberfläche für Mitarbeiter zur grafischen Darstellung statistischer Berichte und zur Konfiguration der Anwendungen
  • Kontinuierliche Modernisierung der Architektur und Anpassung der Funktionen an geänderte Rechtsvorschriften
  • Regelmäßige Code-Updates bei umfangreichen Änderungen an Struktur und Design der Website

Software-Typ

Web-Anwendung · Backend-Service · Datenbank-Lösung

Zielplattformen

Linux Server · Webbrowser