- Weiterentwicklung von REST-Services
- Fehleranalyse Performanz / Startup / Deployment
- Erstellung Lasttests
- OAuth2 Anbindung
Das Kundensystem ist bei Lastspitzen mehrfach an die Grenzen gekommen. Da unbekannt war, was die Ursachen für die Probleme waren, mussten Analysen durchgeführt werden, inkl der Entwicklung passender Lasttests, da nur sehr wenig Daten aus der produktiven Umgebung zur Verfügung standen.
Aufgaben
Der Kunden-Selfservice-Bereich eines multinationalen Online-Shops wird als Vertikale neu entwickelt. Mit Spring-Boot-Backend und Vue.js-Frontend betrieben auf einen Kubernetes-Cluster in AWS.
Aufgaben:
Bei dem Projekt sollte eine konzernweite Distribution von Bildern und anderen Assets (Anleitungen, 3D-Modellen,...) für die Ausspielung im Internet geschaffen werden.
Das ganze System soll bei AWS in der Cloud laufen und Assets aus unterschiedlichen Quellen annehmen und in unterschiedlichen Formaten bereitstellen. Es wurde (akzeptanz-)testgetrieben entwickelt und mit einer CI/CD-Pipeline deployed.
Unterstützung in folgenden Bereichen
- Anbindung Langzeitarchiv
- Anpassungen der Schnittstellen für DE-Mail
- Monitoring
- Aufbau Lasttestumgebung und Performanz-Analysen
Dieses wurde auf Basis der im Vorfeld (bis 2019-06) implementierten Tests auf Basis von Cucumber mit Pact und Testcontainers umgesetzt.
- Änderungen bei Zahlungsdienstleisterinbindung (PSD2)
- Bugfixes und Performance-Anpssungen
- Anpassungen der Nutzerführung
- Einbindungen Kartendienstleister
Implementierung einer Open-ID-Connect-Serverschnittstelle. Migration der Daten aus der Vorversion. Anpassung und Erfweiterung in der Oberflächen. Testautomatisierung.
Weiterentwicklung von Systemen zur Auftragserfassung und Bearbeitung, sowie zur Übernahme aus anderen Eingangskanälen.
Weiterentwicklung des Bereichs für Individualprodukte für Geschäftskunden innerhalb des CRMs unter Einbindung der Umsysteme.
JpaSecurity ermöglicht es, den Querschnittaspekt der Datensicherheit und -filterung aus dem Anwendugscode herauszuhalten und „innerhalb“ der JPA-Schicht und der Datenbank deklarativ zu erledigen.
http://jpasecurity.sourceforge.net
Aufgaben
Performance-Optimierungen
Erweiterung der unterstützten Sprachfeatures
Bugfixes
Migration einer bestehenden Systemlandschaft CRM auf eine andere im Unternehmen vorhandene.
Aufgaben
Migration einer bestehenden Systemlandschaft CRM auf eine andere im Unternehmen vorhandene.
Aufgaben
Entwurf, Umsetzung und Weiterentwicklung der Systemarchitektur
Entwicklung des Datentransportwerkzeuges
Beratung Migrationsvorgehen
Unterstützung Testvorgehen
Prozessberatung (SCRUM / Kanban), Scrum Master
Performance-Optimierungen
Entwicklung einer neuen Plattform, die langfristig konzernweit eingesetzt werden soll.
Entwicklung einer neuen CRM-Lösung inkl. eines Customer-Self-Service-Aspektes auf der neuen Plattform.
Aufgaben
Weiterentwicklung der Systemarchitektur in Richtung DevOps und TDD
Unterstützung bei der SCRUM - Einführung und Weiterentwicklung des Entwicklungsprozesses
Entwicklung einer eingebundenen UI-Testautomatisierung
Beratung und Coaching von (Fach-)Architekten
Performance und Speicheranalyse
Analyse von Infrastrukturproblemen
JSF 2.0 - Migration
1. Unterstützung und Anleitung der Entwicker in den Fachteams bei der Entwicklung einer neuen CRM-Lösung.
2. Weiterentwicklung der Plattform.
Aufgaben
Weiterentwicklung der Systemarchitektur
Beratung und Coaching von (Fach-)Architekten
Abbildung Facharchitektur auf System-Architektur
Performance und Speicheranalyse
Analyse von Infrastruktur-Problemen
Kommunikation von Entwicklungsaspekten auf Projektleitungs- und Geschäftsführungsebene
Entwicklung einer neuen Plattform, die langfristig konzernweit eingesetzt werden soll.
Aufgaben
Entwurf und Umsetzung der Systemarchitektur
Beratung und Coaching von (Fach-)Architekten
Analyse von Infrastrukturproblemen
Bei dieser Importeurslösung handelt es sich um eine Webanwendung auf JSF-Basis, mit der Importeure in über 100 Ländern Fahrzeuge für ihr Gebiet ordern und an Händler weitergeben können.
Aufgaben
Umsetzung von Eingabedialogen
Datenbankanbindung
Technische Teilprojektleitung und Coaching der Teammitglieder
Anpassung und Weiterentwicklung des prototypischen Systemdesigns
Umsetzung von Querschnittsthemen im Bereich der Architektur, des Seitenlayouts und des Buildsystems
Implementierung eigener JSF-Komponenten
Weiterentwicklung des CSS-Layouts
Experte im Bereich Hibernate
Performanzmessungen und -optimierung
Coaching anderer Teammitglieder
Aufwandsschätzung
Weitere Optimierung und Anpassung an die neu hinzugekommenen Anforderungen. 3. Teil des Projektes, weitere Beschreibung siehe weiter unten.
Aufgaben
Analyse und Tuning einer Import- und Export-Anwendung in Bezug auf Speicherbedarf und Performance
Erstellung und Umsetzung eines Konzeptes für die Behandlung von mehrteiligen Importen
Überprüfung und Verbesserung des Transaktionssteuerung
Aufwandsschätzung
Entwicklung von Diensten innerhalb eines mandantenfähigen Zeitungsportals.
Aufgaben
Betreuung und Umsetzung der Basisarchitektur
Releasemanagement und Basisinfrastruktur
Entwicklung
Single Sign-on
Newsletter
Generisches Formular mit Datenbank-Anbindung und Email-Service mit Velocity
Anzeige der „Meist gelesenen Artikel“
Planung, Installation und Management eines SCM- und Buildsystems für die Entwicklung eines Zeitungsportals und weiterer Webanwendungen, inklusive der Betreuung der Testumgebungen.
Aufgaben
Planung des SCM
Erstellung von Maven-Projekten
Code-Überwachung
Installation und Administration folgender Dienste
Subversion
Cruisecontrol
Artifactory
Erstellung von Installtionsskripten
Konfiguration des Tomcat-Testsystems
Suche nach Speicherlöchern
Neuentwicklung einer mandantenfähigen Terminabstimmungsplattform auf JSF-Basis.
Aufgaben
Die Kommunikationsschicht ist die Eingabe- und Ausgabeschnittstelle der zentralen Unternehmensanwendung.
Ende 2007 wurden etwa 700 unterschiedliche Eingabe- und 180 Ausgabe-Dateitypen unterstützt. Das Mapping kann von Fachanwenderseite angepasst werden.
Aufgaben
Austausch der Carnot-Processengine durch eine eigene Prozesssteuerung
Verbesserung der Performance (Multithreading, Partitionierung)
Erstellung eines Testwerkzeuges zum vergleichenden Test kompletter Eingabe- bzw. Ausgabe-Batchläufe
Nach einer automatisierten UDS zu Java Migration mussten einige konzeptionelle Schwachstellen im migrierten Code beseitigt werden.
Das Hauptaugenmerk lag dabei auf der Anpassung der Synchronisationspunkte und Vereinheitlichung der Architektur. Als weiterer Aspekt wurden Möglichkeiten zur Performanz-Steigerung analysiert.
Aufgaben
Analyse und Korrektur der Synchronisationspunkte
Vereinheitlichung des Initialisierungsprozesses
Performanzoptimierung
Im Rahmen der automatisierten UDS zu Java-Migration der zentralen Anwendung musste sichergestellt werden, dass die Batch-Verarbeitung nach der Migration identische Ergebnisse liefert sowie den Zeitrahmen einhält.
Im ersten Schritt wurde die Lauffähigkeit jedes einzelnen Batches getestet.
Im zweiten Schritt fand ein Vergleich auf Datenbankebene statt. In beiden Schritten sollten Fehler, die durch die Migration entstanden sind, möglichst weit eingegrenzt und behoben werden.
Als besonders interessant erwiesen sich die große Codebasis (mehrere Millionen LOC) und die Effekte, die durch die semantischen Unterschiede der beiden Sprachen entstanden sind.
Aufgaben
Debugging
Fehleranalyse
Erstellung und testweise Umsetzung von Lösungsstrategien
Die Kommunikationsschicht stellt die Eingabe- und Ausgabeschnittstelle der zentralen Anwendung dar.
Ziel der Kommunikationsschicht ist es, Eingabe und Ausgabeschnittstellen für alle Mandanten (mehrere Hundert) zur Verfügung zu stellen. Dabei sollen die Dateien in ein generisches Zwischenformat in eine Datenbank "gemapped"
werden, damit möglichst wenig Mandantenspezifika in das Hauptsystem gelangen, da dieses während einer Migration für ca. 4-6 Monate nicht angepasst werden kann.
Dazu wurde ein batchgetriebenes System entwickelt, welches pro Dateiformat eine Konfiguration benötigt, in der die Transformationen beschrieben sind.
Die Applikation besteht aus kleinen Einheiten (Actions), die bestimmte Verarbeitungsschritte ausführen und durch die Processengine Carnot angesteuert werden.
Teile der Konfiguration (Ausgabeplanung) wurden im Hauptsystem umgesetzt. Die dafür notwendigen Dialoge wurden in UDS/Tool programmiert.
Aufgaben
Entwurf und Entwicklung des Ausgabe-Prozesses
Anbindung eines Scoringanbieters
UDS Dialoge für Ausgabekonfiguration im Hauptsystem
Bei dem "Generic Photoshop" handelt es sich um den ersten, vollständig "inhouse" entwickelten Internet-Shop von CeWe Color. Dieser musste mandantenfähig und lokalisierbar sein, da CeWe Color mit unterschiedlichen Händlern beim Vertrieb zusammenarbeitet (z.B. den Drogerieketten DM und Müller). Von zentraler Bedeutung war, dass unterschiedliche Einstiegspunkte angebunden werden können, da das System konkret in zwei Plattformen eingebunden werden und eine weitere in den nächsten Monaten folgen sollte.
Aufgaben
Architektur
Entwicklung eines Durchstiches
Grundlayout
Coaching der anderen Teammitglieder
Erfahrungen
Software Entwicklung (Frontend, Backend und Prozesse)
Coaching (explizit und nebenläufig)
Softwarearchitektur
Testautomatisierung
SCRUM / KANBAN
Agile Entwicklungsmethoden
(Teil-)Projektleitung
Massendatenverarbeitung
Performanz- und Speicheranalyse, Gabage-Collection-Tuning
Migration
System
Daten
Programmiersprachen
Migrationstests
Sprecher auf Konferenzen im Bereich Testcontainers, Docker, Testing und Agile Prozesse
jax / w-jax
Javaland
XP-Days
Codetalks
Methoden
Objektorientierte Analyse und Design
Systemdesign
Datenbankdesign
SCRUM
- Weiterentwicklung von REST-Services
- Fehleranalyse Performanz / Startup / Deployment
- Erstellung Lasttests
- OAuth2 Anbindung
Das Kundensystem ist bei Lastspitzen mehrfach an die Grenzen gekommen. Da unbekannt war, was die Ursachen für die Probleme waren, mussten Analysen durchgeführt werden, inkl der Entwicklung passender Lasttests, da nur sehr wenig Daten aus der produktiven Umgebung zur Verfügung standen.
Aufgaben
Der Kunden-Selfservice-Bereich eines multinationalen Online-Shops wird als Vertikale neu entwickelt. Mit Spring-Boot-Backend und Vue.js-Frontend betrieben auf einen Kubernetes-Cluster in AWS.
Aufgaben:
Bei dem Projekt sollte eine konzernweite Distribution von Bildern und anderen Assets (Anleitungen, 3D-Modellen,...) für die Ausspielung im Internet geschaffen werden.
Das ganze System soll bei AWS in der Cloud laufen und Assets aus unterschiedlichen Quellen annehmen und in unterschiedlichen Formaten bereitstellen. Es wurde (akzeptanz-)testgetrieben entwickelt und mit einer CI/CD-Pipeline deployed.
Unterstützung in folgenden Bereichen
- Anbindung Langzeitarchiv
- Anpassungen der Schnittstellen für DE-Mail
- Monitoring
- Aufbau Lasttestumgebung und Performanz-Analysen
Dieses wurde auf Basis der im Vorfeld (bis 2019-06) implementierten Tests auf Basis von Cucumber mit Pact und Testcontainers umgesetzt.
- Änderungen bei Zahlungsdienstleisterinbindung (PSD2)
- Bugfixes und Performance-Anpssungen
- Anpassungen der Nutzerführung
- Einbindungen Kartendienstleister
Implementierung einer Open-ID-Connect-Serverschnittstelle. Migration der Daten aus der Vorversion. Anpassung und Erfweiterung in der Oberflächen. Testautomatisierung.
Weiterentwicklung von Systemen zur Auftragserfassung und Bearbeitung, sowie zur Übernahme aus anderen Eingangskanälen.
Weiterentwicklung des Bereichs für Individualprodukte für Geschäftskunden innerhalb des CRMs unter Einbindung der Umsysteme.
JpaSecurity ermöglicht es, den Querschnittaspekt der Datensicherheit und -filterung aus dem Anwendugscode herauszuhalten und „innerhalb“ der JPA-Schicht und der Datenbank deklarativ zu erledigen.
http://jpasecurity.sourceforge.net
Aufgaben
Performance-Optimierungen
Erweiterung der unterstützten Sprachfeatures
Bugfixes
Migration einer bestehenden Systemlandschaft CRM auf eine andere im Unternehmen vorhandene.
Aufgaben
Migration einer bestehenden Systemlandschaft CRM auf eine andere im Unternehmen vorhandene.
Aufgaben
Entwurf, Umsetzung und Weiterentwicklung der Systemarchitektur
Entwicklung des Datentransportwerkzeuges
Beratung Migrationsvorgehen
Unterstützung Testvorgehen
Prozessberatung (SCRUM / Kanban), Scrum Master
Performance-Optimierungen
Entwicklung einer neuen Plattform, die langfristig konzernweit eingesetzt werden soll.
Entwicklung einer neuen CRM-Lösung inkl. eines Customer-Self-Service-Aspektes auf der neuen Plattform.
Aufgaben
Weiterentwicklung der Systemarchitektur in Richtung DevOps und TDD
Unterstützung bei der SCRUM - Einführung und Weiterentwicklung des Entwicklungsprozesses
Entwicklung einer eingebundenen UI-Testautomatisierung
Beratung und Coaching von (Fach-)Architekten
Performance und Speicheranalyse
Analyse von Infrastrukturproblemen
JSF 2.0 - Migration
1. Unterstützung und Anleitung der Entwicker in den Fachteams bei der Entwicklung einer neuen CRM-Lösung.
2. Weiterentwicklung der Plattform.
Aufgaben
Weiterentwicklung der Systemarchitektur
Beratung und Coaching von (Fach-)Architekten
Abbildung Facharchitektur auf System-Architektur
Performance und Speicheranalyse
Analyse von Infrastruktur-Problemen
Kommunikation von Entwicklungsaspekten auf Projektleitungs- und Geschäftsführungsebene
Entwicklung einer neuen Plattform, die langfristig konzernweit eingesetzt werden soll.
Aufgaben
Entwurf und Umsetzung der Systemarchitektur
Beratung und Coaching von (Fach-)Architekten
Analyse von Infrastrukturproblemen
Bei dieser Importeurslösung handelt es sich um eine Webanwendung auf JSF-Basis, mit der Importeure in über 100 Ländern Fahrzeuge für ihr Gebiet ordern und an Händler weitergeben können.
Aufgaben
Umsetzung von Eingabedialogen
Datenbankanbindung
Technische Teilprojektleitung und Coaching der Teammitglieder
Anpassung und Weiterentwicklung des prototypischen Systemdesigns
Umsetzung von Querschnittsthemen im Bereich der Architektur, des Seitenlayouts und des Buildsystems
Implementierung eigener JSF-Komponenten
Weiterentwicklung des CSS-Layouts
Experte im Bereich Hibernate
Performanzmessungen und -optimierung
Coaching anderer Teammitglieder
Aufwandsschätzung
Weitere Optimierung und Anpassung an die neu hinzugekommenen Anforderungen. 3. Teil des Projektes, weitere Beschreibung siehe weiter unten.
Aufgaben
Analyse und Tuning einer Import- und Export-Anwendung in Bezug auf Speicherbedarf und Performance
Erstellung und Umsetzung eines Konzeptes für die Behandlung von mehrteiligen Importen
Überprüfung und Verbesserung des Transaktionssteuerung
Aufwandsschätzung
Entwicklung von Diensten innerhalb eines mandantenfähigen Zeitungsportals.
Aufgaben
Betreuung und Umsetzung der Basisarchitektur
Releasemanagement und Basisinfrastruktur
Entwicklung
Single Sign-on
Newsletter
Generisches Formular mit Datenbank-Anbindung und Email-Service mit Velocity
Anzeige der „Meist gelesenen Artikel“
Planung, Installation und Management eines SCM- und Buildsystems für die Entwicklung eines Zeitungsportals und weiterer Webanwendungen, inklusive der Betreuung der Testumgebungen.
Aufgaben
Planung des SCM
Erstellung von Maven-Projekten
Code-Überwachung
Installation und Administration folgender Dienste
Subversion
Cruisecontrol
Artifactory
Erstellung von Installtionsskripten
Konfiguration des Tomcat-Testsystems
Suche nach Speicherlöchern
Neuentwicklung einer mandantenfähigen Terminabstimmungsplattform auf JSF-Basis.
Aufgaben
Die Kommunikationsschicht ist die Eingabe- und Ausgabeschnittstelle der zentralen Unternehmensanwendung.
Ende 2007 wurden etwa 700 unterschiedliche Eingabe- und 180 Ausgabe-Dateitypen unterstützt. Das Mapping kann von Fachanwenderseite angepasst werden.
Aufgaben
Austausch der Carnot-Processengine durch eine eigene Prozesssteuerung
Verbesserung der Performance (Multithreading, Partitionierung)
Erstellung eines Testwerkzeuges zum vergleichenden Test kompletter Eingabe- bzw. Ausgabe-Batchläufe
Nach einer automatisierten UDS zu Java Migration mussten einige konzeptionelle Schwachstellen im migrierten Code beseitigt werden.
Das Hauptaugenmerk lag dabei auf der Anpassung der Synchronisationspunkte und Vereinheitlichung der Architektur. Als weiterer Aspekt wurden Möglichkeiten zur Performanz-Steigerung analysiert.
Aufgaben
Analyse und Korrektur der Synchronisationspunkte
Vereinheitlichung des Initialisierungsprozesses
Performanzoptimierung
Im Rahmen der automatisierten UDS zu Java-Migration der zentralen Anwendung musste sichergestellt werden, dass die Batch-Verarbeitung nach der Migration identische Ergebnisse liefert sowie den Zeitrahmen einhält.
Im ersten Schritt wurde die Lauffähigkeit jedes einzelnen Batches getestet.
Im zweiten Schritt fand ein Vergleich auf Datenbankebene statt. In beiden Schritten sollten Fehler, die durch die Migration entstanden sind, möglichst weit eingegrenzt und behoben werden.
Als besonders interessant erwiesen sich die große Codebasis (mehrere Millionen LOC) und die Effekte, die durch die semantischen Unterschiede der beiden Sprachen entstanden sind.
Aufgaben
Debugging
Fehleranalyse
Erstellung und testweise Umsetzung von Lösungsstrategien
Die Kommunikationsschicht stellt die Eingabe- und Ausgabeschnittstelle der zentralen Anwendung dar.
Ziel der Kommunikationsschicht ist es, Eingabe und Ausgabeschnittstellen für alle Mandanten (mehrere Hundert) zur Verfügung zu stellen. Dabei sollen die Dateien in ein generisches Zwischenformat in eine Datenbank "gemapped"
werden, damit möglichst wenig Mandantenspezifika in das Hauptsystem gelangen, da dieses während einer Migration für ca. 4-6 Monate nicht angepasst werden kann.
Dazu wurde ein batchgetriebenes System entwickelt, welches pro Dateiformat eine Konfiguration benötigt, in der die Transformationen beschrieben sind.
Die Applikation besteht aus kleinen Einheiten (Actions), die bestimmte Verarbeitungsschritte ausführen und durch die Processengine Carnot angesteuert werden.
Teile der Konfiguration (Ausgabeplanung) wurden im Hauptsystem umgesetzt. Die dafür notwendigen Dialoge wurden in UDS/Tool programmiert.
Aufgaben
Entwurf und Entwicklung des Ausgabe-Prozesses
Anbindung eines Scoringanbieters
UDS Dialoge für Ausgabekonfiguration im Hauptsystem
Bei dem "Generic Photoshop" handelt es sich um den ersten, vollständig "inhouse" entwickelten Internet-Shop von CeWe Color. Dieser musste mandantenfähig und lokalisierbar sein, da CeWe Color mit unterschiedlichen Händlern beim Vertrieb zusammenarbeitet (z.B. den Drogerieketten DM und Müller). Von zentraler Bedeutung war, dass unterschiedliche Einstiegspunkte angebunden werden können, da das System konkret in zwei Plattformen eingebunden werden und eine weitere in den nächsten Monaten folgen sollte.
Aufgaben
Architektur
Entwicklung eines Durchstiches
Grundlayout
Coaching der anderen Teammitglieder
Erfahrungen
Software Entwicklung (Frontend, Backend und Prozesse)
Coaching (explizit und nebenläufig)
Softwarearchitektur
Testautomatisierung
SCRUM / KANBAN
Agile Entwicklungsmethoden
(Teil-)Projektleitung
Massendatenverarbeitung
Performanz- und Speicheranalyse, Gabage-Collection-Tuning
Migration
System
Daten
Programmiersprachen
Migrationstests
Sprecher auf Konferenzen im Bereich Testcontainers, Docker, Testing und Agile Prozesse
jax / w-jax
Javaland
XP-Days
Codetalks
Methoden
Objektorientierte Analyse und Design
Systemdesign
Datenbankdesign
SCRUM