Serviceorientierte Architektur

Eine Serviceorientierte Architektur (SOA) ist ein Architekturmuster, das eine flexible IT-Landschaft durch die Bereitstellung von unabhängigen, wiederverwendbaren Diensten ermöglicht, die über standardisierte Schnittstellen kommunizieren.

SOA ermöglicht Unternehmen, ihre IT-Landschaft flexibler und skalierbarer zu gestalten. Sie fördert die Wiederverwendbarkeit von Komponenten, erleichtert die Integration unterschiedlicher Systeme und unterstützt eine schnelle Anpassung an sich ändernde Geschäftsanforderungen.

Durch die konsequente Umsetzung einer SOA können Unternehmen ihre Geschäftsprozesse flexibler gestalten und schneller auf Marktanforderungen reagieren. Die lose Kopplung der Services reduziert Abhängigkeiten zwischen Systemkomponenten und ermöglicht eine schrittweise Modernisierung der IT-Landschaft. Die Wiederverwendung existierender Services beschleunigt die Entwicklung neuer Anwendungen und reduziert Entwicklungskosten sowie technische Redundanzen.

SOA basiert auf Standards wie SOAP oder REST für die Kommunikation zwischen Services. Die Verwendung eines Enterprise Service Bus ermöglicht die zentrale Integration und Orchestrierung von Services. Die Definition von Service-Verträgen gewährleistet stabile Schnittstellen und erleichtert das Versionsmanagement. Die Implementierung von Governance-Strukturen sichert die konsistente Entwicklung und den Betrieb der Services. Die Integration von Sicherheitsstandards und Monitoring-Werkzeugen gewährleistet einen zuverlässigen Betrieb. Die serviceorientierte Architektur lässt sich gut mit Microservices und Cloud-Computing kombinieren.

Serviceorientierte Architektur 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

E-Commerce Backend mit REST API und CI/CD

Versandhandel

08/2020 - 03/2021 · Remote

Entwicklung eines E-Commerce Backends mit REST API zur Integration eines Online-Shops mit externen Anwendungen und Diensten

Tätigkeiten

  • Planung und Implementierung des Backends und der REST API auf Basis von Go
  • Authentifizierung über Identity-Aware Proxy für sicheren, kontrollierten und performanten Zugriff
  • Integration einer vorhandenen Datenbank mit Kunden-, Produkt- und Bestelldaten
  • Entwicklung einer CI/CD-Pipeline zur Automatisierung von Build, Test und Deployment in verschiedene Umgebungen
  • Entwicklung eines Werkzeugs zur Anonymisierung produktiver Kunden- und Adressdaten und zur Bereitstellung der Daten in verschiedenen Umgebungen

Software-Typ

API · Backend-Service · Datenbank-Lösung

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

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