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ösungTechnologien
Java · Spring · Go · SQL · Oracle · PostgreSQL · Redis · OpenID Connect · OIDC · OAuth 2.0 · Helm · Docker · Terraform · Ansible · GitLab · Nexus · SonarQube · Amazon S3 · Amazon RDS · AWS IAM · Amazon EKS · Elastic Load Balancing · Jira · Confluence · Cloud · DevOps · Serviceorientierte Architektur · Identity-Aware ProxyE-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ösungZielplattformen
AWS · Amazon Web Services · Linux Server · Hetzner CloudTechnologien
Go · REST · JSON · JWT · OpenID Connect · OIDC · OAuth 2.0 · MySQL · CI/CD · GitHub Actions · Bash · Serviceorientierte Architektur · Backend for Frontend · Identity-Aware Proxy · Reverse ProxyEntwicklung 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ösungTechnologien
Java · Spring · PostgreSQL · SQL · Redis · Docker · REST · SAML · Single Sign-On · SSO · JWT · JSON · CSV · Spring Boot · Spring Framework · Spring MVC · Spring Security · Spring Session · Spring Batch · Spring Data · Spring Data JPA · Spring Data REST · Spring REST Docs · Spring Testing · Spring Actuator · Spring Cloud · Spring Cloud Netflix · Spring Cloud Gateway · Spring WebFlux · Thymeleaf · JPA · JPQL · Hibernate · JavaMail · Jackson · Lombok · JUnit · AssertJ · Mockito · CI/CD · Jenkins · Groovy · Maven · SonarQube · Flyway · Nexus · Bash · GitHub · Amazon S3 · Amazon RDS · Amazon ElastiCache · Amazon Route 53 · Amazon SES · AWS Certificate Manager · Elastic Load Balancing · Nginx · HTML · JavaScript · Node.js · Npm · Kubectl · Jira · Confluence · Mac · IntelliJ IDEA · Domain-driven Design · Datenmodellierung · Serviceorientierte Architektur · API-Gateway · Backend for Frontend · Load Balancing · Microservices · Service-Discovery · Authentifizierung · Autorisierung · E-Mail · CloudBackend- 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ösungTechnologien
Java · OSGi · REST · MS SQL Server · JUnit · Mockito · AssertJ · Maven · JSON · Docker · Apache HTTP Server · Caching · Load Balancing · Reverse Proxy · Bash · Mercurial · Adobe Experience Manager (AEM) · Jira · Confluence · Mac · Serviceorientierte Architektur · Backend for FrontendBackend-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ösungTechnologien
Java · Spring Boot · Spring Data · Spring Security · Spring REST Docs · Flyway · PostgreSQL · Datenmodellierung · REST · OAuth 2.0 · JWT · PDF · Apple Wallet & PassKit · Apple Push Notifications · E-Mail · SMS · Gradle · Bitbucket · Jira · Confluence · Mac · Docker · Serviceorientierte Architektur · Backend for Frontend · MicroservicesEntwicklung 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ösungTechnologien
Swift · Java · Spring · REST · JSON · OAuth 2.0 · JWT · SQL · PostgreSQL · Datenmodellierung · HTML · CSS · Spring Boot · Spring Data · Spring Data JPA · Spring Data REST · Spring REST Docs · Spring Security · Thymeleaf · Hibernate · Flexmark · Tomcat · Maven · Jenkins · Groovy · Artifactory · Flyway · Bash · GitLab · StoreKit · Xcode · TestFlight · App Store Connect · JUnit · Mockito · Hamcrest · Nginx · Git · Redmine · IntelliJ IDEA · Mac · Serviceorientierte Architektur · Backend for Frontend · CI/CDHeadless 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 · APITechnologien
Java · Spring Boot · Spring Security · Thymeleaf · Prismic · Maven · Bitbucket · Jenkins · Docker · Docker Hub · Nginx · Linux Server · REST · Git · Caching · Reverse Proxy · Serviceorientierte Architektur · Backend for Frontend · CI/CDEntwicklung 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ösungTechnologien
Java · JAX-RS · Jersey · REST · XML · Afterbuy · SAP Commerce Cloud (ehemals Hybris) · Oracle · Datenmodellierung · HTML · CSS · Subversion · Jira · Confluence · Mac · Serviceorientierte Architektur · Domain-driven DesignJava-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ösungTechnologien
Java · Java EE · EJB · MDB · JMS · JPA · Hibernate · JTA · JDBC · JavaMail · GlassFish · MS SQL Server · Active Directory · LDAP · Datenmodellierung · Web Services · SOAP · UML · PowerDesigner · Enterprise Architect · NetBeans · Eclipse · Subversion · SharePoint · Mac · Backend for Frontend · Event-Driven Architecture · Serviceorientierte ArchitekturAnwaltsverzeichnis 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ösungTechnologien
Java · Spring · Hibernate · PostgreSQL · Oracle · SQL · Datenmodellierung · Maven · HTML · CSS · JavaScript · XML · XML-RPC · JUnit · Servlet · JSP · FreeMarker · Struts · JDBC · Tomcat · Eclipse · Content Management · E-Mail · Authentifizierung · Autorisierung · Single Sign-On · Serviceorientierte Architektur · Domain-driven Design