Deutschland: bevorzugt: Raum Köln Bonn
Java-Umfeld
Agile Softwareentwicklung (5 Teams)
Bedrohungsanalysen
Fortentwicklung des Sicherheitskonzeptes
Ableitung von Maßnahmen und Abstimmung mit den Entwicklungsteams
Aktualisierung des Crypto-Konzeptes
Anpassen der Web Application Firewall
Patchmanagement
Analyse und Bewertung von Vulnerabilitäten in Open-Source-Software
Netzwerkscan zur Überprüfung der Firewallregeln
Entwicklung eines Generators für Firewallregeln für 40 Web-Anwendungen aus fachlichem Modell der Anforderungen
Nginx-App-Procect
Acamai-CDN-Configuration
Java, YAML, JSON-Schema, XSLT, Relax-NG, Velocity
Abstimmung der Anforderungen
Beratung zu Tech-Stack
Design und Entwicklung des Generators
Schulung und Übergabe
Zeek, Surricata, Logstash, Elastic-Search, Kibana
Automatische Installaionsscripte, Konfiguration der Komponenten
Definition der Kriterien zur Erkennung verschiedener Angriffsmuster. Implementierung von Detektoren auf Basis von Zeek.
Installationsautomatisierung des gesammten Softwarestacks (Git, Jenkins, Ansible)
Beratung in Sicherheitsfragen
Umstellung der Kommunikation verschiedener Schnittstellen auf TLS
Verifikation des Erfolgs durch Netzwerkanalyse
Überprüfung und Beantragung von Firewallregeln
Automatisierung der Zertifikatsanforderung und Rollout der Zertifikate (Ansible)
Design einer Token Lösung zur Authentifizierung (JWT-Token, OpenAM, Envoy-Proxy, Spring-Boot)
Aufbau eines NetworkSecurityMonitorings (Stenographer, Bro, Surricata, Kafka, ElasticSearch, Kibana
Projektleitung
Beratung in Fragen IT-Sicherheit
Lösungsdesign
Netzwerkanalyse
Vorgehensmodell: V-Modell XT
System zum Datenaustausch mit Batch-Prozessen und Konfiguration über Benutzerschnittstelle
Erstellung der Systemarchitektur
Mitarbeit am Pflichtenheft
Schnittstelle zwischen Fachbereich und Entwicklung
Analyse der Funktion eines Legacy-Systems (PL/SQL) zur Event-Verarbeitung
Erstellen eines Tools zur statischen Codeanalyse (Kontroll- und Datenfluss) und grafischen Darstellung
Auswertungen mittels Map-Reduce-Jobs zur statistischen Auswertung großer Logfile-Mengen
Analyse
Design und Implementierung der Tools
Erstellung der Systemarchitektur für ein neu eingeführtes IT-System inkl. Systemaufbau, Sizing, Cluster-Konzept und Transaktionsverhalten
Erstellung des Sicherheitskonzeptes, insbesondere Bedrohungsanalyse nach STRIDE und mitigierende Maßnahmen, Risikoanalyse
Design einer Kryptographie-Lösung zur Content-Verschlüsselung und einer Active-Directory-Anbindung, Abstimmung mit dem Hersteller
Erstellen eines Tools zur Zertifikatsüberprüfung
Detaillierte Fehleranalyse und Fehlerbehebung der Public Key Infratrutcture (PKI) inklusive der Themen X.509 Basic Constraints und Name Constratins, unvollständige oder mehere Zertifizierungspfade (Crosszertifizierung), Certificate Revocation Lists (CRLs), Online Certificate Status Protocol (OCSP).
Erstellen des Betriebshandbuchs und Begleitung der Inbetriebnahme
Security-Architekt
System-Architekt
Entwicklung einer cloud-fähigen Healthcare-Anwendung in Microservice-Architektur
Tests mit Cucumber und Selenium
Schnittstellendesign
Entwicklung
Test
Dokumentation
Fulfillment-Management-System mit direkter Schnittstelle zu ca. 15 Systemen für verschiedene Geschäftsprozesse, Kundensegmente, Frontend-Systeme und Leistungserbringer.
Kataloggesteuerte Tasksteuerung
Aufbau einer Plattform für Telematik-Dienste
Anbinden der Idenity-Management-Plattform und Realisierung des Authentifizierungsprozesses über OAuth2, JWT, Spring Security
Datenmengen im Bereich von Terrabyte
SOA-Architektur, Micro-Services
Automatisierte Tests mit Selenium, JBehave und TestNG
Continuous Integration mit Jenkins
Vorgehensmodell: Scrum
Implementierung
Mitarbeit im Architekturteam
Konzeption einer DSL zur Eventverarbeitung
Auswertung von Mobilfunkdaten
Datenmengen im Bereich von Terabyte
Design einer DSL zur Beschreibung von Map-Reduce-Jobs
Analyse und Design von Algorithmen
Entwicklung eines Software-Generators für Map-Reduce-Jobs
Implementierung von Map-Reduce-Jobs
Datenmengen im Bereich von Terabyte
Design einer DSL zur Beschreibung von Map-Reduce-Jobs
Maßnahmen zum Debuggen der Algorithmen und Fehleranalyse in goßen Datenmengen
Ad-hoc-Auswertung über Hive
Zugriff auf HDFS
Implementierung Prototyp mit Storm
Semantische Analyse von Web-Content
Zuordnung der Inhalte zu Themen auch bei sprachlicher Ambiguität
Graphen-Algorithmen
SOA-Architektur
Entwicklung eines Algorithmus zur semantischen Analyse (Patent beantragt)
Design und Implementierung
Redesign von Batch-Prozessen
Analyse von Prozessen im Ist-Zustand
Erstellen einer fachlichen Architektur
Design einer formalen Sprache (DSL) zur ausführbaren Beschreibung von Prozessen auf fachlicher Ebene
Anforderungsanalyse und Fachkonzeption
Technisches Design
Teile der Implementierung
Ziel:
Ablösung des Altsystems durch CoreMedia
Dokumentenstandard:
DITA
Übergreifendes Anforderungsmanagement
Beteiligte Personen: ca. 30
Bestandsaufnahme, Zielklärung, Zielkonfliktharmonisierung
Workshoporganisation und -durchführung
Erarbeiten und Einführung eines Vorgehensmodells
Einführung des Tools IRqA
Schulung und Coaching von ca. 20 Mitarbeitern
Migration der bestehenden Anforderungen
Ziel des Projektes war die Erarbeitung und Etablierung eines Verfahrens zum abteilungsübergreifenden Anforderungsmanagements für verschiedene Abteilungen der Demand-IT eines international tätigen Logistik-Konzerns. Hintergrund des Projektes ist die stratigische Ausrichtung verschiedener Demand-IT Abteilungen auf einen IT-Dienstleister als Lieferant und die mit ihm vereinbarte Strategie,
die zu entwickelnden Applikationen auf eine einheitliche Plattform aufzusetzen, u.a. um durch Synergieeffekte Entwikcklungs- und Betriebskosten einsparen zu können. Da die bisher bestehenden
und gelebten Vorgehensmodelle die ganze Bandbreite von formal definierten am Wasserfallmodell orientierten Prozessen bis zu einer agilen Arbeitsweise abdecken und sich an den bestehenden
Prozessen möglichst wenig ändern sollte, lag ein Schwerpunkt meiner Tätigkeit auf der Moderation und Vermittlung zwischen den Vorstellungen und Interessenslagen der verschiedenen Beteiligten. Es wurde ein Referenzmodell enwickelt, das einerseits Anpassungen je nach Projektgröße und Beschaffenheit vorsieht, andererseits aber sicherstellt, dass ein einheitlicher Rahmen mit definierten Synchronisationspunkten zwischen den verschiedenen Projekten vorgegeben ist. Die Implementierung
des Vorgehens mit dem Anforderungsmanagement-Tool IRqA und Validierung der gefundenen Lösung durch Pilotierung im realen Projektalltag habe ich verantwortlich begleitet durch Erstellung und Pflege eines Projekttemplates, Migration der im Tool Care vorhandenen Anforderungen nach IRqA, organisatorische Abstimmungen, Schulungen und Coaching der Mitarbeiter von Fachbereichen, Demand-IT und IT-Dienstleister, sowie Feinjustierung der vereinbarten Prozesse.
Produktentwicklung Rule- und Workflow-Engine
Zeitraum: Februar 2005 - Juni 2005
Projekt:
* Umgebung: Java, J2EE, JDBC, XML, Swing
* Linux, MacOS X
* Produkte: JBoss, Apache, Tomcat
Aufgabe:
Leiter eines kleinen Teams
In heutigen IT-Projekten ist es oft nötig, eine Vielzahl unterschiedlicher
Systeme zur Abbildung der gewünschten Geschäftsprozesse zu integrieren. Die
Komplexität der Anforderungen und die Vielzahl verwendeter Technologien
stellt eine besondere Herausforderung dar. Dabei lassen sich oft erhebliche
Effizienzvorteile in Form von verkürzten Entwicklungszeiten bei gleichzeitig
verbesserter Softwarequalität durch den Einsatz einer regelbasierten
Prozesssteuerung erreichen. Das Hauptaugenmerk des Produkts liegt dabei
darauf, einen unkomplizierten Einsatz durch einfache Bedienbarkeit und
vorgefertigte Module zu ermöglichen. Durch eine offene Architektur und
gute Erweiterbarkeit wird den hohen projektindividuellen Anforderungen
Rechnung getragen.
Rating (Basel II)
Zeitraum: März 2005 - April 2005, Teilzeit
Projekt: s.u.
Projektbüro Rating (Basel II)
Zeitraum: August 2004 - Dezember 2004
Projekt:
* Projekt (ca. 90 PJ) im Bankenumfeld
* ca. 30 Projektbeteiligte Banken
* Projektplanung (Meilensteine, Ressourcen, etc.)
* Releaseplanung
* Risikomanagement
* Fortlaufende Überwachung des Projektstatus
Aufgabe: Projektplaner und -controller
Planung für ca. 40 Mitarbeiter inkl Erstellung von Ganttdiagrammen, Meilenstein-, Ressourcenbedarfs- und -einsatzplänen.
Zusätzlich Weiterentwicklung des Planungsprozesses und coaching
der Mitarbeiter bei der Erhebung von Planungsdaten (Vollständigkeit
der Arbeitspakete, Plausibilisierung etc.) für die Projektphasen Fachliche und technische Konzeption, Realisierung und Dokumentation, Qualitätssicherung mit Tests der funktionalen
und nichtfunktionalen
Eigenschaften und Abnahme, Produktivsetzung und Datenmigration sowie Bugfixing und Change-Requests.
Für nicht durch MS-Projekt abgedeckten Funktionalitäten
Entwicklung entsprechende Planungstools auf Excel-Basis.
Verantwortung für die Überwachung des Projektfortschritts und der Erreichung von Meilensteinen.
Aufzeigen von sich abzeichnenden Projektrisiken und möglicher Handlungsoptionen.
Direkter Bericht gegenüber dem Gesamtprojektleiter sowie dem Abteilungsleiter.
Erstellen von Vorlagen für deren Berichte gegenüber ca. 30 projektbeteiligten
Banken. Erhebung der Aufwände und Abhängigkeite für die von den Banken für das
nächste Release gewünschten Features. Verschiedene Umsetzungsszenarien
(unter Berücksichtigung von Endtermin und Ressourceneinsatz) als Grundlage für
Abstimmungsprozess mit den projektbeteiligten Banken zusammenstellen.
Rating (Basel II)
Zeitraum:
Januar 2003 - Juli 2004, März, April 2005
Projekt:
* Projekt (ca. 90 PJ) im Bankenumfeld
* Sprache: Java, Haskell, u.a.
* Entwicklung von Domain specific languages
* J2EE, Bea Weblogic
* DB2 Datenbank
* B2B Schnittstelle, WebServices, Tapestry
* Modellierung mit Together
Aufgabe:
Architektur und Entwicklung, Koordination mit Fachabteilung, Training der Fachabteilung im formalen spezifizieren der Rating-Vorschriften, Verantwortung für die unten beschriebenen Sprachen und Compiler.
Das erstellte Software-System ist ein Tool zum Raten von Krediten. Hintergrund ist die von der Auswallwahrscheinlichkeit abhängige Eigenkapitalhinterlegung nach Basel II. Bei einem Ratingvorgang werden für einen zu bewertenden Kredit aus monetären Daten mehrerer Zeiträume (Hardfacts), sonstigen in Form eines Fragebogens erhobenen Daten (Softfacts) und einer Einschätzung des zuständigen Sachbearbeiters (Situative Bewertung) eine Note von 1 bis 15 ermittelt.
Das Projekt ist in J2EE Architektur auf einem Bea-Applicationserver realisiert. Als Frontend steht über Servlets eine Web-Schnittstelle sowie eine auf WebServices/SOAP basierende B2B Schnittstelle zur Verfügung. Die Web-Oberfläche basiert auf Tapestry. Die Businessobjekte sind als EJBs umgesetzt. Als Persistenzschicht kommt eine db2-Datenbank zum Einsatz.
Eine besondere Herausforderung in dem Projekt liegt in den hohen Flexibilitätsanforderungen: Die Software ist mehrmandantenfähig, unterstützt verschiedene Ratingmodelle nach Kundensegmenten und ist multiversionsfähig, da sich die verwendeten Ratingmodelle im Fluss befinden. Um die Mehrversionsfähigkeit sicherzustellen und auf veränderte Modelle schnell reagieren zu können, ist die Software in vielen Funktionen konfigurationsgesteuert. Um den Pflegeaufwand für die enorm komplexen Konfigurationen zu reduzieren, wurden für mehrere Funktionsgruppen auf die jeweiligen spezifischen Problemstellungen zugeschnittene Konfigurations- und Spezifikationssprachen entwickelt und entsprechende Compiler dafür implementiert, die dann die Konfigurationen maschinell erstellen. Die Funktionsgruppen sind im einzelnen:
* Alle Eingabe-Masken werden durch Meta-Daten definiert. Hier werden die zu jeder Maske gehörenden Eingabeelemente mit Beschriftung, Anzeigeformat und Validierung beschrieben. Auch Tabellen und dynamische Masken werden unterstützt.
* Die Abfolge der Masken wird von einem Workflow-Modul gesteuert. Konfiguriert wird ein Workflow-Graph, der die Abfolge der einzelnen Masken und Arbeitsschritte spezifiziert. Zur Realisierung von bedingten Workflows steht durch eine Integration mit der Rule-Engine (s.u.) der volle Zugriff auf alle Daten sowie Nutzerrechte und ein mächtiges Werkzeug für komplexe Entscheidungen zur Verfügung. Jeder Vorgang kann an jeder Stelle abgebrochen und später über eine Wiedervorlage wieder aufgenommen werden.
* Die Rule-Engine bildet einerseits die hinter einem Ratingmodell stehenden mathematischen und logischen Regeln ab. Andererseits wird sie als universell gehaltenes Hilfsmittel auch für viele Aufgaben verwendet wie die Eingabedatenvalidierung, die Zuordnung zu einzelnen Portfolios für Kunden der einzelnen Kundensegmente, in der Workflowsteuerung oder für die Datenaufbereitung der Reports.
* Neben der Note für ein Rating gibt es noch etliche weitere Auswertungen, die in Form von Reports als PDF-Datei zur Verfügung gestellt werden. Die PDF-Dateien werden über XSLT und XSL-FO aus XML-Daten erzeugt. Die Daten werden über eine Report-Definitionssprache zusammengestellt und als XML bereitgestellt.
Die oben beschriebenen Sprachen stellen ein wichtiges Verbindungsglied zwischen den fachlichen und technischen Aspekten der Anwendung dar: Sie erlauben einerseits eine Spezifikation, die detailliert genug ist, um die technischen Konfigurationen mit Hilfe der implementierten Compiler generieren zu können. Sie sind andererseits in der Abstraktionsebene möglichst weit an die fachliche Denkweise angelehnt. Es gelang, dass in vielen Bereichen die Fachabteilung nach kurzem Training in die Lage versetzt wurde, fachliche Vorgaben in Form von Excel-Sheets so formal zu spezifizieren, dass für die komplette Kette von der fachlichen Spezifikation bis zur technischen Realisierung eine automatisierte Umsetzung durch entsprechende Tool möglich wurde.
Einführung SAP FSBP bei der Postbank
Zeitraum:
Juli 2001 - Dezember 2002
Projekt:
Projekt (ca. 60 MJ) im Bankenumfeld
Sprache: Java, C, Haskell
J2EE, Bea Weblogic, JBoss, Apache/Tomcat
SAP, Kordoba
JCE (Java Cryptography Extension)
Novell Directory Service, LDAP, SSL
Conitunuus
Modellierung mit Rational Rose
JUnit Tests
Verschiedene Techniken des Compilerbaus
Aufgabe:
Architektur, Design und Entwicklung, Verantwortung für Bereich "technische Services"
Die "Technische Multikanalplattform" ist Teil der Migrationsstrategie, durch die das Bankenkernsystem Kordoba durch SAP abgelöst werden soll. Ihre Aufgabe ist die Integration der unterschiedlichen Business-Modelle der Backend-Systeme innerhalb einer Middelware, bei der die Geschäftsprozesse deklarativ in XML beschrieben abgebildet werden, um einen konsistenten Datenbestand für die Coexistenz der ERP-Systeme zu gewährleisten. Verschiedene Adaptoren entkoppeln die technische Anbindung der bankfachlichen Frontend-Anwendungen von den fachlichen Services, um so eine vertriebskanalübergreifende Konsolidierung der betriebswirtschaftlichen Business-Prozesse ermöglichen. Mein Schwerpunkt lag in der Verantwortung für die Konzeption und Realisierung einer Reihe der Services, die die technische Grundlage der Plattform bilden, sowie verschiedener Entwicklungstools und Compiler. Die wichtigsten davon sind:
Eine für das Projekt entwickelte "Komponenten-Architektur" definiert ein einheitliches Modell für den Lebenszyklus und die Abhängigkeiten verschiedener funktionaler Module. Aus einer deklarativen Beschreibung des Moduls generiert ein
entwickelter Signatur-Compiler zum einen die Schnittstelle, über die das Modul typsicher auf Konfigurationsdaten und auf andere Module zugreifen kann, zum anderen die Implementierung der Schnittstelle zum "Configuration-Service". Dieser
steuert den Lebenszyklus und die Parametrisierung der einzelnen Module sowie deren Zusammenspiel. Das Komponenten-Modell ist J2EE kompatibel und läuft sowohl unter einem Application-Server als auch standalone.
Das "Error und Exception Framework" stellt Mechanismen zur einheitlichen Fehlerbehandlung zur Verfügung. Zu seinen Aufgaben gehören Präsentationen der Fehler durch verschiedene Fehlertexte für unterschiedliche Sichten (Endnutzer,
Systembetreuung, Server-Meldungen), Protokollierung aller aufgetretenen Fehler, die Filterung nach Fehlerklassen und Gewichten sowie Informierung des System-Managements über aufgetretene Störungen. Außerdem sorgt es für die Vergabe
und Verwaltung von Fehler-Tickets zur Meldung an den Client und ermöglicht über ein webbasiertes Analyse-Tool den Zugriff auf die zu einem Fehlerticket gehörenden Informationen. Die Kausalbeziehungen der in verschiedenen
Softwareschichten aufgetretenen Fehler werden graphisch dargestellt.
Die Verarbeitung der verschiedensten XML-Dateien wird über einen eigenen Service realisiert, der ein XML-Objekt-Mapping-Tool zur Verfügung stellt, bei dem sowohl das Objektmodell als auch das XML-Schema unabhängig voneinander
wählbar ist.
Der "Security-Service" besteht aus einer Sammlung von Modulen, die unterschiedliche Aufgaben wahrnehmen. Darunter sind die gesicherte Datenübertragung durch asymmetrische und symmetrische Verschlüsselung, die
Nutzer-Authentifizierung und Autorisierung, der Passwortabgleich für ein SSO (single sign on), eine Ticket-basierte Session-Authentifizierung, die Vermittlung von Zugangs-Credentials für verschiedene Backend-Systeme sowie die
Kommunikation mit dem Meta-Directory der zentralen Benutzer-Verwaltung über LDAP.
Der "Trace-Service" dient der Nachvollziehbarkeit des Programmablaufes zur Performance oder Fehleranalyse. Dazu können zu jedem Methoden-Ein- und Ausstieg, bei Exceptions und an frei definierbaren strategischen Stellen Trace-Statements
in eine Log-Datei geschrieben werden. Da in jeder einzelnen Methode des Projektes umfangreiche Informationen an den Trace-Service übergeben werden müssen, wird der Source-Code im Rahmen des Build-Prozesses durch einen eigenen Compiler
vorübersetzt, der den Code um die entsprechenden Trace-Statements anreichert. Im Hinblick auf die Datenmenge und die Performance ist es nötig, die Filter einzusetzen. In einer Regel-Sprache können dabei verschiedene Bedingungen über die in
Abhängigkeit vom Programmteil, dem User, dem Transaktionstyp und anderen Daten bis auf die Ebene einzelner Methoden und Variablen definiert werden. Diese Bedingungen werden von einem weiteren Compiler optimiert und in einen
abstrakten Maschinencode übersetzt, der während der Laufzeit in die zu untersuchende Applikation nachgeladen werden kann. So konnte der Performanceverlust durch die in jeder Methode durchzuführenden Regelprüfungen auf unter 5% gesenkt
werden.
Ferner gehörte zu meinen Aufgaben die Bestandsaufnahme über Alt-Sourcen verbunden mit einem Architektur-Redesign. Die Analyse und Visualisierung der Abhängigkeiten in der Code-Basis durch verschiedene ad-hoc-Tools half, wichtige Ansatzpunkte
zur Code-Entflechtung aufzuzueigen. Die Entwicklung und Etablierung eines deklarativen Build-Prozesses hat sich als wichtiges Instrument erwiesen, die Einhaltung verschiedener Design- und Qualitätskriterien während der Entwicklungszeit
sicherzustellen.
Journal- und Retrievalsystem
Zeitraum:
November 2000 - Mai 2001
Projekt:
Projekt (ca. 4 MJ) im Bankenumfeld
Sprache: Java
IBM WebSphere, MQSeries, DB2
XML-basiert
Modellierung mit Rose
Programmgenerierung aus XML-Spezifikationen
automatisierte Unit-Tests
Aufgabe:
Leitender Architekt und Entwickler
Ziel des Projektes war die Archivierung der Transaktions- und Logdateien von SB-Terminals mit Hilfe einer modernen J2EE-basierten Architektur auf dem Backend S/390. Diese Daten werden durch ein webbasiertes Journal- und Retrievalsystem den Administratoren und Anwendern zur Verfügung gestellt. Die Eckpunkte der Architektur bilden ein Journal Agent, ein Journal Writer, ein Journal Reporter, eine Web Application sowie eine auf MQSeries basierende Kommunikationsinfrastruktur. Der Journal Agent erzeugt - abhängig von der jeweiligen Transaktion - über die in dem SB-Terminal der Bank generierten Geschäftsvorfälle XML-Daten, welche über die MQSeries-Infrastruktur an den Journal Writer gelangen. Dieser schreibt die XML-Daten wiederum in die Datenbank. Über die Web Application kann sich der Anwender je nach Grad der ihm eingeräumten Rechte Geschäftsvorfälle anzeigen lassen. Dabei leitet die Journal Web Application Anfragen des Anwenders weiter an den Journal Reporter, der diese mit Hilfe des Zugriffs auf die Datenbank bedient. Die Qualität der Entwicklung wurde durch automatisierte JUnit-Tests sichergestellt.
Data Warehouse
Zeitraum: August 1999 - Oktober 2000
Projekt:
* Projekt (ca. 10 MJ) für einen internationalen Chemie- und
Pharmakonzern
* 3-Tier-Architektur mit weltweit verteilten, über das Internet
angebundenen Clients
* Entwicklung in Java und Scheme
* Datenbank: Oracle
* OO/Rel-T;* OO/Rel-Tool: Toplink
* Kommunikation: RMI
* flexible Report Engine als Kern des Data Warehouse
Aufgabe: Mitarbeit bei der Architektur und Konzeption, eigenständige
Konzeption und Realisierung der Report Engine
Das entwickelte Produkt ist eine Anwendung, die zur weltweiten
strategischen Bedarfsplanung beim Kunden eingesetzt wird.
Getrennt nach Zuständigkeitsbereich werden betriebswirtschaftliche
Ist- und Plandaten auf verschiedenem Detaillierungsniveau vor Ort
erfasst und gepflegt. Über ein mehrstufiges Konzept werden die Daten
freigegeben und versioniert. Diese Daten können dann abhängig von den
Nutzerrechten nach verschiedenen Kriterien ausgewertet werden. Dazu
können die Nutzer sehr flexibel verschiedene Reports definieren und
abfragen, wobei die verschiedenen Währungen, Umrechnungskurse,
Einheitensysteme und Packungseinheiten berücksichtigt und transparent
umgerechnet werden. Ferner ermöglicht das Produkt Auswertungen über
zeitliche Entwicklung und die Abhängigkeiten verschiedener Kenngrößen
von Währungsschwankungen und einzelnen Kenndaten durch eine
"Was-wäre-wenn"-Analyse.
Die Daten werden in einem zentralen Data Warehouse gespeichert. Über
Standleitungen bzw. das Internet angebundene Java-Clients ermöglichen
den weltweiten Zugriff. Die Kommunikation erfolgt über RMI und ist
SSL-verschlüsselt. Im Server werden die Objekte der Business Logic mit
dem OO/Rel-Tool Toplink auf eine Oracle-Datenbank abgebildet. Die
Reporterzeugung erfolgt direkt über SQL/JDBC. Die in Java und Scheme
realisierte Report Engine leitet aus den Report-Definitionen und den
fachlichen Anforderungen regelbasiert einen Abfrage- und
Berechnungsplan her und erzeugt Performance-optimierte SQL-Statements.
Gutachten für Internet Commerce
Zeitraum: März 1999 - Juli 1999
Projekt:
* Gutachten über die Zuverlässigkeit verschiedener Zählverfahren für
Web-Zugriffe
* Messprogramme zur Analyse des Verhaltens verschiedener Web-Browser
* Konzeption und Entwicklung eines flexibel konfigurierbaren
Web-Roboters zur Simulation verschiedener Web-Browser
* Sprache: Python, C
* Einsatz verschiedener Protokoll-Sniffer und Proxies
* Entwicklung zusätzlicher Analysetools
* automatische Simulation von Browserzugriffen
Aufgabe: Abstimmung mit dem Kunden, Mess- und Testkonzeption,
Konzeption und Realisierung der Mess- und Simulationsprogramme
Kern des Projektes war die Gewinnung aussagekräftiger Messdaten für
ein Gutachten über die Zuverlässigkeit verschiedener Zählverfahren von
Webseitenaufrufen. Die Messungen wurden in Abhängigkeit von vielen
Parametern wie Art des Angebots, Provider, Tageszeit, Betriebssystem,
Browser und Konfiguration durchgeführt. In einer Analyse wurde mit
Hilfe verschiedener Tools das Verhalten der einzelnen Browser
insbesondere im Hinblick auf die zeitliche Abfolge und Kausalität
nebenläufiger Requests sowie das Verhalten unter verschiedenen
Fehlersituationen geprüft. Die Seitenabrufe wurden durch einen
konfigurierbaren Web-Roboter simuliert. In einem Feldtest fanden dann
unter realen Internetbedingungen Messungen in dem entsprechenden
Mengengerüst statt.
Web-Redaktionssystem
Zeitraum: Dezember 1998 - März 1999
Projekt:
* Datenbank: Oracle
* Implementierung in C++, Python und Shell-Skripten
* verteilte Applikation
* XML-Schnittstelle
* Plattform: UNIX (Solaris)
Aufgabe: Eigenständige Konzeption und Realisierung
Gegenstand des Projekts war die Schaffung einer flexiblen
Infrastruktur zum Management der Inhalte verschiedener Bereiche eines
Web-Auftritts. Dabei waren das Rechtesystems, die Anforderungen an
verteiltes Arbeiten und die jeweiligen Sicherheitsanforderungen zu
berücksichtigen.
Die verschiedenen Datenquellen (Oracle Datenbanken, Dateiablage,
Systemdaten, gdbm Datenbank) wurden hinter einem Objektmodell
verborgen und die Methoden der Objekte auf ein XML-basiertes
Messageformat abgebildet. Ein zentral konfigurierbarer Message Router
in jeder Komponente verbindet die Komponenten über synchrone und
asynchrone Transportwege zu einem virtuellen Informationsbus, der die
einzelnen Komponenten hinsichtlich Implementierungssprache, Ort,
Kommunikationsmedium und Sicherheitszone voneinander entkoppelt.
Als Frontend steht ein SSL-verschlüsseltes, Template-basiertes
Web-Interface sowie ein Mail-Interface und für administrative Aufgaben
ein Command-Line-Tool zur Verfügung.
Diverse Projekte für einen ISP
Zeitraum: Juli 1997 - Januar 1999
Projekt:
* Konzeption Netzwerktopologie, Hardware und Protokolle
* Konzeption und Umsetzung von Firewall-Lösungen
* Installation und Konfiguration von Netzwerken für Kunden
* Konfiguration und Administration verschiedener Server und Services
(Web, Mail, News, Namserver, Routing)
* datenbankgestützte Web-Angebote, Sprache: C++, Oracle
* Konzeption und Realisierung eines IRC-Clients als Java Applet
Aufgabe: Eigenständige Konzeption und Realisierung nach Anforderung,
Kundenberatung
Monitoring Software für USVs
Zeitraum: Mitte 1996 - Mitte 1997
Projekt:
* Sprache: C, C++
* Plattformen: Linux, SCO, Mac, Windows 95 / 3.11
* Konfigurierbarkeit für verschiedene Geräteprotokolle
* SNMP Agent
Aufgabe: Schnittstellenspezifikation, Realisierung
1988
Abitur
1988 ? 1995
Studium der Mathematik, Stipendium der Studienstiftung des deutschen Volkes
1996 ? heute
25 Jahre Berufserfahrung als IT-Consultant
2019 ? heute
Studium Cyber Security
IT-Security
Projektleitun
Architektur
UML: Rose, Together/J
J2EE, Bea Weblogic, Web-Sphere
Tapestry
Hybernate
Spring framework
Design by Contract
UNIT-Tests nach XP
Oracle, DB2
XML, XSLT, XSL-FO, XPATH, RDF: Verarbeitung in verschiedenen Sprachen
Web services, Axis
MDA (Model Driven Architecture) und Compilerbau
Persönliche Stärken:
Ausgeprägtes analytisches Denken
Lösungsfindung bei komplexen Anforderungen
Selbständige Arbeitsweise und gute Teamfähigkeit
Extrem gute Auffassung und schnelles Einarbeiten in neue Themen
Hohe Identifikation mit den übernommenen Aufgaben und sehr gute Performance
Termintreue
Hohes Qualitätsbewusstsein
Projektmanagement:
Scoping, Zieldefinition, Projektstrukturplan, Arbeitspaketbeschreibung
Aufwandsschätzung, Ressourcenbedarfs- und Einsatzplanung
Statusberichte, Projektfortschrittsüberwachung
Release- und Meilensteinplanung
Risikomanagement
Testorganisation und -begleitung
Issue-Tracking
Durchführung von Projektabnahmen
Prozessdefinition, Vorgehensmodelle
Analyse und Konzeption:
Anforderungsanalyse und -management
Erstellen von Konzepten, Lastenheften etc.
Erstellen von formalen Modellen zur Abbildung von Fachanforderungen
Schnittstellenfunktion zwischen Fachabteilung und IT
Durchführung von Interviews und Analyseworkshops
Lösungsfindung auch bei unklaren und widersprüchlichen Anforderungen
UML-Modellierung
Nichtfunktionale Anforderungen
IT-Security:
Gute Kenntnisse und praktische Erfahrung mit Krytographie, symmetrischer und asymmetrischer Verschlüsselung. Sicherer Umgang mit Crypto-Libraries in Java und Python.
Ausführliche Praktische Erfahrung im Aufbau und Einsatz von X.509-Zertifikaten und PKI, inklusive Cross-Zertifizierung, Key Revocation Lists (CRLs), Online Certificate Status Protocol (OCSP), verschiedene X.509 Extensions, Aufbau von X.509 Zertifikaten auf Binärebene (ASN.1 DER-Kodierung)
Konzeption und Konfiguration von Firewall-Regeln
Praktische Projekterfahrung mit Oauth, OpenID-Connect, JWT (JavaWebToken)
Praktische Erfahrung im Aufbau eines IDS/NDS (Intrusion Detection System /Security Monitoring System)
Praktische Erfahrung mit Qubes-OS
Ausgiebige Erfahrung mit Sicherheit von Webanwendungen, OAuth, Schutz gegen Cros-Sside-Scripting (XSS) und SQL-Injection.
Bedrohungsanalyse nach STRIDE
OWSAP Best Practices
BSI-Grunschutz
Zertifizierter T.I.S.P: TeleTrustT Internet Security Professional (TÜV PersCert)
Architektur-Methodik:
Sehr gute Kenntnisse in OO-Methoden, UML und Design Patterns
Ausführliche Projekterfahrung mit Modellierungs- und CASE-Tools, z.B. Rational Software Modeler, Rational Rose, TogetherJ
Sehr gute Kenntnisse und Projekterfahrung mit Service-Orientierter Architektur (SOA) sowie Microservice-Architektur
Ausführliche Projekterfahrung mit Inversion of Control / Dependency Injection (z.B. Spring)
Praktische Projekterfahrung mit MDA (model driven architecture)
Ausführliche Praxiserfahrung im Design und der Entwicklung von Domain-Specific-Languages (DLS), Compilern, Rule- und Process-Engines
Praktische Projekterfahrung mit Design by Contract
Schichtenmodelle, Modularisierung, Abhängigkeitsanalysen
Lose Kopplung / SOA
Code Reviews und Code-Analyse
Compilerbau:
Entwurf und Implementierung von Domain Specific Languages (DSLs)
Umfangreiche Kenntnisse und praktische Erfahrung mit verschiedenen Techniken zum Source-Code-Parsen
Umfangreiche Kenntnisse der Algorithmen zur Code-Analyse wie Datenfluss- und Erreichbarkeitsanalyse, SSA-Form (Single-Static-Assignment), Typ-Systeme und Typ-Inferenz, etc.
Praktische Erfahrung in der Visualisierung von Code-Analysen
Gute Kenntnisse der Code-Generierungs-Techniken für stack- und registerbasierte CPUs oder virtueller Maschinen (VMs)
Erfahrung im dynamischen Generieren und Laden von Bytecode in der Java Virutal Machine (JVM)
Java / JEE:
Sehr gute Kenntnisse und ausführliche praktische Erfahrung mit der Sprache
Sehr gute Kenntnisse in JEE und Spring
Sehr gute Kenntnisse in Anbindung von SQL und NoSQL-Datenbanken
Gute Kenntnisse in Multithreading
sehr gute Kenntnisse der XML- und JSON- Verarbeitung mit Java
Web:
Langjährige Projekterfahrung in der Entwicklung von Webanwendungen
Langjährige sehr gute Projekterfahrung in Java-Script, (insb. dynamische Generierung), Verarbeitung von JSON, XML
Umfangreiche Projekterfahrung mit REST-Services und WebServices (SOAP, WSDL)
Gute Kenntnisse in HTML, Grundkenntnisse in CSS
Ausführliche praktische Projekterfahrung mit unterschiedlichen Frameworks (u.a. AngularJS, ReactJS, Spring-MVC, JSP, XSLT, NodeJS, verschiedene Template-Sprachen)
Ausführliche Erfahrung mit PHP
XML:
Sehr gute Kenntnisse und ausführliche Projekterfahrung in XML, XSD, XPATH, XQL, XQuery, XSLT, XSL-FO
Sehr gute Kenntnisse der XML-Verarbeitung mit verschiedenen Sprachen
Ausführliche Projekterfahrung in XML-basierten Web-Anwendungen
Office-Programme:
Sicherer Umgang mit Word, Excel, Powerpoint
Automatisierte Generierung von Dokumenten aus Datenquellen
Solide Grundkenntnisse MS-Project
Grundkenntnisse MS-Access und VBA
Betriebswirtschaft:
Fundierte Grundkenntnisse und Praxiserfahrung in Buchhaltung, Bilanz, Jahresabschluss
Fundierte Grundkenntnisse in verschiedenen Rechtsformen, Kosten- und Leistungsrechnung, investitionstheoretische Grundlagen und Kennzahlen
IT-Security:
TeleTrustT Information Security Professional (T.I.S.P)
Kommunikation:
NLP?Master (DVNLP)
NLP?Trainer (DVNLP)
Systemischer Coach (ECA)
Facecoaching Master und Professional (Emotionserkennung in Mikromimik)
Telekommunikation
Banken & Finanzen
Internet, Internet Service Provider
Innovation-Lab
Marktforschung
Logistik
Automobil
Chemie / Pharma
Gesundheit
Deutschland: bevorzugt: Raum Köln Bonn
Java-Umfeld
Agile Softwareentwicklung (5 Teams)
Bedrohungsanalysen
Fortentwicklung des Sicherheitskonzeptes
Ableitung von Maßnahmen und Abstimmung mit den Entwicklungsteams
Aktualisierung des Crypto-Konzeptes
Anpassen der Web Application Firewall
Patchmanagement
Analyse und Bewertung von Vulnerabilitäten in Open-Source-Software
Netzwerkscan zur Überprüfung der Firewallregeln
Entwicklung eines Generators für Firewallregeln für 40 Web-Anwendungen aus fachlichem Modell der Anforderungen
Nginx-App-Procect
Acamai-CDN-Configuration
Java, YAML, JSON-Schema, XSLT, Relax-NG, Velocity
Abstimmung der Anforderungen
Beratung zu Tech-Stack
Design und Entwicklung des Generators
Schulung und Übergabe
Zeek, Surricata, Logstash, Elastic-Search, Kibana
Automatische Installaionsscripte, Konfiguration der Komponenten
Definition der Kriterien zur Erkennung verschiedener Angriffsmuster. Implementierung von Detektoren auf Basis von Zeek.
Installationsautomatisierung des gesammten Softwarestacks (Git, Jenkins, Ansible)
Beratung in Sicherheitsfragen
Umstellung der Kommunikation verschiedener Schnittstellen auf TLS
Verifikation des Erfolgs durch Netzwerkanalyse
Überprüfung und Beantragung von Firewallregeln
Automatisierung der Zertifikatsanforderung und Rollout der Zertifikate (Ansible)
Design einer Token Lösung zur Authentifizierung (JWT-Token, OpenAM, Envoy-Proxy, Spring-Boot)
Aufbau eines NetworkSecurityMonitorings (Stenographer, Bro, Surricata, Kafka, ElasticSearch, Kibana
Projektleitung
Beratung in Fragen IT-Sicherheit
Lösungsdesign
Netzwerkanalyse
Vorgehensmodell: V-Modell XT
System zum Datenaustausch mit Batch-Prozessen und Konfiguration über Benutzerschnittstelle
Erstellung der Systemarchitektur
Mitarbeit am Pflichtenheft
Schnittstelle zwischen Fachbereich und Entwicklung
Analyse der Funktion eines Legacy-Systems (PL/SQL) zur Event-Verarbeitung
Erstellen eines Tools zur statischen Codeanalyse (Kontroll- und Datenfluss) und grafischen Darstellung
Auswertungen mittels Map-Reduce-Jobs zur statistischen Auswertung großer Logfile-Mengen
Analyse
Design und Implementierung der Tools
Erstellung der Systemarchitektur für ein neu eingeführtes IT-System inkl. Systemaufbau, Sizing, Cluster-Konzept und Transaktionsverhalten
Erstellung des Sicherheitskonzeptes, insbesondere Bedrohungsanalyse nach STRIDE und mitigierende Maßnahmen, Risikoanalyse
Design einer Kryptographie-Lösung zur Content-Verschlüsselung und einer Active-Directory-Anbindung, Abstimmung mit dem Hersteller
Erstellen eines Tools zur Zertifikatsüberprüfung
Detaillierte Fehleranalyse und Fehlerbehebung der Public Key Infratrutcture (PKI) inklusive der Themen X.509 Basic Constraints und Name Constratins, unvollständige oder mehere Zertifizierungspfade (Crosszertifizierung), Certificate Revocation Lists (CRLs), Online Certificate Status Protocol (OCSP).
Erstellen des Betriebshandbuchs und Begleitung der Inbetriebnahme
Security-Architekt
System-Architekt
Entwicklung einer cloud-fähigen Healthcare-Anwendung in Microservice-Architektur
Tests mit Cucumber und Selenium
Schnittstellendesign
Entwicklung
Test
Dokumentation
Fulfillment-Management-System mit direkter Schnittstelle zu ca. 15 Systemen für verschiedene Geschäftsprozesse, Kundensegmente, Frontend-Systeme und Leistungserbringer.
Kataloggesteuerte Tasksteuerung
Aufbau einer Plattform für Telematik-Dienste
Anbinden der Idenity-Management-Plattform und Realisierung des Authentifizierungsprozesses über OAuth2, JWT, Spring Security
Datenmengen im Bereich von Terrabyte
SOA-Architektur, Micro-Services
Automatisierte Tests mit Selenium, JBehave und TestNG
Continuous Integration mit Jenkins
Vorgehensmodell: Scrum
Implementierung
Mitarbeit im Architekturteam
Konzeption einer DSL zur Eventverarbeitung
Auswertung von Mobilfunkdaten
Datenmengen im Bereich von Terabyte
Design einer DSL zur Beschreibung von Map-Reduce-Jobs
Analyse und Design von Algorithmen
Entwicklung eines Software-Generators für Map-Reduce-Jobs
Implementierung von Map-Reduce-Jobs
Datenmengen im Bereich von Terabyte
Design einer DSL zur Beschreibung von Map-Reduce-Jobs
Maßnahmen zum Debuggen der Algorithmen und Fehleranalyse in goßen Datenmengen
Ad-hoc-Auswertung über Hive
Zugriff auf HDFS
Implementierung Prototyp mit Storm
Semantische Analyse von Web-Content
Zuordnung der Inhalte zu Themen auch bei sprachlicher Ambiguität
Graphen-Algorithmen
SOA-Architektur
Entwicklung eines Algorithmus zur semantischen Analyse (Patent beantragt)
Design und Implementierung
Redesign von Batch-Prozessen
Analyse von Prozessen im Ist-Zustand
Erstellen einer fachlichen Architektur
Design einer formalen Sprache (DSL) zur ausführbaren Beschreibung von Prozessen auf fachlicher Ebene
Anforderungsanalyse und Fachkonzeption
Technisches Design
Teile der Implementierung
Ziel:
Ablösung des Altsystems durch CoreMedia
Dokumentenstandard:
DITA
Übergreifendes Anforderungsmanagement
Beteiligte Personen: ca. 30
Bestandsaufnahme, Zielklärung, Zielkonfliktharmonisierung
Workshoporganisation und -durchführung
Erarbeiten und Einführung eines Vorgehensmodells
Einführung des Tools IRqA
Schulung und Coaching von ca. 20 Mitarbeitern
Migration der bestehenden Anforderungen
Ziel des Projektes war die Erarbeitung und Etablierung eines Verfahrens zum abteilungsübergreifenden Anforderungsmanagements für verschiedene Abteilungen der Demand-IT eines international tätigen Logistik-Konzerns. Hintergrund des Projektes ist die stratigische Ausrichtung verschiedener Demand-IT Abteilungen auf einen IT-Dienstleister als Lieferant und die mit ihm vereinbarte Strategie,
die zu entwickelnden Applikationen auf eine einheitliche Plattform aufzusetzen, u.a. um durch Synergieeffekte Entwikcklungs- und Betriebskosten einsparen zu können. Da die bisher bestehenden
und gelebten Vorgehensmodelle die ganze Bandbreite von formal definierten am Wasserfallmodell orientierten Prozessen bis zu einer agilen Arbeitsweise abdecken und sich an den bestehenden
Prozessen möglichst wenig ändern sollte, lag ein Schwerpunkt meiner Tätigkeit auf der Moderation und Vermittlung zwischen den Vorstellungen und Interessenslagen der verschiedenen Beteiligten. Es wurde ein Referenzmodell enwickelt, das einerseits Anpassungen je nach Projektgröße und Beschaffenheit vorsieht, andererseits aber sicherstellt, dass ein einheitlicher Rahmen mit definierten Synchronisationspunkten zwischen den verschiedenen Projekten vorgegeben ist. Die Implementierung
des Vorgehens mit dem Anforderungsmanagement-Tool IRqA und Validierung der gefundenen Lösung durch Pilotierung im realen Projektalltag habe ich verantwortlich begleitet durch Erstellung und Pflege eines Projekttemplates, Migration der im Tool Care vorhandenen Anforderungen nach IRqA, organisatorische Abstimmungen, Schulungen und Coaching der Mitarbeiter von Fachbereichen, Demand-IT und IT-Dienstleister, sowie Feinjustierung der vereinbarten Prozesse.
Produktentwicklung Rule- und Workflow-Engine
Zeitraum: Februar 2005 - Juni 2005
Projekt:
* Umgebung: Java, J2EE, JDBC, XML, Swing
* Linux, MacOS X
* Produkte: JBoss, Apache, Tomcat
Aufgabe:
Leiter eines kleinen Teams
In heutigen IT-Projekten ist es oft nötig, eine Vielzahl unterschiedlicher
Systeme zur Abbildung der gewünschten Geschäftsprozesse zu integrieren. Die
Komplexität der Anforderungen und die Vielzahl verwendeter Technologien
stellt eine besondere Herausforderung dar. Dabei lassen sich oft erhebliche
Effizienzvorteile in Form von verkürzten Entwicklungszeiten bei gleichzeitig
verbesserter Softwarequalität durch den Einsatz einer regelbasierten
Prozesssteuerung erreichen. Das Hauptaugenmerk des Produkts liegt dabei
darauf, einen unkomplizierten Einsatz durch einfache Bedienbarkeit und
vorgefertigte Module zu ermöglichen. Durch eine offene Architektur und
gute Erweiterbarkeit wird den hohen projektindividuellen Anforderungen
Rechnung getragen.
Rating (Basel II)
Zeitraum: März 2005 - April 2005, Teilzeit
Projekt: s.u.
Projektbüro Rating (Basel II)
Zeitraum: August 2004 - Dezember 2004
Projekt:
* Projekt (ca. 90 PJ) im Bankenumfeld
* ca. 30 Projektbeteiligte Banken
* Projektplanung (Meilensteine, Ressourcen, etc.)
* Releaseplanung
* Risikomanagement
* Fortlaufende Überwachung des Projektstatus
Aufgabe: Projektplaner und -controller
Planung für ca. 40 Mitarbeiter inkl Erstellung von Ganttdiagrammen, Meilenstein-, Ressourcenbedarfs- und -einsatzplänen.
Zusätzlich Weiterentwicklung des Planungsprozesses und coaching
der Mitarbeiter bei der Erhebung von Planungsdaten (Vollständigkeit
der Arbeitspakete, Plausibilisierung etc.) für die Projektphasen Fachliche und technische Konzeption, Realisierung und Dokumentation, Qualitätssicherung mit Tests der funktionalen
und nichtfunktionalen
Eigenschaften und Abnahme, Produktivsetzung und Datenmigration sowie Bugfixing und Change-Requests.
Für nicht durch MS-Projekt abgedeckten Funktionalitäten
Entwicklung entsprechende Planungstools auf Excel-Basis.
Verantwortung für die Überwachung des Projektfortschritts und der Erreichung von Meilensteinen.
Aufzeigen von sich abzeichnenden Projektrisiken und möglicher Handlungsoptionen.
Direkter Bericht gegenüber dem Gesamtprojektleiter sowie dem Abteilungsleiter.
Erstellen von Vorlagen für deren Berichte gegenüber ca. 30 projektbeteiligten
Banken. Erhebung der Aufwände und Abhängigkeite für die von den Banken für das
nächste Release gewünschten Features. Verschiedene Umsetzungsszenarien
(unter Berücksichtigung von Endtermin und Ressourceneinsatz) als Grundlage für
Abstimmungsprozess mit den projektbeteiligten Banken zusammenstellen.
Rating (Basel II)
Zeitraum:
Januar 2003 - Juli 2004, März, April 2005
Projekt:
* Projekt (ca. 90 PJ) im Bankenumfeld
* Sprache: Java, Haskell, u.a.
* Entwicklung von Domain specific languages
* J2EE, Bea Weblogic
* DB2 Datenbank
* B2B Schnittstelle, WebServices, Tapestry
* Modellierung mit Together
Aufgabe:
Architektur und Entwicklung, Koordination mit Fachabteilung, Training der Fachabteilung im formalen spezifizieren der Rating-Vorschriften, Verantwortung für die unten beschriebenen Sprachen und Compiler.
Das erstellte Software-System ist ein Tool zum Raten von Krediten. Hintergrund ist die von der Auswallwahrscheinlichkeit abhängige Eigenkapitalhinterlegung nach Basel II. Bei einem Ratingvorgang werden für einen zu bewertenden Kredit aus monetären Daten mehrerer Zeiträume (Hardfacts), sonstigen in Form eines Fragebogens erhobenen Daten (Softfacts) und einer Einschätzung des zuständigen Sachbearbeiters (Situative Bewertung) eine Note von 1 bis 15 ermittelt.
Das Projekt ist in J2EE Architektur auf einem Bea-Applicationserver realisiert. Als Frontend steht über Servlets eine Web-Schnittstelle sowie eine auf WebServices/SOAP basierende B2B Schnittstelle zur Verfügung. Die Web-Oberfläche basiert auf Tapestry. Die Businessobjekte sind als EJBs umgesetzt. Als Persistenzschicht kommt eine db2-Datenbank zum Einsatz.
Eine besondere Herausforderung in dem Projekt liegt in den hohen Flexibilitätsanforderungen: Die Software ist mehrmandantenfähig, unterstützt verschiedene Ratingmodelle nach Kundensegmenten und ist multiversionsfähig, da sich die verwendeten Ratingmodelle im Fluss befinden. Um die Mehrversionsfähigkeit sicherzustellen und auf veränderte Modelle schnell reagieren zu können, ist die Software in vielen Funktionen konfigurationsgesteuert. Um den Pflegeaufwand für die enorm komplexen Konfigurationen zu reduzieren, wurden für mehrere Funktionsgruppen auf die jeweiligen spezifischen Problemstellungen zugeschnittene Konfigurations- und Spezifikationssprachen entwickelt und entsprechende Compiler dafür implementiert, die dann die Konfigurationen maschinell erstellen. Die Funktionsgruppen sind im einzelnen:
* Alle Eingabe-Masken werden durch Meta-Daten definiert. Hier werden die zu jeder Maske gehörenden Eingabeelemente mit Beschriftung, Anzeigeformat und Validierung beschrieben. Auch Tabellen und dynamische Masken werden unterstützt.
* Die Abfolge der Masken wird von einem Workflow-Modul gesteuert. Konfiguriert wird ein Workflow-Graph, der die Abfolge der einzelnen Masken und Arbeitsschritte spezifiziert. Zur Realisierung von bedingten Workflows steht durch eine Integration mit der Rule-Engine (s.u.) der volle Zugriff auf alle Daten sowie Nutzerrechte und ein mächtiges Werkzeug für komplexe Entscheidungen zur Verfügung. Jeder Vorgang kann an jeder Stelle abgebrochen und später über eine Wiedervorlage wieder aufgenommen werden.
* Die Rule-Engine bildet einerseits die hinter einem Ratingmodell stehenden mathematischen und logischen Regeln ab. Andererseits wird sie als universell gehaltenes Hilfsmittel auch für viele Aufgaben verwendet wie die Eingabedatenvalidierung, die Zuordnung zu einzelnen Portfolios für Kunden der einzelnen Kundensegmente, in der Workflowsteuerung oder für die Datenaufbereitung der Reports.
* Neben der Note für ein Rating gibt es noch etliche weitere Auswertungen, die in Form von Reports als PDF-Datei zur Verfügung gestellt werden. Die PDF-Dateien werden über XSLT und XSL-FO aus XML-Daten erzeugt. Die Daten werden über eine Report-Definitionssprache zusammengestellt und als XML bereitgestellt.
Die oben beschriebenen Sprachen stellen ein wichtiges Verbindungsglied zwischen den fachlichen und technischen Aspekten der Anwendung dar: Sie erlauben einerseits eine Spezifikation, die detailliert genug ist, um die technischen Konfigurationen mit Hilfe der implementierten Compiler generieren zu können. Sie sind andererseits in der Abstraktionsebene möglichst weit an die fachliche Denkweise angelehnt. Es gelang, dass in vielen Bereichen die Fachabteilung nach kurzem Training in die Lage versetzt wurde, fachliche Vorgaben in Form von Excel-Sheets so formal zu spezifizieren, dass für die komplette Kette von der fachlichen Spezifikation bis zur technischen Realisierung eine automatisierte Umsetzung durch entsprechende Tool möglich wurde.
Einführung SAP FSBP bei der Postbank
Zeitraum:
Juli 2001 - Dezember 2002
Projekt:
Projekt (ca. 60 MJ) im Bankenumfeld
Sprache: Java, C, Haskell
J2EE, Bea Weblogic, JBoss, Apache/Tomcat
SAP, Kordoba
JCE (Java Cryptography Extension)
Novell Directory Service, LDAP, SSL
Conitunuus
Modellierung mit Rational Rose
JUnit Tests
Verschiedene Techniken des Compilerbaus
Aufgabe:
Architektur, Design und Entwicklung, Verantwortung für Bereich "technische Services"
Die "Technische Multikanalplattform" ist Teil der Migrationsstrategie, durch die das Bankenkernsystem Kordoba durch SAP abgelöst werden soll. Ihre Aufgabe ist die Integration der unterschiedlichen Business-Modelle der Backend-Systeme innerhalb einer Middelware, bei der die Geschäftsprozesse deklarativ in XML beschrieben abgebildet werden, um einen konsistenten Datenbestand für die Coexistenz der ERP-Systeme zu gewährleisten. Verschiedene Adaptoren entkoppeln die technische Anbindung der bankfachlichen Frontend-Anwendungen von den fachlichen Services, um so eine vertriebskanalübergreifende Konsolidierung der betriebswirtschaftlichen Business-Prozesse ermöglichen. Mein Schwerpunkt lag in der Verantwortung für die Konzeption und Realisierung einer Reihe der Services, die die technische Grundlage der Plattform bilden, sowie verschiedener Entwicklungstools und Compiler. Die wichtigsten davon sind:
Eine für das Projekt entwickelte "Komponenten-Architektur" definiert ein einheitliches Modell für den Lebenszyklus und die Abhängigkeiten verschiedener funktionaler Module. Aus einer deklarativen Beschreibung des Moduls generiert ein
entwickelter Signatur-Compiler zum einen die Schnittstelle, über die das Modul typsicher auf Konfigurationsdaten und auf andere Module zugreifen kann, zum anderen die Implementierung der Schnittstelle zum "Configuration-Service". Dieser
steuert den Lebenszyklus und die Parametrisierung der einzelnen Module sowie deren Zusammenspiel. Das Komponenten-Modell ist J2EE kompatibel und läuft sowohl unter einem Application-Server als auch standalone.
Das "Error und Exception Framework" stellt Mechanismen zur einheitlichen Fehlerbehandlung zur Verfügung. Zu seinen Aufgaben gehören Präsentationen der Fehler durch verschiedene Fehlertexte für unterschiedliche Sichten (Endnutzer,
Systembetreuung, Server-Meldungen), Protokollierung aller aufgetretenen Fehler, die Filterung nach Fehlerklassen und Gewichten sowie Informierung des System-Managements über aufgetretene Störungen. Außerdem sorgt es für die Vergabe
und Verwaltung von Fehler-Tickets zur Meldung an den Client und ermöglicht über ein webbasiertes Analyse-Tool den Zugriff auf die zu einem Fehlerticket gehörenden Informationen. Die Kausalbeziehungen der in verschiedenen
Softwareschichten aufgetretenen Fehler werden graphisch dargestellt.
Die Verarbeitung der verschiedensten XML-Dateien wird über einen eigenen Service realisiert, der ein XML-Objekt-Mapping-Tool zur Verfügung stellt, bei dem sowohl das Objektmodell als auch das XML-Schema unabhängig voneinander
wählbar ist.
Der "Security-Service" besteht aus einer Sammlung von Modulen, die unterschiedliche Aufgaben wahrnehmen. Darunter sind die gesicherte Datenübertragung durch asymmetrische und symmetrische Verschlüsselung, die
Nutzer-Authentifizierung und Autorisierung, der Passwortabgleich für ein SSO (single sign on), eine Ticket-basierte Session-Authentifizierung, die Vermittlung von Zugangs-Credentials für verschiedene Backend-Systeme sowie die
Kommunikation mit dem Meta-Directory der zentralen Benutzer-Verwaltung über LDAP.
Der "Trace-Service" dient der Nachvollziehbarkeit des Programmablaufes zur Performance oder Fehleranalyse. Dazu können zu jedem Methoden-Ein- und Ausstieg, bei Exceptions und an frei definierbaren strategischen Stellen Trace-Statements
in eine Log-Datei geschrieben werden. Da in jeder einzelnen Methode des Projektes umfangreiche Informationen an den Trace-Service übergeben werden müssen, wird der Source-Code im Rahmen des Build-Prozesses durch einen eigenen Compiler
vorübersetzt, der den Code um die entsprechenden Trace-Statements anreichert. Im Hinblick auf die Datenmenge und die Performance ist es nötig, die Filter einzusetzen. In einer Regel-Sprache können dabei verschiedene Bedingungen über die in
Abhängigkeit vom Programmteil, dem User, dem Transaktionstyp und anderen Daten bis auf die Ebene einzelner Methoden und Variablen definiert werden. Diese Bedingungen werden von einem weiteren Compiler optimiert und in einen
abstrakten Maschinencode übersetzt, der während der Laufzeit in die zu untersuchende Applikation nachgeladen werden kann. So konnte der Performanceverlust durch die in jeder Methode durchzuführenden Regelprüfungen auf unter 5% gesenkt
werden.
Ferner gehörte zu meinen Aufgaben die Bestandsaufnahme über Alt-Sourcen verbunden mit einem Architektur-Redesign. Die Analyse und Visualisierung der Abhängigkeiten in der Code-Basis durch verschiedene ad-hoc-Tools half, wichtige Ansatzpunkte
zur Code-Entflechtung aufzuzueigen. Die Entwicklung und Etablierung eines deklarativen Build-Prozesses hat sich als wichtiges Instrument erwiesen, die Einhaltung verschiedener Design- und Qualitätskriterien während der Entwicklungszeit
sicherzustellen.
Journal- und Retrievalsystem
Zeitraum:
November 2000 - Mai 2001
Projekt:
Projekt (ca. 4 MJ) im Bankenumfeld
Sprache: Java
IBM WebSphere, MQSeries, DB2
XML-basiert
Modellierung mit Rose
Programmgenerierung aus XML-Spezifikationen
automatisierte Unit-Tests
Aufgabe:
Leitender Architekt und Entwickler
Ziel des Projektes war die Archivierung der Transaktions- und Logdateien von SB-Terminals mit Hilfe einer modernen J2EE-basierten Architektur auf dem Backend S/390. Diese Daten werden durch ein webbasiertes Journal- und Retrievalsystem den Administratoren und Anwendern zur Verfügung gestellt. Die Eckpunkte der Architektur bilden ein Journal Agent, ein Journal Writer, ein Journal Reporter, eine Web Application sowie eine auf MQSeries basierende Kommunikationsinfrastruktur. Der Journal Agent erzeugt - abhängig von der jeweiligen Transaktion - über die in dem SB-Terminal der Bank generierten Geschäftsvorfälle XML-Daten, welche über die MQSeries-Infrastruktur an den Journal Writer gelangen. Dieser schreibt die XML-Daten wiederum in die Datenbank. Über die Web Application kann sich der Anwender je nach Grad der ihm eingeräumten Rechte Geschäftsvorfälle anzeigen lassen. Dabei leitet die Journal Web Application Anfragen des Anwenders weiter an den Journal Reporter, der diese mit Hilfe des Zugriffs auf die Datenbank bedient. Die Qualität der Entwicklung wurde durch automatisierte JUnit-Tests sichergestellt.
Data Warehouse
Zeitraum: August 1999 - Oktober 2000
Projekt:
* Projekt (ca. 10 MJ) für einen internationalen Chemie- und
Pharmakonzern
* 3-Tier-Architektur mit weltweit verteilten, über das Internet
angebundenen Clients
* Entwicklung in Java und Scheme
* Datenbank: Oracle
* OO/Rel-T;* OO/Rel-Tool: Toplink
* Kommunikation: RMI
* flexible Report Engine als Kern des Data Warehouse
Aufgabe: Mitarbeit bei der Architektur und Konzeption, eigenständige
Konzeption und Realisierung der Report Engine
Das entwickelte Produkt ist eine Anwendung, die zur weltweiten
strategischen Bedarfsplanung beim Kunden eingesetzt wird.
Getrennt nach Zuständigkeitsbereich werden betriebswirtschaftliche
Ist- und Plandaten auf verschiedenem Detaillierungsniveau vor Ort
erfasst und gepflegt. Über ein mehrstufiges Konzept werden die Daten
freigegeben und versioniert. Diese Daten können dann abhängig von den
Nutzerrechten nach verschiedenen Kriterien ausgewertet werden. Dazu
können die Nutzer sehr flexibel verschiedene Reports definieren und
abfragen, wobei die verschiedenen Währungen, Umrechnungskurse,
Einheitensysteme und Packungseinheiten berücksichtigt und transparent
umgerechnet werden. Ferner ermöglicht das Produkt Auswertungen über
zeitliche Entwicklung und die Abhängigkeiten verschiedener Kenngrößen
von Währungsschwankungen und einzelnen Kenndaten durch eine
"Was-wäre-wenn"-Analyse.
Die Daten werden in einem zentralen Data Warehouse gespeichert. Über
Standleitungen bzw. das Internet angebundene Java-Clients ermöglichen
den weltweiten Zugriff. Die Kommunikation erfolgt über RMI und ist
SSL-verschlüsselt. Im Server werden die Objekte der Business Logic mit
dem OO/Rel-Tool Toplink auf eine Oracle-Datenbank abgebildet. Die
Reporterzeugung erfolgt direkt über SQL/JDBC. Die in Java und Scheme
realisierte Report Engine leitet aus den Report-Definitionen und den
fachlichen Anforderungen regelbasiert einen Abfrage- und
Berechnungsplan her und erzeugt Performance-optimierte SQL-Statements.
Gutachten für Internet Commerce
Zeitraum: März 1999 - Juli 1999
Projekt:
* Gutachten über die Zuverlässigkeit verschiedener Zählverfahren für
Web-Zugriffe
* Messprogramme zur Analyse des Verhaltens verschiedener Web-Browser
* Konzeption und Entwicklung eines flexibel konfigurierbaren
Web-Roboters zur Simulation verschiedener Web-Browser
* Sprache: Python, C
* Einsatz verschiedener Protokoll-Sniffer und Proxies
* Entwicklung zusätzlicher Analysetools
* automatische Simulation von Browserzugriffen
Aufgabe: Abstimmung mit dem Kunden, Mess- und Testkonzeption,
Konzeption und Realisierung der Mess- und Simulationsprogramme
Kern des Projektes war die Gewinnung aussagekräftiger Messdaten für
ein Gutachten über die Zuverlässigkeit verschiedener Zählverfahren von
Webseitenaufrufen. Die Messungen wurden in Abhängigkeit von vielen
Parametern wie Art des Angebots, Provider, Tageszeit, Betriebssystem,
Browser und Konfiguration durchgeführt. In einer Analyse wurde mit
Hilfe verschiedener Tools das Verhalten der einzelnen Browser
insbesondere im Hinblick auf die zeitliche Abfolge und Kausalität
nebenläufiger Requests sowie das Verhalten unter verschiedenen
Fehlersituationen geprüft. Die Seitenabrufe wurden durch einen
konfigurierbaren Web-Roboter simuliert. In einem Feldtest fanden dann
unter realen Internetbedingungen Messungen in dem entsprechenden
Mengengerüst statt.
Web-Redaktionssystem
Zeitraum: Dezember 1998 - März 1999
Projekt:
* Datenbank: Oracle
* Implementierung in C++, Python und Shell-Skripten
* verteilte Applikation
* XML-Schnittstelle
* Plattform: UNIX (Solaris)
Aufgabe: Eigenständige Konzeption und Realisierung
Gegenstand des Projekts war die Schaffung einer flexiblen
Infrastruktur zum Management der Inhalte verschiedener Bereiche eines
Web-Auftritts. Dabei waren das Rechtesystems, die Anforderungen an
verteiltes Arbeiten und die jeweiligen Sicherheitsanforderungen zu
berücksichtigen.
Die verschiedenen Datenquellen (Oracle Datenbanken, Dateiablage,
Systemdaten, gdbm Datenbank) wurden hinter einem Objektmodell
verborgen und die Methoden der Objekte auf ein XML-basiertes
Messageformat abgebildet. Ein zentral konfigurierbarer Message Router
in jeder Komponente verbindet die Komponenten über synchrone und
asynchrone Transportwege zu einem virtuellen Informationsbus, der die
einzelnen Komponenten hinsichtlich Implementierungssprache, Ort,
Kommunikationsmedium und Sicherheitszone voneinander entkoppelt.
Als Frontend steht ein SSL-verschlüsseltes, Template-basiertes
Web-Interface sowie ein Mail-Interface und für administrative Aufgaben
ein Command-Line-Tool zur Verfügung.
Diverse Projekte für einen ISP
Zeitraum: Juli 1997 - Januar 1999
Projekt:
* Konzeption Netzwerktopologie, Hardware und Protokolle
* Konzeption und Umsetzung von Firewall-Lösungen
* Installation und Konfiguration von Netzwerken für Kunden
* Konfiguration und Administration verschiedener Server und Services
(Web, Mail, News, Namserver, Routing)
* datenbankgestützte Web-Angebote, Sprache: C++, Oracle
* Konzeption und Realisierung eines IRC-Clients als Java Applet
Aufgabe: Eigenständige Konzeption und Realisierung nach Anforderung,
Kundenberatung
Monitoring Software für USVs
Zeitraum: Mitte 1996 - Mitte 1997
Projekt:
* Sprache: C, C++
* Plattformen: Linux, SCO, Mac, Windows 95 / 3.11
* Konfigurierbarkeit für verschiedene Geräteprotokolle
* SNMP Agent
Aufgabe: Schnittstellenspezifikation, Realisierung
1988
Abitur
1988 ? 1995
Studium der Mathematik, Stipendium der Studienstiftung des deutschen Volkes
1996 ? heute
25 Jahre Berufserfahrung als IT-Consultant
2019 ? heute
Studium Cyber Security
IT-Security
Projektleitun
Architektur
UML: Rose, Together/J
J2EE, Bea Weblogic, Web-Sphere
Tapestry
Hybernate
Spring framework
Design by Contract
UNIT-Tests nach XP
Oracle, DB2
XML, XSLT, XSL-FO, XPATH, RDF: Verarbeitung in verschiedenen Sprachen
Web services, Axis
MDA (Model Driven Architecture) und Compilerbau
Persönliche Stärken:
Ausgeprägtes analytisches Denken
Lösungsfindung bei komplexen Anforderungen
Selbständige Arbeitsweise und gute Teamfähigkeit
Extrem gute Auffassung und schnelles Einarbeiten in neue Themen
Hohe Identifikation mit den übernommenen Aufgaben und sehr gute Performance
Termintreue
Hohes Qualitätsbewusstsein
Projektmanagement:
Scoping, Zieldefinition, Projektstrukturplan, Arbeitspaketbeschreibung
Aufwandsschätzung, Ressourcenbedarfs- und Einsatzplanung
Statusberichte, Projektfortschrittsüberwachung
Release- und Meilensteinplanung
Risikomanagement
Testorganisation und -begleitung
Issue-Tracking
Durchführung von Projektabnahmen
Prozessdefinition, Vorgehensmodelle
Analyse und Konzeption:
Anforderungsanalyse und -management
Erstellen von Konzepten, Lastenheften etc.
Erstellen von formalen Modellen zur Abbildung von Fachanforderungen
Schnittstellenfunktion zwischen Fachabteilung und IT
Durchführung von Interviews und Analyseworkshops
Lösungsfindung auch bei unklaren und widersprüchlichen Anforderungen
UML-Modellierung
Nichtfunktionale Anforderungen
IT-Security:
Gute Kenntnisse und praktische Erfahrung mit Krytographie, symmetrischer und asymmetrischer Verschlüsselung. Sicherer Umgang mit Crypto-Libraries in Java und Python.
Ausführliche Praktische Erfahrung im Aufbau und Einsatz von X.509-Zertifikaten und PKI, inklusive Cross-Zertifizierung, Key Revocation Lists (CRLs), Online Certificate Status Protocol (OCSP), verschiedene X.509 Extensions, Aufbau von X.509 Zertifikaten auf Binärebene (ASN.1 DER-Kodierung)
Konzeption und Konfiguration von Firewall-Regeln
Praktische Projekterfahrung mit Oauth, OpenID-Connect, JWT (JavaWebToken)
Praktische Erfahrung im Aufbau eines IDS/NDS (Intrusion Detection System /Security Monitoring System)
Praktische Erfahrung mit Qubes-OS
Ausgiebige Erfahrung mit Sicherheit von Webanwendungen, OAuth, Schutz gegen Cros-Sside-Scripting (XSS) und SQL-Injection.
Bedrohungsanalyse nach STRIDE
OWSAP Best Practices
BSI-Grunschutz
Zertifizierter T.I.S.P: TeleTrustT Internet Security Professional (TÜV PersCert)
Architektur-Methodik:
Sehr gute Kenntnisse in OO-Methoden, UML und Design Patterns
Ausführliche Projekterfahrung mit Modellierungs- und CASE-Tools, z.B. Rational Software Modeler, Rational Rose, TogetherJ
Sehr gute Kenntnisse und Projekterfahrung mit Service-Orientierter Architektur (SOA) sowie Microservice-Architektur
Ausführliche Projekterfahrung mit Inversion of Control / Dependency Injection (z.B. Spring)
Praktische Projekterfahrung mit MDA (model driven architecture)
Ausführliche Praxiserfahrung im Design und der Entwicklung von Domain-Specific-Languages (DLS), Compilern, Rule- und Process-Engines
Praktische Projekterfahrung mit Design by Contract
Schichtenmodelle, Modularisierung, Abhängigkeitsanalysen
Lose Kopplung / SOA
Code Reviews und Code-Analyse
Compilerbau:
Entwurf und Implementierung von Domain Specific Languages (DSLs)
Umfangreiche Kenntnisse und praktische Erfahrung mit verschiedenen Techniken zum Source-Code-Parsen
Umfangreiche Kenntnisse der Algorithmen zur Code-Analyse wie Datenfluss- und Erreichbarkeitsanalyse, SSA-Form (Single-Static-Assignment), Typ-Systeme und Typ-Inferenz, etc.
Praktische Erfahrung in der Visualisierung von Code-Analysen
Gute Kenntnisse der Code-Generierungs-Techniken für stack- und registerbasierte CPUs oder virtueller Maschinen (VMs)
Erfahrung im dynamischen Generieren und Laden von Bytecode in der Java Virutal Machine (JVM)
Java / JEE:
Sehr gute Kenntnisse und ausführliche praktische Erfahrung mit der Sprache
Sehr gute Kenntnisse in JEE und Spring
Sehr gute Kenntnisse in Anbindung von SQL und NoSQL-Datenbanken
Gute Kenntnisse in Multithreading
sehr gute Kenntnisse der XML- und JSON- Verarbeitung mit Java
Web:
Langjährige Projekterfahrung in der Entwicklung von Webanwendungen
Langjährige sehr gute Projekterfahrung in Java-Script, (insb. dynamische Generierung), Verarbeitung von JSON, XML
Umfangreiche Projekterfahrung mit REST-Services und WebServices (SOAP, WSDL)
Gute Kenntnisse in HTML, Grundkenntnisse in CSS
Ausführliche praktische Projekterfahrung mit unterschiedlichen Frameworks (u.a. AngularJS, ReactJS, Spring-MVC, JSP, XSLT, NodeJS, verschiedene Template-Sprachen)
Ausführliche Erfahrung mit PHP
XML:
Sehr gute Kenntnisse und ausführliche Projekterfahrung in XML, XSD, XPATH, XQL, XQuery, XSLT, XSL-FO
Sehr gute Kenntnisse der XML-Verarbeitung mit verschiedenen Sprachen
Ausführliche Projekterfahrung in XML-basierten Web-Anwendungen
Office-Programme:
Sicherer Umgang mit Word, Excel, Powerpoint
Automatisierte Generierung von Dokumenten aus Datenquellen
Solide Grundkenntnisse MS-Project
Grundkenntnisse MS-Access und VBA
Betriebswirtschaft:
Fundierte Grundkenntnisse und Praxiserfahrung in Buchhaltung, Bilanz, Jahresabschluss
Fundierte Grundkenntnisse in verschiedenen Rechtsformen, Kosten- und Leistungsrechnung, investitionstheoretische Grundlagen und Kennzahlen
IT-Security:
TeleTrustT Information Security Professional (T.I.S.P)
Kommunikation:
NLP?Master (DVNLP)
NLP?Trainer (DVNLP)
Systemischer Coach (ECA)
Facecoaching Master und Professional (Emotionserkennung in Mikromimik)
Telekommunikation
Banken & Finanzen
Internet, Internet Service Provider
Innovation-Lab
Marktforschung
Logistik
Automobil
Chemie / Pharma
Gesundheit
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.
"[...] Der Consultant hat seine Aufgaben mit einem hohen Maß an persönlichem Engagement, Verantwortung und Flexibilität erfüllt. Seine gute Auffassungsgabe erlaubte es ihm, sich auch fremde Inhalte in kurzer Zeit selbständig zu erschließen. Daneben verstand er es, seine exzellenten IT- und Computerkenntnisse und starken kommunikativen Fähigkeiten zielorientiert und effizient in die Arbeit einzubringen. Er zeigte sich in allen Situationen belastbar und hat es verstanden, mit seiner Arbeit wesentlich zur Entlastung der Projektleitung beizutragen. Dabei haben wir ihm unbedenklich auch vertrauliche Vorgänge übertragen. Von Vorgesetzten und Kollegen wird seine liebenswürdige, hilfsbereite und zuverlässige Art hochgeschätzt. Seine Leistungen haben in jeder Hinsicht stets unsere vollste Anerkennung gefunden. [...] Wir danken dem Consultant für seine wertvolle und sehr erfolgreiche Mitarbeit und würden uns außerordentlich freuen, ihn bei einem zukünftigen Projekt wieder engagieren zu können. Für seine weitere berufliche und persönliche Zukunft begleiten ihn unsere besten Wünsche."
— Projekt Internes Rating/Basel II, 07/04 - 12/04
Referenz durch Abteilungslleiter eines großen IT-Dienstleisters, vom 30.05.05
"Der Consultant verfügt über ein ausgezeichnetes und sehr fundiertes technisches Fachwissen, das er stets sicher und zielgerichtet in der Praxis einsetzt. Die im Projekt verwendeten Programmiersprachen Java, insbesondere J2EE, C und Haskell beherrscht er souverän. Dank seiner sehr schnellen Auffassungsgabe, seines reichen Projekterfahrungsschatzes und seiner Flexibilität hatte sich der Consultant äußerst zügig in seine Aufgaben eingearbeitet und umgehend eigenständig vorzügliche Resultate geliefert. Der Consultant ist in der Lage, auch komplexeste Strukturen zu durchdringen und die wesentlichen Muster zu erkennen. Darauf aufbauend und in Verbindung mit analytischem Denkvermögen, Kreativität und dem richtigen Augenmaß für das Machbare entwickelte und realisierte er sehr effektive Lösungen, die das Projekt entscheidend voranbrachten. Der Consultant arbeitete stets sehr verantwortungsbewusst, zuverlässig und auch unter größter Belastung mit nicht nachlassendem Engagement und Qualitätsbewusstsein zum Wohle des Projekts. Besonders hervorheben möchten wir in diesem Zusammenhang seine überaus schnelle und dabei präzise Arbeitsweise. Er setzte die richtigen Prioritäten, fällte zutreffende Urteile und ergriff alle erforderlichen Maßnahmen entschlossen. Die einzelnen Prozessschritte und Teilprojekte überblickt er auch im Gesamtzusammenhang und steuert seinen Arbeitsablauf selbstständig und effektiv. Als aufgeschlossener, kommunikationsstarker und kooperativer Mitarbeiter wurde der Consultant von allen Vorgesetzten, Kollegen und sonstigen externen Projektpartnern sehr geschätzt und häufig kontaktiert. Er übertrug seine hohe Motivation auch in schwierigen Situationen auf das Team und förderte jederzeit die gute Zusammenarbeit. Wir waren daher mit den Leistungen des Consultants stets und in jeder Hinsicht sehr zufrieden. Sein persönliches Verhalten war stets einwandfrei. Wir bedanken uns beim Consultant für seine wertvolle und konstruktive Mitarbeit und würde es äußerst begrüßen, ihn für ein weiteres Projekt wieder engagieren zu können. Einstweilen wünschen wir ihm für seine berufliche und persönliche Zukunft alles Gute sowie weiterhin viel Erfolg und sprechen hiermit unsere höchste Empfehlung aus."
— Projekt Einführung SAP FSBP bei der Postbank, 07/01 - 12/02
Referenz durch Projektmanager, Postbank Systems AG, vom 27.11.02
"Ziel des Projekts SSCI war es, die Transaktions- und Logdateien von SB-Terminals im Umfeld der Sparkassen mit Hilfe einer modernen, J2EE-basierten Architektur auf dem Backend S/390 zu archivieren. Diese Daten werden dann durch ein webbasiertes Journal- und Retrievalsystem den Administratoren und Anwendern zur Verfügung gestellt. Die Eckpunkte der Architektur bilden ein Journal Agent, ein Journal Writer, ein Journal Reporter, eine Web Application sowie eine auf MQSeries basierende Kommunikationsinfrastruktur. Der Journal Agent erzeugt - abhängig von der jeweiligen Transaktion - über die in dem SB-Terminal der Bank generierten Geschäftsvorfälle XML-Daten, welche über die MQSeries-Infrastruktur an den Journal Writer gelangen. Dieser schreibt die XML-Daten wiederum in die Datenbank. Über die Web Application kann sich der Anwender je nach Grad der ihm eingeräumten Rechte Geschäftsvorfälle anzeigen lassen. Dabei leitet die Journal Web Application Anfragen des Anwenders weiter an den Journal Reporter, der diese mit Hilfe des Zugriffs auf die Datenbank bedient. Die Qualität der Entwicklung wird durch automatisierte JUnit-Tests sichergestellt. Der Mitarbeiter war innerhalb eines fünfköpfigen Entwicklerteams als leitender Architekt und Entwickler tätig. Er hat das ihm übertragene, außerordentlich anspruchsvolle Aufgabenpensum stets zu unserer vollsten Zufriedenheit erledigt. Seine in jeder Hinsicht überzeugenden Leistungen zeichneten sich durch Zuverlässigkeit und Termintreue sowie die überragende Produktivität seines Einsatzes aus. Darüber hinaus hat der Consultant auch in vorbildlicher Form den Erfolg des Gesamtprojekts gefördert. So trugen die von ihm eingebrachten Konzepte in vielfältiger Weise dazu bei, eine reibungslose Teamarbeit zu ermöglichen. Über die im Rahmen seiner Verantwortung für die Produktarchitektur anfallenden Aufgaben hinaus kümmerte sich der Consultant um die Gestaltung der softwaretechnischen Produktionsumgebung mit dem Ergebnis eines höchst effizienten Build Managements. Sein ebenso kooperativer wie zielorientierter Arbeitsstil veranlasste ihn zudem, Teamkollegen nach Bedarf bei ihrer Arbeit zu fördern und konkret zu unterstützen. Auch bei der Einarbeitung eines im Laufe des Projekts hinzugekommenen Teammitglieds bewies der Mitarbeiter großes Geschick. Aufgrund seiner beeindruckenden Kompetenz auf verschiedensten fachlichen Gebieten sowie seines engagierten Einsatzes gelang es ihm immer wieder, das Projekt durch wertvolle Impulse entscheidend voranzubringen. Wir würden es sehr begrüßen, wieder mit dem Mitarbeiter zusammenarbeiten zu können, und können ihn für weitere Projekte ohne Bedenken weiterempfehlen."
— Projekt Architektur + Entwicklung für Journaling und Auswertungen, 10/00 - 05/01
Referenz durch Projektleiter eines Rechenzentrums der Sparkassen vom 26.04.01