|
Mein Schwerpunkt ist es, in Zusammenarbeit mit den Spezialisten aus den Fachbereichen einen betriebswirtschaftlichen Prozess zu erarbeiten und diesen anschließend technisch auf einer vorhandenen Plattform umzusetzen.
Ich bin, im wahrsten Sinn des Wortes, in einem mittelständischen Industriebetrieb aufgewachsen. Meine Eltern waren die Inhaber und leiten das Unternehmen gemeinsam, so nahm ich von klein auf "am Esstisch" an Gesprächen über Deckungsbeitrag, Marketingstrategien, Bilanzpositionen und vielem mehr teil.
In diesem Bereich setzte ich auch den Schwerpunkt meiner schulischen Ausbildung. Meine Abitur-Prüfungen an einem Wirtschafts-Gymnasium bestanden aus Operation Research im Fach Mathematik, Makro- und Mikro-Ökonomie in BWL/VWL, Kostenrechnung mit Schwerpunkt Deckungsbeitragsrechnung im Betrieblichen Rechnungswesen und Deutsch. Ich studierte Wirtschaftswissenschaften und übernahm Aufgaben im Vertriebscontrolling in Unternehmen meiner Eltern.
Etwa zu dieser Zeit kamen die Personal-Computer auf, die ich als Hilfsmittel für das Vertriebs-Controlling nutze. Dabei entdeckte ich meine Vorliebe für das Programmieren. Um weitere Erfahrungen zu sammeln arbeitet ich bei Siemens als Werkstudent im Bereich Großrechner und wechselte die Studienrichtung auf Wirtschaftsinformatik.
Für mich sind betriebswirtschaftliche Themen "Easy-Doing", hierüber verliere ich in der Nachbetrachtung eines Projektes wenig Worte, wie Sie beim Durchlesen meiner Projektberichte feststellen werden.
Die Transformationen von Kundendaten oder die Entwicklung eines Buchungskerns auf Basis von Vorgaben, die ich gemeinsam mit den Mitarbeitern aus dem Fachbereich entwickelte, ist für mich simpel, die zukunftsweisende, wartbare und "schöne" technische Umsetzung spannend.
Um gemeinsam mit Kollegen, System-Administratoren und Software-Architekten die optimale technische Umsetzung zu erarbeiten ist eine gemeinsame Sprache und ein Verständnis der technischen und theoretischen Grundlagen notwendig. Hier sehe ich mich in der Pflicht und wende viel Zeit für meine eigene Fortbildung auf.
So habe ich mir im Lauf der Jahre einen umfangreichen Erfahrungsschatz sowohl in der klassischen Großrechner- und der Client-Server Welt erarbeitet. Ich weiß deshalb, dass eine Vorgehensweise, die in der einen Welt optimal ist, in der anderen Welt nicht zu dem gewünschten Erfolg führen muss.
Ich kenne die Unterschiede in der Ausdrucksweise zwischen einem Host-Entwickler, der mit COBOL, CICS und DB2 arbeitet, und einem Client/Server-Entwickler, der mit Java und EJB arbeitet, da ich in beiden Welten über langjährige Projekterfahrung verfüge.
Die technische Umsetzung in Java ist sicher spannender, die Zeilen
benötigte ich in einem Projekt, um dynamisch ein mit dem normalen Java Classloader in der Anwendung erzeugtes Objekt mit einem OSGi Classloader (Eclipse Runtime) erneut zu instanziieren und anschliessend per Reflection die Inhalte zu übertragen, damit über ODA auf die Daten zugegriffen werden kann.
Solche Konstrukte sind spannend, und deshalb programmiere ich auch in meiner Freizeit gerne und regelmäßig in Java seit 1996
Die Migration der Daten von 15 Millionen Kunden in einer Nacht, in Summe Hunderte von Millionen Datensätzen aus gut 40 DB2 Tabellen, mit den relativ einfachen sprachlichen Mitteln, die auf dem Grossrechner vorhanden sind, ist auch spannend und wenn es erfolgreich gelaufen ist, sehr befriedigend.
Ich werde manchmal gefragt, ob ich eher ein Java- oder ein COBOL-Entwickler bin. Bei komplexen Aufgaben ist in COBOL die Konzeption und in Java die technische Umsetzung interessanter. Ich mag und kann beides. Kollegen aus dem Bereich Mainframe sehen mich als COBOL-, Kollegen aus dem Bereich Java als Java-Programmierer. Ich glaube, das beantwortet die Frage.
Mein Profil pflegte ich mit hohem Aufwand seit vielen Jahren mit verschiedenen Textverarbeitungen (WordStar, AmiPro, Word, StarOffice, HTML) für verschiedene Ausgabeformate (Papier, HTML, ...). Seit 1999 verwende ich XML, das per XLST (Xerces, Sax) direkt oder über weitere Tools nach XML, HTML, FO, PDF, DOC, ... transferiert wird.
DSGVO Löschung Scanner Images | ||||||||||
|
||||||||||
Die Versicherung speichert seit Jahrzehnten eingescannte Dokumente als Images in einem OAM Service zu Vorgängen ab. Abgeschlossene Vorgänge werden nach der Aufbewahrungsfrist durch die jeweiligen Bestandssysteme gelöscht. Da Dokumente teilweise mehreren Vorgängen in verschiedenen Bestandssystemen zugeordnet sind, ist eine Löschung eines gescannten Dokuments bei der Löschung eines Vorgangs in einem Bestandssystem nicht möglich. Mit internen Kollegen entwickelte ich ein Konzept zur DSGVO gemäßen Löschung und setzte ich auf dem Grossrechner um. |
Umstellung MicroFocus auf Mainframe | ||||||||||
|
||||||||||
Zur Unterstützung des Aussendienst nutzt die Versicherung seit vielen Jahren einen Lebensversicherungs-Tarifrechner unter Windows. Die Software ist in MicroFocus COBOL geschrieben. Im Rahmen der neuen Internet-Lösung ist der Rechenkern des Tarif-Rechners auf den Mainframe portiert worden. MicroFocus bietet gegenüber dem ANSI COBOL einige nützliche Erweiterungen, die kräftig genutzt wurden. Besonders betrifft dieses indirekte Array-Zugriffe wie "move a( b( c( d))) to feld". Ich unterstützte das Team mit meinen Erfahrungen, insbesondere bei den Unterschieden MicroFocus / IBM, die mich seit meinem Studium begleiten, bei der Portierung. |
Replatforming z/OS auf X86 | ||||||||||
|
||||||||||
Ich war ab Anfang 2017 bis Juni 2020 bei diesem Kunden Vollzeit tätig und habe verschiedenste Aufgaben wahrgenommen, anbei einige Highlights. Mein Kunde stellte eine seit Jahrzehnten gewachsene z/OS Anwendungslandschaft um. Das bisherige Kernbank System wurde durch eine SAP Lösung ersetzt. Diverse Umsystem, zum Beispiel zur Vertriebssteuerung, Provision-Berechnung, Datenaufbereitung für das Meldewesen, wurden um die Kosten für den IBM Mainframe zu vermeiden, auf eine LINUX Plattform umgestellt. Statt bisher z/OS, MQS, DB2, CICS, IBM COBOL, JCL werden nun LINUX, Web-Services, Oracle, MF-Enterprise-Server, Microfocus COBOL, Linux Shell Script genutzt. |
Übernahme Aussendienst Organisation | ||||||||||
|
||||||||||
Krankheitsbedingt fiel der Key-Player im Bereich Programmierung Aussendienst Organisation im Herbst 2018 sowie ab Herbst 2019 für jedes mehrere Monate aus. Seine Aufgaben wurden mir übertragen. |
Vorstudie Neues Strassenverzeichnis | ||||||||||
|
||||||||||
Da nicht klar war, wie lange noch eine Wartung vom Anbieter der Fremdsoftware Strassenverzeichnis geleistet werden kann, wurde eine Vorstudien durchgeführt. Hier konnte ich meine Erfahrungen von anderen Kunden in den Bereichen Adress-Prüfung, Dubletten, Gebietszuordnungen einbringen. |
Replatforming Fremdanwendung | ||||||||||
|
||||||||||
Ein Teil der Vertriebsanwendungen ist die "Wohnsitz Organisation", ein Verzeichnis aller Strassen in Deutschland mit der Zuordnung der Gemeindekennziffer (GKZ), auch Kreis-Gemeinde-Schlüssel genannt. Alle erfassten Adressen werden gegen das Strassenverzeichnis geprüft und jeder Adresse wird über ihr GKZ ein Vertriebsgebiet (Handelsvertreter mit Gebietsschutz) zugeordnet. Die Software wurde vor wohl 40 Jahren durch ein Softwarehaus als Standard-Lösung entwickelt und bei meinem Kunden im Rahmen der Postleitzahl-Umstellung (kurz nach der Deutschen Einheit) eingeführt. Die Software wurde auch nach LINUX portiert. Da der Software-Anbieter deutlich geschrumpft ist, habe ich bei der Portierung technisch unterstützt. Die Software läuft jetzt auch unter LINUX. |
Replatforming Vertriebsanwendungen | ||||||||||
|
||||||||||
Danach wurde ich wieder im Bereich Vertriebsanwendungen benötigt. Ich ermittelte die circa 1.200 umzustellenden Sourcen, übergab diese an den Dienstleister, kontrollierte die Rücklieferung und führte die ersten Entwicklertests durch. Leider gab es bei der Bereitstellung des Systems für den Fachtest, da auch etliche andere Anwendungen hier einen Bedarf hatten, eine kurze Verzögerung, so dass ein ausreichender Test vor dem geplanten Release-Termin nicht durchführbar war. Deshalb wurden die Vertriebsanwendungen auf das nächste Release verschoben. Um die Programme andere Umsysteme, die schon nach X86 gegangen waren, auch dort versorgen zu können, ermittelte ich die benötigten Unterprogramme sowie die Datenbank-Tabellen. Die Unterprogramme wurden Teil des ursprünglich geplanten Releases, wobei der Fachtest im Rahmen der anderen Umsysteme erfolgte. Weiterhin waren Datenbank-Spiegelungen der benötigten DB2 Tabellen auf die Oracle Datenbank notwendig. Da bis zum Release-Termin einige fachliche Änderungen notwendig waren, unterstützte ich auf dem Mainframe und führte die zeitgleiche Portierung nach LINUX durch. |
Geschäftspartner Extraktion | ||||||||||
|
||||||||||
Nach der produktiven Einführen des Replatforming erhielt ich die Aufgabe, etwa ein Dutzend neue Datenbank Tabellen aus neuen Datenquellen für das Datenbank Reporting zu füllen. Die Ziel-Tabellen sind mit Zeitscheiben "Daten der Erkenntnis" zu bestücken, die Datenquellen liefern nur die neuen, geänderten oder gelöschten Daten für den Verarbeitungstag. Es sind mehrere Datenbank-Tabellen aus dem Quellsystem zu einer zu füllenden Tabelle zu kombinieren, wobei nicht alle Quell-Datenfelder relevant sind. Die Datenquellen werden auf dem gleichen Oracle Datenbank Server wie die zu füllenden Bestands-Tabellen bereitgestellt. Zusammen mit zwei Kollegen entwickelte ich ein Vorgehen auf Basis meiner Erfahrungen in früheren Projekten bei anderen Kunden. Die Datenquellen werden durch teilweise recht komplexen Select Befehle mit Common Table Expressions in eine Tabelle TEMP-1 geschrieben (INSERT ON SELECT), die schon das Zielformat repräsentiert. Danach wird diese Tabelle mit der Bestands-Tabelle verglichen und das Delta in eine Tabelle TEMP-2 geschrieben, auch ein INSERT ON SELECT. Bei einigen Tabellen sind "Auslöser-Dateien" für nachgelagerte Programme zu erstellen, dieses geschieht auf Basis der TEMP-2 Tabelle. Über den Inhalt der TEMP-2 Tabelle werden in der Bestands-Tabelle die zu ersetzenden Datensätze abgegrenzt, also per UPDATE das "Gültig-Bis" Datum gesetzt. Zum Schluss wird die TEMP2 Tabelle in die Bestandstabelle per INSERT eingefügt. Pro Tabelle wurde ein Steuer-Programm und ein Zugriffs-Modul erstellt. Jedes Steuer-Programm und jedes Zugriffs-Modul besteht primär aus einem "Code-Copy", also den gleichen Befehlen. Dieses "Code-Copy" ist mit einer Abstrakten Klasse bei der Objekt Orientierten Programmierung zu vergleichen. Pro Programm sind "nur" die Namen der Tabellen, die Feldnamen sowie der SQL SELECT zum Lesen der Quell-Tabellen zu implementieren. Die anderen SQL-Befehle werden zur Laufzeit generiert. Die Vorgänger Programme, die fachlich etwas vergleichbaren tun, jedoch auf Basis von sequentiellen Dateien und mit anderen Ziel-Tabellen, liefen auf z/OS zwischen 30 Minuten und 2 Stunden, auf LINUX nach dem Replatforming eher 1 bis 5 Stunden. Die neuen Programmen laufen in Minuten, das Programm mit dem größten Datenvolumen circa 10 Minuten. |
Auswertungen Vergleichstests | ||||||||||
|
||||||||||
Die Batch-Tests waren Vergleichstests zwischen den bisherigen z/OS Abläufen und den neuen LINUX Abläufen. Waren auf dem Mainframe die Batches gelaufen, wurde die Ergebnis-Dateien auf ein LINUX System kopiert. Sobald auf der LINUX Maschine die Batches beendet waren, wurden ein Vergleichs-Script gestartet. Meine Aufgabe war die Analyse und technische Bewertung der Unterschiede, um die Ergebnisse für die Tester aus dem Fachbereich verständlich zu machen. Hierzu passte ich das Shell-Script bestehend aus sort, sed und diff Befehlen und deren Parametern an. Zum Abschluss wurden die Ergebnisse automatisch in eine EXCEL Sheet geschrieben und dem Fachbereich auf einem Laufwerk zur Verfügung gestellt. Problemzonen waren natürlich die Sortierung (EBCDIC / ASCII) sowie einige Sonderzeichen. Die Ursprungsdaten stammen teilweise aus SAP Systemen, die den Zeichensatz ISO 8859-1 nutzen, für die Umsetzung nach EBCDIC gibt es eingespielte Regeln. Die Oracle Datenbank läuft mit UNICODE und kann damit alle Zeichen, insbesondere ISO 8859-1, richtig speichern. Die COBOL Programme auf den X86 Anwendungs-Servern werden jedoch mit ISO 8859-15 betrieben, unter anderem, weil dort das Euro-Zeichen vorhanden ist, dafür sind jedoch einige Sonderzeichen, die in Deutschland eigentlich nicht genutzt werden, nicht definiert. Der Datenbank-Client der COBOL Programme meldet sich bei der Datenbank an und nennt "seine" Codepage ISO 8859-15. Deshalb sendet die Datenbank für die UNICODE Zeichen, die nicht in ISO 8859-15 definiert sind, das "Ersatz-Zeichen", ein umgedrehtes Fragezeichen "¿". Die Lösung war, die COBOL Programme, die kritisch sind, mit dem Zeichensatz ISO 8859-1 bei der Datenbank anzumelden. Die Analyse und vor allem den Projektleitern den genauen Sachverhalten für ihre Entscheidungsfindung zu erläutern, war für mich ein gutes Stück Arbeit. Ein anderes Problem gab es mit einem Umsystem, das Dateien erhält. Auf dem Mainframe sind Dateien mit fester Satzlänge (FB, LRECL) üblich, wobei die Spalten nach dem Ende der Nutzdaten mit Leerzeichen aufgefüllt werden. Auf LINUX System sind sequentielle Dateien mit variabler Länge üblich, hier werden die abschliessenden Leerzeichen nicht in die Datei geschrieben. Das System, welches die Dateien empfängt, läuft zwar auf einem Linux System und erwartet ein CR/LF am Satzende, prüfte aber die Satzlänge. Nach Analyse des Empfangs-Systems habe ich den schreibenden Zugriff von "sequentiell" auf "Record" umgestellt und am Ende des Records CR/LF eingefügt. |
Erarbeitung Spiegelkonzept | ||||||||||
|
||||||||||
Da nicht alle Programme zum gleichen Release nach X86 gingen, waren Datenbank-Spiegelungen notwendig. Ich ermittelte, ob, und wenn ja nach welchen Programm welche Datenbank-Tabelle von Mainframe DB2 nach X86 Oracle, oder auch in der Gegenrichtung, zu spiegeln war. Hieraus wurde eine Steuer-Tabelle für ein Java-Programm erstellt. |
Mitarbeit Datenbank Reporting, Replatforming Pilot | ||||||||||
|
||||||||||
Da es im Bereich Datenaufbereitung für das Meldewesen, Datenbank Reporting, einen Engpass an Entwicklern gab, wurde ich in diesen Bereich eingesetzt. Die Umstellung der bisherigen Sourcen (z/OS. IBM COBOL, DB2, EBCDIC Zeichensatz, Sortierreihenfolge, Timestamp-Format und DB2 Funktionen) af die neue Umgebung (LINUX, Microfocus, Oracle, ASCII / ISO 8859-15, ...) erfolgte auf Basis eines Regelwerkes durch einen Dienstleister. Meine primäre Aufgabe in der Umstellungsphase war die Analyse der Testläufe auf den Entwicklungssystemen, bei Einzelfällen wurde direkt in der Ziel-Source angepasst, ansonsten wurden Änderungen am Regelwerk veranlasst. Geändert wurden primär Regeln für die Datenbank Optimierung, zum Beispiel prefetch. Der Datenbank Präprozessor für MicroFocus COBOL und Oracle Datenbanken ist bei einem sehr alten Stand der Datenbank "stehen geblieben" (Oracle 8?), selbst ANSI SQL wie "left outer join" verstand er nicht. Deshalb wurden solche SQL Statements in Strings ausgelagert und zur Laufzeit als Prepared Statements direkt an die Oracle Datenbank übertragen. Hierbei ergaben sind auch einige Änderungen bei der Verwendung der Host-Variablen. Typische Einzelfälle war COBOL Code, der nicht ganz dem Standard entsprach oder für den es keinen verbindlichen Standard gibt, aber auf dem Mainframe das gewünschte Ergebnis lieferte. Ein Beispiel war eine Prüfziffern-Berechnung in einem COMPUTE Statement mit Eingabe-Parametern verschiedener nummerischer Datentypen. Auf dem Mainframe wurde intern zuerst alle Parameter in BCD Zahlen (COMP-3) umgewandelt und mit diesen gerechnet, auf X86 / LINUX wird hierfür INTEGER genutzt. War die Prüfziffer "10" wurde auf dem Mainframe nur die "0" betrachtet und in ein Zeichen (x'F0, das EBCDIC Zeichen "0") umgewandelt. Auf X86 wurde die "10" auf das ASCII Zeichen für "0" (x'30) addiert. Das Ergebnis war x'3A, also ein ":". Die Lösung war, nach dem das Problem erkannt wurde, trivial. Ein nicht triviales Problem waren die Laufzeit-Verschlechterungen bei diversen Batch-Programmen. Entsprechend der für "MVS" vor einigen Jahrzehnten geschaffenen Programmierrichtlinien sind alle Datenbank-Zugriffe in Zugriffsmodulen ausgelagert. Um SQL JOINs zu vermeiden, wird die führende Datenbank-Tabelle in einem Cursor gelesen und abhängige Tabellen per Einzel-SELECT abgefragt. Auf dem Mainframe, wo Anwendungsprogramm und Datenbank auf einer Maschine laufen, kein Problem, auf X86 mit jeweils einen Anwendungs- und einem räumlich getrennten Datenbank-Server ergeben sich durch die Netzwerk-Latenz deutlich längere Laufzeiten. Durch die ständigen Kontext-Wechsel zwischen Hauptprogramm und Zugriffs-Modul sind auch einige Tricks beim Datenbank-Client nicht möglich. Ein Datenbank Administrator meinte zu mir, pro 10 Millionen Einzel-SELECTs eine Stunde mehr an Laufzeit. Die kritischen Programme wurden identifiziert, ein Programm das statt 10 Sekunden nun 10 Minuten in einem "nicht kritischen Pfad" benötigt, wurde nicht angepasst, jedoch ein Programm in kritischen Pfad, dessen Laufzeit von 20 Minuten auf eine Stunde anstiegt, wurde möglichst "schonend" umgestellt, damit weiterhin eine Vergleichbarkeit der z/OS Version gegeben ist. Die "20 Minuten" waren nicht das Ziel, sondern im Rahmen der Batch-Nacht ein Abschluss bis zum Morgen. Nach den Entwicklertests erfolgte der fachliche Test der Batch-Verarbeitung. Der Kunde nutzt UC4, die Abläufe werden über Templates generiert. Durch den Austausch der "z/OS Templates" durch "LINUX Shell-Script Templates" konnten die meisten Batch-Abläufe schnell umgestellt werden. |
Analyse Vertriebsanwendungen | ||||||||||
|
||||||||||
Mein Start in das Projekt war die Analyse der Vertriebssteuerung sowie der Provisionssysteme, hier ging es um die Frage, welche Probleme in der seit Jahrzehnten gewachsenen Software bei einer Umstellung auftreten könnten. |
Konzept und POC Spring-Batch und DB2 BLU | ||||||||||
|
||||||||||
Im Rahmen der Umstellungen des Systems für das Adressenrisiko an die neue Vorschriften BCBS 239 ist das bisherige System zu überarbeiten. Im Rahmen der Umstellung wird die Technik vom Mainframe, also COBOL, JCL, DB2 z/OS auf Linux Systeme mit OSPE-Batch (Spring-Batch) und der Datenbank DB2 BLU Acceleration, also einer In-Memory Datenbank, umgestellt. Im Vorfeld habe ich das Konzept für die technische Umsetzung erstellt und beispielhaft in einem POC umgesetzt und geprüft. Im Bereich Spring-Batch habe ich Steps, Tasklets, Chunks auf Basis der Standard-Komponenten erstellt und für spezielle Aufgaben eigene Komponenten erstellt. Als Beispiele: Da sehr spezielle Formate für den CSV Export benötigt werden, habe ich einen parametrierbaren RowMapper erstellt, da nur an dieser Stelle die Metadaten der Datenbank zur Verfügung stehen. Beim JdbcCursorItemReader ist die Verarbeitung von Host-Variablen nicht vorgesehen, eine Text-Ersetzung im SQL Property ist unsicher und kann das Optimieren von SQL Abfragen verhindern. Die Platzhalter ("?") und das manuelle Bereitstellen eines Arrays mit den Variablen in der richtigen Reihenfolge ist bei den geplanten mehrstufigen Common Table Expressions schwer handhabbar. Deshalb habe ich von der Klasse eine eigene Komponente abgeleitet, die wie der JdbcBatchItemWriter Host-Variablen verarbeiten kann. Der In-Memory Bereich von DB2, also die Column Based Tabellen, ist mit kleinen Ausnahmen (z.B. keine Indizies) syntax-kompatible zu den klassischen Row Based Tabellen, ihre Stärken spielt sie aber erst aus, wenn das Vorgehen beim Datenbank Design und der Abfolge der Statements auf die neue Technik abgestimmt ist. Hier erarbeitete ich einige Konzept, z.B. SHADOW Tabellen, andere Kombinationen von ROW und COLUMN Based Tabellen, Optimierung des INSERT (HUFFMAN Kompression). |
Portfolio Management System | ||||||||||
|
||||||||||
Das Portfolio Management System erhält von vielen Systemen Stammdaten sowie Informationen zu Transaktionen. Diese Informationen werden aufbereitet dem Kunden-Betreuer für die optimale Beratung seines Kunden sowie den Kunden für eine genaue Auskunft über die Entwicklung ihres Portofolios bereitgestellt. Das Portfolio Management System besteht neben dem GUI (Windows, Java) und einem Server (AIX, C++) aus einer umfangreichen Host-Anwendungslandschaft, die die Daten der Um-Systeme entgegen nimmt, aufbereitet, verbucht und dem Server bereitstellt. Um den Anpassungsbedarf gering zu halten, sind die notwendigen Anpassungen in den Eingangsschnittstellen auf dem Host durchzuführen. Meine Aufgabe ist es, sowohl in dem Team, das die WebServices in Java auf dem Unix System, also auch in dem Team, das die Host Anwendungen betreut, mit zu arbeiten. Aus diesem Grund sind im Folgenden sehr unterschiedliche Teilprojekte aufgeführt, auch wenn ich Vollzeit bei diesen Kunden für einen Projektleiter tätig war. Neben den hier aufgeführten Projekten werde ich für Bugfixes eingesetzt. |
Konzeption Datenversorgung MiFID II | ||||||||||
|
||||||||||
Für MiFID II sind für die Beratung der Kunden erweiterte gesetzliche Regeln zu beachten. Hierfür sind weitere Informationen über den Kunden sowie die angebotenen Wertpapiere bereitzustellen. Die Daten sollen in den Abteilungs-Daten-Layer, der für die SAP Anbindung konzipiert wurde, vorgehalten werden. Da mittlerweile viele der damaligen Entwickler die Abteilung verlassen hatte, war meine erste Aufgabe die Zusammenarbeit mit den neu hinzu gekommenen Kollegen. Die meisten der anlieferten Systeme liefern Notifications und sind per Web Service erreichbar. Somit entspricht die Technik der in 2014 entwickelten Lösung. |
Datenversorgung MiFID II aus Mainframe Anwendungen | ||||||||||
|
||||||||||
Die Wertpapier-Stammdaten werden durch eine zentrale Mainframe Anwendung von WM Daten empfangen, aufbereitet und den verschiedenen Abnehmern bereitgestellt. Die aufbereiteten Wertpapierdaten sind auch in den Abteilungs-Daten-Layer zu übernehmen. Die seit mehreren Jahrzehnten laufende Anwendung stellt, wie bei COBOL Anwendungen üblich, Flat-Files mit verschiedenen Satzarten bereit. Einzelne Datensätze können auch per IBM MQ-Series übertragen werden. Ich konzipierte ein für englischsprachige Java Entwickler verständliches Design zum Einlesen der Daten. Dazu entwickelte ich eine XML Anwendung zur Beschreibung der Host Datenstruktur zum Einlesen in die entsprechenden Java Objekte. Diese werden dann per Hibernate in die Oracle Datenbank geschrieben. Die Umsetzung des Programms erfolgte Off-Shore. |
Framework Batch Steuerung in Java | ||||||||||
|
||||||||||
Die Programme zur Datenversorgung des Abteilungs-Daten-Layer laufen auf verschiedenen Linux Server in einer Tomcat Umgebung. Die Server sind gemanagt, es besteht keine Möglichkeit ausser den WAR Files eigene Software zu installieren. Sie verfügen auch über keinen eigenen Speicherplatz oder Verzeichnisse. In der Regel nutzen sie Datenbanken und dienen als WebServer für Benutzerinteraktionen oder stellend WebServices zur Verfügung. Um auf in einem Verzeichnis (Inbound) eintreffende Datei reagieren zu können, konzipierte ich eine Batch Steuerung, einschliesslich der notwendigen Anwendung für Administratoren und einem Housekeeping. Da die Inbound Verzeichnisse können auf verschiedenen File-Servern mit unterschiedlichen File-Systemen liegen können, verwendet das Framework eine Abstraktionsschicht. Die Umsetzung des Programms erfolgte Off-Shore. |
Datenversorgung MiFID II WM Daten | ||||||||||
|
||||||||||
Für die MiFID II Anforderungen liefert WM Daten neue Attribute, insbesondere für PRIIP und KID. Diese Attribute werden untertägig als XML Dateien per SFTP zur Verfügung gestellt. Die Größe der Daten pro WKN ist übersichtlich, jedoch ist es denkbar, dass eine Datei den Gesamtbestand enthält. Eine XML Datei mit mehreren hundert Megabytes komplett in den Hauptspeicher einzulesen, um das "normale" XML Unmarchalling durchzuführen, kann zu Problemen führen. Aus diesem Grund konzipierte ich ein Design, dass die Datei mittels StAX für jede WKN aufteilt, nur jeweils diesen Bereich mit JAXB in die Java Objekt einliest und per Hibernate in die Oracle Datenbank schreibt. Das Programm wird auch durch das Batch Framework gesteuert. Die Umsetzung des Programms erfolgte Off-Shore. |
Überarbeitung Wertpapier-Kurs Versorgung | ||||||||||
|
||||||||||
Die Programme für die Kursversorgung wurden Anfang 1990ziger Jahre noch in COBOL ANSI-74 erstellt und seit dem bei Bedarf von verschiedenen Entwicklern schnell erweitert. Die Auswahl des gewünschten Börsenplatzes und damit des Kurses erfolgt über ein komplexes Regelwert. Hierbei werden die Wertpapier-Stammdaten (WM Daten), verschiedene DB2 Tabellen mit Regeln und weiteren Informationen ausgewertet. Die Programme waren für geplante fachliche Anpassungen und Erweiterungen zu restruktuieren und hierbei zu dokumentieren. Die Analyse und Umstellung der Programme geschah noch in 2015, da die Kursversorgung bei der Berechnung der Portfolios entscheidend ist, fand über einen Zeitraum von mehreren Monaten ein Paralleltest statt. |
Konsolidierung Schnittstelle Kontokorrent | ||||||||||
|
||||||||||
Die Kontokorrent Anwendung lief historisch in verschiedenen Gebiets-Rechenzentren. Im Rahmen der Konsolidierung auf das zentrale Rechenzentrum waren die Schnittstellen zum Portfolio Management System von den bisherigen Rechenzentren auf ein Rechenzentrum zu verlagern. Hierzu waren OPC (Job Steuerung) Änderungen sowie die Zusammenführung verschiedener Steuerungsinformationen notwendig. Im Rahmen der Umstellung wurden umfangreiche Tests durchgeführt. |
Proof of Concept Anbindung Partner Stammdaten | ||||||||||
|
||||||||||
Die auf einer Oracle Datenbank in dem neuen Daten Layer der Abteilung eingespielten SAP Partner Stammdaten sind per SOAP (WebService), REST (JSON und XML im Browser) sowie als Datei zeitgesteuert per SFTP an die Zielsysteme auszuliefern. Es sind regelmäßige Änderungen der Datenstrukturen zu erwarten, deshalb soll der Programmieraufwand für die Wartung minimiert werden. Die Lösung besteht aus "Contract-Last" WebServices sowie "Contract-First" Flat-Files für SFTP. Basis ist eine XSD Datei, generiert aus den Strukturen der Views in der Oracle Datenbank. Die Realisierbarkeit der Lösung ist zu prüfen. Über ein Tool werden die Strukturen von zehn Oracle Views in einer XSD Datei geschrieben. Beim Build des Projektes mit MAVEN wurde mit dem maven-hyperjaxb3-plugin die entsprechenden Hibernate JAVA Klassen generiert. Das Interface und die Klasse für die Hibernate-Abfragen mit den Zugriffsbedingungen wurden erstellt. Diese sind nicht von Strukturänderungen in den Views (neue Felder) betroffen. Ebenso sind das Interface und die Klasse für SOAP sowie der CustomerController, der Request Mapper für REST, nicht von Strukturänderungen betroffen und wurde deshalb erstellt. Auf die Generierung der Klassen auf Basis einer Business-Anforderungen wurde im PoC verzichtet. Für die Contract-First Erstellung der Dateien für SFTP wurden Klassen auf Basis der generierten Hibernate Klassen erstellt und mit fixedformat4j Annotationen angereicht. Als Klebstoff zwischen den Klassen setzte ich Spring ein, ebenso für verschiedenen Dependency Injections um z.B. die Parameter für den Datenbank Connection oder den JSCH SFTP Client an den Service zu übergeben. Für den MAVEN Build erstellte ich verschiedene JUNIT Testklassen, über die auch in Eclipse ausführbar sind. Ich testete den Service mit SOAPUI, im Browser und per FTP auf meiner lokalen Tomcat Installation und deployte dann das WAR File auf einem UAT Web-Server. |
Analyse der Schnittstelle Kontokorrent | ||||||||||
|
||||||||||
Die Eingangsschnittstelle von Kontokorrent, also den Gegenkonto für die Wertpapier-Transaktionen im Portfolio, wurde vor vielen Jahren entwickelt und durch verschiedene Entwickler immer wieder an die geänderten Erfordernisse, Jahr 2000, Euro, Abgeltungssteuer, ... angepasst. Damit die Bewertung eines Portfolios nicht durch eventuell unterschiedliche Buchungstage der Wertpapier-Handelssysteme und des Kontokorrent Systems beeinträchtigt wird, werden schon bei der Verbuchung von Wertpapier-Transaktionen die zu erwartenden Kontokorrent Transaktion vermerkt. Diese müssen beim Verbuchen der Transaktionen aus Kontokorrent gematcht werden. Enthaltende Steuern und Gebühren müssen aufgeteilt werden, um später den Wert des Portfolios darstellen zu können. Da Kontokorrent eines der ersten Systeme war, das auf SAP DM umgestellt werden sollte, war die Dokumentation durch eine genaue Analyse der vorhandenen Programme zu prüfen. |
Übertragung von Wertpapier Stammdaten in Testsysteme | ||||||||||
|
||||||||||
Die Bank wird zentral mit WM-Stammdaten sowie mit Daten für "Futures and Options" versorgt. Das Portfolio Management bereitet auf der Produktions-Instanz diese Daten für sich und andere Systeme auf und speichert sie in eigenen DB2 Tabellen. Um die identischen Daten auch in den Test- und Entwicklungs-Systemen zur Verfügung zu haben, habe ich zwei COBOL Programme entwickelt. Das eine Programm liest in Produktion für eine WKN / ISIN und eine Zeitspanne die Daten aus den DB2 Tabellen und speichert sie in einer sequentiellen Daten. Diese Datei wird dann vom Operating auf das Test System kopiert und mittels des zweiten von mir entwickelten COBOL Programms in die dortigen DB2 Tabellen geschrieben. |
Abgleich Partner-Stammdaten | ||||||||||
|
||||||||||
Die Stammdaten für Partner, also Portfolio Inhaber, Bevollmächtigte und auch Kundenbetreuer wurden von einer Host-Anwendung bereit gestellt. Im Rahmen der Vorbereitung einer Migration werden diese Daten in ein SAP System gespiegelt. Die gespiegelten Daten werden via WebServices bereitgestellt und in einer Oracle Datenbank auf einem Unix System gespeichert. Der Inhalt der Oracle Datenbank ist mit dem Datenbestand in der z/OS DB2 Datenbank, die über die bisherige Schnittstelle versorgt wird, zu vergleichen. Ich entwickelte eine Java-Anwendung, die beiden Datenbanken liest, Feldinhalt bei Bedarf nach Regeln des Fachbereichs aufbereitet, Differenzen ermittelt und entweder als Excel-Sheet oder in einer eigenen Datenbank dem Fachbereich zur Kontrolle zur Verfügung stellt. |
Anbindung SAP HR an das OSPlus Portal | ||||||||||
|
||||||||||
Sehr viele Banken setzen neben den bankfachlichen Lösungen meines Kunden, die dem Anwender über ein Portal zur Verfügung gestellt werden, auch ein angepasstes SAP HR (PARISplus) für die Mitarbeiterbetreuung ein. Um den Mitarbeitern einen direkten Zugriff auf die Daten des HR Systems in dem ihnen vertrauten Portal zu ermöglichen, wurde eine Anbindung entwickelt. Ein direkter Zugriff aus dem Portal auf die SAP Systeme schied aus Performance-Gründen aus, so dass in der bankfachlichen Anwendungslandschaft ein Daten-Cache eingerichtet wurde, auf den das Portal zugreifen kann. Die Anlieferung der Daten aus dem SAP HR steuert das SAP System und verwendet hierzu WebServices, die von OSPlus bereitgestellt werden. Ich konzipierte den Daten-Cache (DB2) sowie der Anbindung der WebServices an das SAP System. Zu meinen Aufgaben gehörte auch die Konzeption, Realisierung und das Testen der OSPlus Prozesse in COBOL zur Datenlieferung aus dem Daten-Cache an das Portal. |
Umsetzung IBM VAGen auf COBOL | ||||||||||
|
||||||||||
Mein Kunde entwickelte Host-Anwendungen über 20 Jahren mit IBM VAGen und den Vorgänger-Sprachen. Im Laufe der Jahren sind so über 18.000 produktive Programme und etwa 100.000 Module entstanden. IBM hat VAGen aus der Wartung genommen. Deshalb beschloss die Versicherung, künftig die Weiterentwicklung in der Standard Programmiersprache COBOL durchzuführen. Die bestehenden Programme und Module wurden mittels eines am Markt erhältlichen Konverters von VAGen nach COBOL umzustellen. Der Konverter war an die Notwendigkeit der vorhandenen Softwarelandschaft anzupassen. Hierzu bildete in der IT-Tochter der Versicherung ein Projektteam aus erfahrenen COBOL und VAGen Entwicklern, das die Vorgaben erstellt und die Umsetzung validiert. Ein Teil meiner Aufgaben in dem Projektteam war die Unterstützung bei der Validierung. Primär wurde ich jedoch für die Konzeption und Entwicklung von Tools in Java eingesetzt. Der Konverter-Prozess benötigt neben den VAGen Sourcen viele weitere Informationen, die ich mit Tools aus der bisherigen Softwarelandschaft zu gewinnen hatte. Bedingt durch die hohe Anzahl an Modulen bedurfte es eines automatischen Konvertierungsprozess, der auch den Import in die neue Entwicklungsumgebung IBM RDZ (Eclipse basierende Entwicklungsumgebung für Host-Programme) beinhaltet. Im Rahmen dieses Prozesses sind verschiedene formale und auch inhaltliche Prüfungen am COBOL Code notwendig. Wenn mehrere hundert Anwendungsentwicklern über 20 Jahre eine Anwendungslandschaft erstellen, ist diese sehr heterogen. Die produktiven Programme beinhalten den Stand der Module zur Zeit der Generierung. Die Module im Laufe der Jahren weiterentwickelt, wobei nicht immer eine Generierung aller betroffener Programme erfolgt ist. Um hier Fallstricke zu erkennen wurden mit von mir entwickelten Tools die vorhandenen Modul Sourcen geparst und verschiedene Reports zur Qualitätssicherung erstellt. Eine Umstellung aller Sparten in einem "Big-Bang" ist nicht möglich, somit hatte ich Sperr-Mechanismen, insbesondere in der bisherigen VAGen Entwicklungsumgebung (basiert auf "IBM VisualAge for Java"), zu implementieren. |
Umsatzsteuer Schweiz | ||||||||||
|
||||||||||
Für einen neuen Veranstalter in der Schweiz ist die Schweizer Umsatzsteuer auszuweisen. Für die Veranstalter in anderen Länder war im SAP FI eine Differenzbesteuerung (Margen-Besteuerung) vorhanden. Für die Schweiz musste eine Umsatz- und Vorsteuerberechnung inkl. Schnittstelle an SAP in das Online-Buchungssystem des Konzerns eingebaut werden. Zusammen mit dem Fachbereich in den Niederlanden und Belgien erstellte ich das Fachkonzept. Hieraus leitete ich das DV-Konzept in Abstimmung mit den IT-Kollegen in Deutschland ab und realisierte die notwendigen Änderungen im Online-Buchungssystem. In Abstimmung mit den Kollegen aus dem SAP Bereich führte ich die Tests durch. |
IT Dienstleister für genossenschaftliche Banken in Münster | ||||||||||
|
||||||||||
Ich war Vollzeit bei dem IT Dienstleister unter Vertrag und wurde in verschiedenen
Bereichen eingesetzt. Die Projekt in diesem Zeitraum fanden
ausschließlich bei diesem Kunden statt.
|
Stammdatenversorgung Wertpapierverfahren WP2 für weitere Bank | ||||||||||
|
||||||||||
Das Rechenzentrum, für das ich tätig war, übernahm die Dienstleistung für eine weitere Bank. Da diese Bank schon WP2 nutzte, waren die Schnittstellen und Dialogprogramme für deren Parametrisierung in WP2 anzupassen. Weiterhin unterstützte ich die Migration der Daten. |
Stammdatenversorgung Wertpapierverfahren WP2 | ||||||||||
|
||||||||||
Ich übernahm geplant von Aufgaben von aus dem Projekt ausgeschiedenen Kollegen. Während der Einführungsphase schied der bisherigen "Teamleader Entwickler" krankheitsbedingt sehr kurzfristig aus. Ich wurde mit seinen Aufgaben betraut und war in der Stabilisierungsphase der technischer Ansprechpartner. Aus Basis der Erfahrungen aus der Stabilisierungphase entwickelte ich die Schnittstelle von Bank21 an WP2 weiter. Nach dem eigentlichen Projektende war ich als Coach der internen Kollegen tätig. |
Java Dialog Geldwäsche | ||||||||||
|
||||||||||
Modellierung und Realisierung einer Swing Anwendung auf Basis Bank21 im Rahmen des Bereiches Kunden-Verwaltung. |
Umstellung Wertpapierverfahren von WVS auf WP2 | ||||||||||
|
||||||||||
Im Rahmen der Umstellung des Wertpapierverfahren von WVS auf WP2 waren diverse Schnittstellen und Dialog-Anwendungen anzupassen. Hierbei wurde auch die Systemumgebung von einer klassischen Mainframe Umgebung auf eine Umgebung bestehend aus klassischen Mainframe für die Backend Systeme sowie Java für die Frontends umgestellt. Die Anwendung wurde im RSA designed, mittels Generatoren Java Klassen sowie Cobol Sourcen für die Frameworks erzeugt. Die generierten Programme rief handcodierte Unterprogramme mit den fachlichen Funktionen auf. Das Team bestand aus Java- oder Host-Spezialisten. Die Modellierung für die Backend Systeme erfolgt durch die Java Spezialisten im RSA, die Umsetzung dann durch die Mainframe Spezialisten in COBOL. Ich startete als Objekt-Modellierer, übernahm dann immer stärker Aufgaben im Bereich Host-Entwicklung. Weiterhin war ich für die JUnit-Tests zuständig, da ich auf der Java Seite die Tests anpassen und bei Bedarf die Bugfixes auf dem Host durchführen konnte. |
Druck-Framework mit BIRT | ||||||||||
|
||||||||||
Die verschiedenen Produktlinie eines Softwareherstellers verwenden, schon bedingt durch verschiedenen Plattformen, auf denen sie entwickelt wurden, verschiedene Methoden zum Ausdruck. In Zukunft soll eine Plattform zum Drucken genutzt werden. Meine erste Aufgabe war es, verschiedene Report- und Druck-Generatoren auf ihre Einsatzfähigkeit, insbesondere während der Übergangsphase, zu untersuchen. Nach dem Entscheidung für BIRT gefallen war, hatte ich ein Print-Framework (Querschnittsfunktion), Style-Sheets und die Entwickler- sowie Benutzer-Dokumentation zu erstellen Das Print-Framework besteht aus verschiedenen von mir entwickleten Eclipse Plug-ins zur Datenbeschaffung (ODA mit dynamischer Übernahme von Änderungen in Eclipse), für den BIRT Report-Designer, einer iText Anwendung zur Nachbearbeitung und dem Einfügen von statischen Content sowie verschiedenen Laufzeitumgebungen für Applictions (Fat-Client) sowie J2EE Server. |
Analyse Delta Source | ||||||||||
|
||||||||||
Im Rahmen der Umstellung des Dialog Systems von einer 3270 Anwendung auf eine regelbasierende Java Client / Server Anwendung waren auch mehrere über Jahrzehnte gewachsene Druckprogramm, erstellt in DELTA, an die neue Umgebung anzupassen. Meine Aufgabe war die Analyse dieser Programme und das Erarbeiten eines Vorschlages, ob die Programme oder die Datenanlieferung umzustellen ist. |
Erweiterung Bilanz Rating um Vorausschau und Zusammenschlüsse | ||||||||||
|
||||||||||
Das bestehende Bilanz-Rating System einer grossen deutschen Bank wurde um die Komponente zur Vorhersage der Unternehmensentwicklung erweitert. Hierbei werden auch Unternehmenszusammenschlüsse berücksichtigt. Meine Aufgabe war die Entwicklung des Rechenkerns sowie die Erweiterung der Datenbanken. |
Wartung Host und Java Komponenten Bilanz Rating | ||||||||||
|
||||||||||
Übernahme der Wartung eines in Java unter WebSphere laufenden Anwendungssystem von einem Team in Indien. Neben den Java Klassen war es insbesondere meine Aufgabe, die Funktion von COBOL CICS und Batch Host-Modulen zur Anbindung an auf dem Host laufende Anwendungen (Partner, Berechtigungen, ...) sowie der DB2 auf dem Host sicherzustellen. |
Migration Host Datenbank Bilanz Rating | ||||||||||
|
||||||||||
Das bestehende und seit Jahren bei einer Grossbank im Einsatz befindliche System wurde grundsätzlich umstrukturiert. Hierzu war eine Migration der DB2 Tabellen auf dem Host notwendig. Um einen Rollout der Clients über einen Zeitraum von mehreren Wochen zu ermöglichen, wurde die Migration als "Delta-Migration" ausgelegt. |
Basel II Bilanz Rating | ||||||||||
|
||||||||||
Anpassung verschiedener Swing Dialoge. |
Basel II Bilanz Rating | ||||||||||
|
||||||||||
Die bestehende Anwendung für die Bilanz-Analyse, die bei mehreren Grossbanken im Einsatz ist, war um eine WebService Schnittstelle zu erweitern. Über diese Schnittstelle greifen andere Systeme lesend und schreibend auf den Datenbestand der Software zu. |
Touristik Frontend | ||||||||||
|
||||||||||
Das Frontend für Reisebüros bündelt die verschiedenen IT-Verfahren der Reiseveranstalter, Fluggesellschaften, KFZ-Vermieter, etc. unter einer Bediener-Oberfläche. Die Einbindung der Host-Anwendungen in das GUI wurde in Java erstellt, dessen Weiterentwicklung ich nach dem Ausscheiden eines Mitarbeiters kurzfristig übernahm. Das GUI besteht primär aus DHTML, JavaScript, CSS. Meine Erfahrungen beider Welten (Mainframe und browser basierendes GUI) kamen mir als "Vermittler" zwischen den Welten sehr zugute. |
Baufinanzierung | ||||||||||
|
||||||||||
Die Baufinanzierungs-Software des Marktführers Elaxy ist um einen Workflow
zu erweitern, der eine Fall-abschließende Bearbeitung für einen Kredit
durch den Außendienst ermöglicht.
|
Bank in Hamburg | ||||||||||
|
||||||||||
Ich war Vollzeit bei der Bank unter Vertrag und wurde in verschiedenen
Bereichen eingesetzt. Die Projekt in diesem Zeitraum fanden
ausschließlich bei diesem Kunden statt.
|
Replikation aus dem Data-Warehouse | ||||||||||
|
||||||||||
Auf den Gesamtbestand an Kundendaten, der im Data-Warehouse vorhanden ist, müssen verschiedene Alt-Systeme unter BS2000 zugreifen. Da kein direkter Zugriff von BS2000 auf eine DB2 unter Unix möglich ist, werden die Daten aus dem DB2 entladen, per File Transfer auf den BS2000 Host geschickt und dort mittels eines COBOL Programms eingelesen. Um die Datenbankzugriffe auf BS2000 zu minimieren, wurde ein Delta-Verfahren eingesetzt. Die Daten sind, entsprechend der Vorgaben aus dem Projekt near Realtime Anbindung, zu transformieren. Im Vorfeld untersuchte ich einige Alternativen, die einen direkten Zugriff von BS2000 auf die Unix DB2 ermöglichten, u.a. Diese Alternativen wurden aus Kostengründen verworfen. |
Coaching der Betreuer der near Realtime Anbindung KIS | ||||||||||
|
||||||||||
Zwei interne Kollegen, erfahrene BS2000 Host-Entwickler, wurden von mir in
den verwendeten Techniken der "Near Realtime" Anbindung, also Java, XML, WebSphere
eingearbeitet und die Betreuung der unternehmenskritischen Anwendung
schrittweise übertragen.
|
Coaching bei der Einführung IFRS | ||||||||||
|
||||||||||
Obwohl ich mittlerweile in einem unternehmenskritischen EAI Projekt eingebunden war,
wurde ich gebeten, die Kollegen aus "meinem alten" Team
Bilanzierung des Wertpapier-Eigenhandels (Nostro und Nostro-D)
sowie Eigen-Emissionen zu unterstützen.
Mit den Kollegen, die aus ihrer täglichen Praxis sehr vertraut mit der Bilanzierung
nach HGB und dem sehr ähnlichen Steuerrecht sind, habe ich die
grundsätzlichen Unterschiede zwischen einer HGB-Bilanzierung (Gläubigerschutz)
und einer US-GAAP, IAS bzw. IFRS Bilanzierung (Information der Anleger) diskutiert
und hierbei auf die Unterschiede der Bewertung
(Gleitender Durchschnitt gegen Fair Value), Latente Steuern,
Wegfall des "Maßgeblichkeit Prinzip" und weiteren Punkten.
Wichtig war das Ausarbeiten der unterschiedlichen Bedeutungen sehr ähnlich
klingender deutscher und englischer Begriffe. Ziel war es, die Kollegen mit
ausreichend Hintergrundwissen für fachliche Diskussionen zur die Belieferung
des SAP-Systems, das die IFRS-Bewertung durchführen wird, durch die von ihnen
betreuten Systeme, die die HGB-Bewertung durchführen, auszustatten.
|
Coaching bei Erstellung eines Servlets | ||||||||||
|
||||||||||
Mittels einer browser basierenden HTML Anwendung ist der Druck
der Jahresbescheinigungen für Kunden anzustoßen. Hierzu wurde
ein Servlet entwickelt, das per JDBC auf die vorhandene SESAM-Datenbank
zugreift. Den internen Kollegen, einen erfahrenden Host-Entwickler,
unterstützte ich bei der Konzeption, Realisierung und Bereitstellung
der erforderlichen Infrastruktur.
|
Coaching Portal-Architektur JSR-168 | ||||||||||
|
||||||||||
Coaching eines internen Mitarbeiter bezüglich Portal-Architektur und
Anbindung von Legacy-Anwendungen (BS2000) an das Portal.
Gemeinsam wurden die Vorteile eines Portals nach JSR-168 sowie
Szenarien zur Anbindung der bestehenden BS2000 Anwendungen
erarbeitet.
|
Near Realtime Anbindung Kunden Informations System (EAI) | ||||||||||
|
||||||||||
Im Rahmen des Outsourcing auf einen IT-Dienstleisters wird auch der juristische Bestand des Kundeninformationssystems (KIS) ausgelagert. Da wichtige Anwendungen erst mittelfristig ausgelagert werden, diese einen Zugriff auf das KIS benötigen, eine Umstellung der Zugriffe auf das KIS des IT-Dienstleisters sehr aufwendig wäre, wurde die Anbindung des vorhandenen KIS an den juristischen KIS Bestand beschlossen. Der IT-Dienstleister nutzt für das KIS eine IMS-Umgebung unter z/OS und stellt eine XML-Schnittstelle als MQ-Series Stream zur Verfügung. Das KIS der Bank läuft auf SESAM unter BS2000. Die Lösung wurde in JAVA auf dem z/OS Rechner der Bank implementiert. Als Entwicklungsumgebung führte ich Eclipse ein. Ein MQ-Event triggert die Verarbeitung an, der XML-Stream wird geparst, die zugehörigen Objekte per JDBC aus der SESAM Datenbank unter BS2000 gelesen, die Daten des XML-Streams eingefügt und per JDBC in die SESAM Datenbank zurückgeschrieben. Hierbei sind diverse Datenfelder zu transformieren oder abzuleiten, so dass ich in der Designphase eine genaue Analyse der unter BS2000 vorhandenen COBOL, Columbus-COBOL und Assembler Programme durchführte. Die abnehmenden Systeme (Kredit, Wertpapiergeschäft sowie Termingeld) sind unternehmenskritisch und auf eine aktuellen Datenbestand angewiesen. Aus diesem Grund sind Stabilität, Robustheit sowie die Möglichkeit, schnell und sicher Anpassungen an neue Anforderungen zu implementieren, wichtige Anforderungen an die Lösung. Als "Reißleine", falls die benötigte Infrastruktur nicht zur Verfügung steht, habe ich eine reine BS2000 Lösung konzipiert. Der XML Stream wird von MQ gespeichert und per File Transfer auf den BS2000 Host gebracht. Dort wird das XML Format mittels eines in COBOL geschrieben Parser (entsprechende Tools, die unter z/OS zur Verfügung stehen, standen unter BS2000 nicht zur Verfügung) in eine Datei mit festen Satzstrukturen umgeformt. Dieses Datei dient dem im COBOL mit ESQL entwickelten Update-Programm als Eingabe. |
Wertpapier-Handel | ||||||||||
|
||||||||||
Wartung einer seit über 20 Jahren gewachsenen Anwendungslandschaft für das Wertpapier-Geschäft einer großen Bank mit den Schwerpunkten Eigenhandel und Privatkunden. Hierbei betreute ich folgende Bereiche: Neben der Wartung wurde in folgenden Bereichen weiterentwickelt: |
Ablösung CA-ProEdit | ||||||||||
|
||||||||||
Das vom Hersteller nicht mehr weiter entwickelte DB2 Tool CA-ProEdit war bei einer Versicherungsgruppe zu ersetzen. Das Tool wurde über einen Zeitraum von zumindest 10 Jahren durch Endanwendern in den Fachabteilungen, den Anwendungsentwicklern sowie den Datenbank-Administratoren eingesetzt, so dass bei der Auswahl die unterschiedlichen Anforderungen und Gewohnheiten zu berücksichtigt waren. Für einige durch Systemprogrammierer und Datendank-Administratoren betreute Funktionsbereiche ist das Tool CA-Platinum im Einsatz, für andere Aufgaben war ein Nachfolge-Produkt zu finden. In von mir vorbereiteten und durchgeführten Workshops wurden folgende Produkte betrachtet: Auf Basis der in den Workshops gewonnenen Erkenntnisse wurde gemeinsam eine Investitionsempfehlung ausgesprochen. |
Auswirkungen Basel II | ||||||||||
|
||||||||||
Ich untersuchte die Auswirkungen des kommenden Ratings nach Basel II
für einen mittelständischen konkreten Industriebetrieb, und
spielte verschiedene Modelle, u.a. Bilanzerstellung nach US-GAAP,
durch, wie die steuerlich motivierte Externe Darstellung
modifiziert werden kann. Die Ergebnisse stellte ich der Geschäftsführung
in einem Workshop vor.
|
Enterprise Java Beans 2.0 versus Microsoft Dot.Net | ||||||||||
|
||||||||||
Mit einigen Kollegen, die größtenteils schon bei der Technologie-Studie von 1996 bis 2000 zu diesem Thema mitwirkten, wurde der Unterschied zwischen dem Java Ansatz von Sun (und IBM) gegenüber dem [Dot] .NET Ansatz von Microsoft untersucht und kritisch diskutiert. Im Rahmen der Untersuchung wurden gemeinsam verschiedene Testinstallationen von Servern durchgeführt (JBoss, WebSphere, TomCat, MS .NET Server) sowie jeweils eine kleine Anwendung implementiert. Im Rahmen der Untersuchungen der EJB-Container wurde, soweit verfügbar, erstmals auch Message Driven Beans sowie die Local-Interfaces genutzt und ihre Vorteile gegenüber der Nutzung von Entity Beans auf Clients untersucht. Hierbei wurden auch mit Asynchronen Transaktionsmonitoren, z.B. IBM MQ-Serie gearbeitet, um das Performance Verhalten im Vergleich Entity Bean, Message Driven Bean und der "herkömmlichen" Technik beurteilen zu können. Im Rahmen der Implementierungen nutzten wir verschiedene Entwicklungsumgebungen (IDE), wobei die Änderungen im Angebot deutlich wurden. Insbesondere bei Eclipse und der kommerziellen Erweiterung IBM WSAD untersuchten wir einige Erweiterungen auch in Richtung WebSphere. |
Content Managment mit PHP und MySQL | ||||||||||
|
||||||||||
In Zusammenarbeit mit Kollegen, die im Bereich CMS seit Jahren tätig sind,
wurde deren Technologie-Träger um Workflow Komponenten und Konnektoren für
Bestands- und Verwaltungssysteme erweitert.
|
Versicherung Hannover | ||||||||||
|
||||||||||
Ich war Vollzeit bei der Versicherung unter Vertrag und wurde
in verschiedenen Bereichen eingesetzt. Die Projekt in
diesem Zeitraum fanden ausschließlich bei diesem Kunden statt.
|
Standard-Migration Durchführung 'Provision' | ||||||||||
|
||||||||||
Vorbereitung der Migration der Partner (*) bezogenen Stammdaten des bisherigen Provision und Vertreter Informationsystems. Hierzu war eine enge Zusammenarbeit mit den Mitarbeitern des bisherigen und des künftigen Provisionssystems notwendig. Die neue Provisionsanwendung verwendet im Gegensatz zur bisherigen Lösung die von mir betreuten Zentralanwendungen Partner-System und Zentralnachweise für Datenbeschaffung, -haltung sowie das Exkasso. An den notwendigen Funktionalen Erweiterungen wirkte ich mit. Als der Kunden verstärkt auf eigene Mitarbeiter setzte, wurde ich im Rahmen einer Vertragsverlängerung gebeten, interne Mitarbeiter, die bisher die alte Provisionsanwendung betreuten, einzuarbeiten und sie für die Durchführung der Migration zu schulen. (*) Partner sind im IAA bzw. GAA Modell Kunden, Vertreter, Banken, Rückversicherer, Geschädigte, ... |
Standard-Migration Durchführung "Schaden" | ||||||||||
|
||||||||||
Durchführung der Migration von ca. 4,5 Millionen Schadensfällen mit Partnern, Adressen, Fernmelde Adressen, Bankverbindungen, Exkasso-Nachweisen sowie weiterer Daten ohne merkliche Beeinflussung der normalen Online- und Batch-Aktivitäten über einen Zeitraum von mehreren Wochen. Während des Migrationszeitraumes konnte im Alt-System weiter normal gearbeitet werden. Mittels Tools zur Delta-Bildung konnten die veränderten Daten in mehreren Schüben nachmigriert werden, so dass das Alt-System an einem Freitag Abend abgeschaltet wurde, am Sonnabend morgen die abschließenden Tests des neuen Systems stattfanden und am Montag die Anwender im neuen System ihre am Freitag Abend eingegebenen Daten wiederfanden. Insbesondere die Bearbeitung laufender Schäden, auch des Exkassos, war während des Migrationszeitraumes sicher zu stellen. Hierzu fertige ich genaue Analysen der Zusammenarbeit der Schaden- und Exkasso-Systeme an. |
Standard-Migration | ||||||||||
|
||||||||||
Erstellung und Umsetzung eines grundsätzlichen Konzeptes zur maschinellen Übernahme von Adress-, Vertrags- und sonstigen Daten aus Fremdsystemen in den vorhandenen Datenbestand unter Wahrung der Datenqualität durch Einsatz von Modulen aus der Online-Umgebung. In Hinblick auf einen geplanten 24/7 Betrieb ist der Prozess so ausgelegt, dass eine Verarbeitung zeitgleich zum Online-Betrieb möglich ist. Um das gegenüber einer Migration mittels Lade-Utilities etwas schlechtere Laufzeitverhalten auszugleichen, wurden Tools geschaffen, die eine sanfte Migration ermöglichen, während im Alt-System normal weiter gearbeitet werden kann sowie bei Bedarf schon im Neu-System mit der Bearbeitung begonnen werden kann. |
Daten-Transfer | ||||||||||
|
||||||||||
Mitarbeit beim Konzept von Datenübernahmen in nicht produktiven Systemen (Schulung und Test) unter Wahrung der Verknüpfungen auch zu anderen DV-Systemen. Übernahme der Anwendung nach Ausscheiden des Kollegen, Durchführung der ersten "produktiven" Läufe, Erweiterung um die Kategorie "Schaden-Daten", Übergabe der Anwendung an den Fachbereich, Einarbeitung von internen Kollegen. Beratung des Fachbereiches bei der Erstellung eines durch die Arbeitsvorbereitung gesteuerten Prozesses sowie die Anbindung anderer Bestandssysteme. |
Daten-Konsolidierung | ||||||||||
|
||||||||||
Konsolidierung des Partner-Bestandes, insbesondere die technische Abbildung Partner, Rolle, Vereinbarung sowie Partner, Rolle, Bankverbindung Feststellen von Daten-Inkonsistenzen in sehr großen Datenbeständen durch SQL, Auswertungen auf Entladebeständen und anderen Hilfsmitteln. In Abstimmung mit dem Fachbereich ermitteln der Fehlerursachen sowie deren Beseitigung veranlassen. Beseitigen der vorhandenen Inkonsistenzen mittels SQL oder Korrekturprogrammen. |
Bundesbank Änderungsdienst | ||||||||||
|
||||||||||
Weiterentwicklung des Verfahrens zur Umsetzung des
Bundesbank-Änderungsdienstes sowie Massenänderungen
von Bankverbindungen.
|
Migration einer Versicherung | ||||||||||
|
||||||||||
Konzeption einer Migration auf Basis von Ladebeständen Begleitende Beratung der für dieses Projekt angeforderten Mitarbeitern. Troubleshooting während der Migrationsdurchführung, z.B. Datenbank Korrekturen |
Umstellung Dialog-Oberfläche auf JAVA | ||||||||||
|
||||||||||
Coaching von Kollegen bei der Umstellung der Dialog-Oberflächen auf JAVA-Applikationen.
|
UniServ | ||||||||||
|
||||||||||
Mitarbeit bei der Zusammenfassung von UniServ Komponenten (UniPost, UniMail, UniWagnis).
|
Anonymisieren von Adressen | ||||||||||
|
||||||||||
Verfahren zum Anonymisieren von Adressen unter Beibehaltung der
versicherungsrelevanten Informationen.
|
Mandantenfähigkeit | ||||||||||
|
||||||||||
Mitarbeit bei der Erstellung bzw. Umstellung von Systemkomponenten im Rahmen der
Einführung einer mandantenfähigen Lösung.
|
Mandantenfähigkeit Migration | ||||||||||
|
||||||||||
Analyse, Design und Implementierung der Migration des Datenbestand von mehreren Versicherungsunternehmen im Rahmen der Einführung einer mandantenfähigen Lösung auf mehrere Bestände. Die Korrektheit und Vollständigkeit der Migration war gegenüber den beteiligten Unternehmen zu beweisen. Auf Grund des Zeitplanes der Migration am Pfingstwochenende stand für die Migration von über 100.000.000 Datensätzen nur ein Zeitfenster von Freitag Abend 20:00 bis Samstag morgen 07:00 zur Verfügung. Diese Vorgabe wurde mittels hoch optimierter, parallel laufender Prozesse mit einer Sicherheitsreserve von 2 Stunden gehalten. |
Akquise-Daten Migration | ||||||||||
|
||||||||||
Definition des Prozesses sowie Umsetzung der Migration der Akquise
Daten des selbständigen Außendienstes, ca. 3.000 Vertriebseinheiten, aus zwei
Altsystemen (BTX sowie lokalen PCs mit VADIS) in eine zentrale Host-Umgebung.
|
Betriebswirtschaftliche Auswertungen mit SIRON | ||||||||||
|
||||||||||
Bei einer Hypothekenbank Konzeption und Realisierung betriebswirtschaftlicher
Auswertungen, primär in den Bereichen Interne Zinsrechnung und Risiko-Bewertung,
in der Abfragesprache SIRON.
|
Consulting Konzern, Frankfurt - Darmstadt | ||||||||||
|
||||||||||
Ich war Vollzeit bei dem Consulting Konzern unter Vertrag und wurde
in verschiedenen Bereichen eingesetzt. Die Projekt in
diesem Zeitraum fanden ausschließlich bei diesem Kunden statt.
|
Qualitätssicherung einer Migration | ||||||||||
|
||||||||||
Für einen großen internationalen Consulting-Konzern Projektarbeit bei einem deutschen Telekommunikations-Konzern im Rahmen der Umstellung auf eine neue EDV Lösung zur Kundenbetreuung. Konzeption und Design von Werkzeugen zur Qualitätssicherung der Stammdatenübernahme sowie Listen und Dateien für diverse Schreiben an Kunden auf dem Mainframe. Übergabe der Ergebnisse an MS-Office Front-Ends auf PCs. Konzeption und Design von Werkzeugen zur Kontrolle von speziellen Migrationsbeständen. |
Data Warehouse | ||||||||||
|
||||||||||
Aufbau des Data Warehouse für die Qualitätssicherung mit Oracle 8 unter
Windows NT mit PL/SQL als weitere Schicht zwischen dem Mainframe und
den MS-Office Front-Ends
im Rahmen der Migration bei einem deutschen Telekommunikations-Konzern.
|
IntraNet 'Projekt-Status Migration' | ||||||||||
|
||||||||||
Im Rahmen der Migration bei einem deutschen Telekommunikations-Konzern war eine
konzernweite, tagesaktuelle Information der Mitarbeiter sicherzustellen.
Nach der Erstellung des Konzeptes Beratung bei der Realisierung.
|
Bilanzierung des Wertpapier Eigenhandels | ||||||||||
|
||||||||||
Für einen großen internationalen Consulting-Konzern Projektarbeit bei einer deutschen Großbank im Bereich Fehlerberichtigungen und funktionale Erweiterung einer Lösung für Bilanzierung des Wertpapier-Eigenhandels. Wichtige Punkte in diesem Projekt waren: Fehlerberichtigungen in den Staffelmodulen (gleitender Durchschnittspreis nach HGB) Erstellen der Staffelmodule zur Ermittlung der Historischen Anschaffungskosten Korrekturen beim Abgleich zu MUREX Implementieren der Schnittstellen Xetra. |
Xetra | ||||||||||
|
||||||||||
Ich war von einem großen internationalen Consulting-Konzern für die Einführungsphase
von Xetra eingeplant. Im Vorfeld habe ich mich mittels zur Verfügung stellten Unterlagen
mit Xetra vertraut gemacht. Da mein Können in Projekt "Bilanzierung des Wertpapier-Eigenhandels"
benötigt wurde, bat man mich kurzfristig, dieses Projekt zu übernehmen.
|
Screening Labor | ||||||||||
|
||||||||||
Redesign zwecks Umstellung auf Multi-User Betrieb einer seit Mitte
der achtziger Jahre gewachsenen Softwarelösung für ein Reihenuntersuchungslabor,
inklusive der Abrechnung nach GOÄ, Untersuchungsvorbereitung sowie der Befundung.
|
ENTERPRISE JAVA-BEANS | ||||||||||
|
||||||||||
In Zusammenarbeit mit mehreren Kollegen wurde im Bereich Objektorientierte
Analyse und Objektorientiertes Design mit UNIFIED MODELING LANGUAGE (UML)
sowie der Entwicklungssprache JAVA mit deren Komponentenmodellen JAVA-BEANS und
ENTERPRISE JAVA-BEANS verschiedene Szenarien der künftigen Software-Entwicklung erprobt.
Zielrichtung ist, künftig mit objektorientierten, plattformunabhängigen Frameworks zu entwickeln.
|
Mobiles CRM | ||||||||||
|
||||||||||
Von Dezember 1992 bis Anfang 1997 habe ich (fast) ausschließlich
mit einer Unternehmensberatung aus München zusammengearbeitet.
Im Auftrag des Unternehmens habe ich bei verschiedenen Kunden
mobile CRM-Systeme entwickelt und eingeführt. Ab Anfang 1997
bis Mitte 2001 habe ich dann die Wartung bei den Kunden übernommen.
|
SNI Kordoba | ||||||||||
|
||||||||||
Das Softwarehaus, für das ich die Aussendienststeuerungen entwickelte,
ist primär im Bereich Korboda tätig. Um personelle Engpässe zu beseitigen
sowie für mich eine Grundauslastung sicher zu stellen, wurden
mir kleinere Projekte bei der Weiterentwicklung und Wartung
von Kordoba zugewiesen.
|
Datenbank Schnittstelle | ||||||||||
|
||||||||||
Als Werkstudent habe ich über einen Zeitraum von mehreren Jahren und in Zusammenarbeit mit wechselnden Kollegen (festangestellte Mitarbeiter und Werkstudenten) die Schnittstelle der SILINE-200 Bereiche Einkauf, Produktion und Vertrieb auf die relationale Datenbank SESAM unter BS2000 entwickelt, getestet und bei einem Pilotkunden installiert. Notwendig waren die Analyse der von SILINE-200 abzuspeichernden Attribute sowie der Zugriffspfade (Primär- und Sekundärschlüssel), Definition des Datenmodells für die relationale Datenbank SESAM, Erstellung der Schnittstellen Software und Test der Schnittstelle durch Definition von Geschäftsprozessen |
Warenwirtschaftssystem | ||||||||||
|
||||||||||
Planung, Erstellung und Wartung eines Warenwirtschaftssystems für
mittelständische Industriebetriebe der Nahrungsmittelindustrie mit
Schnittstellen zu vorhandener Standardsoftware.
|
Name | Level | seit | bis | Bemerkung |
---|---|---|---|---|
IBM MVS | Experte | 1989 | aktuell | heute IBM z/OS |
IBM OS/390 | Experte | 1989 | aktuell | heute IBM z/OS |
IBM z/OS | Experte | 1989 | aktuell | |
IBM TSO | Experte | 1989 | aktuell | Subsystem von IBM z/OS |
IBM JES2 | Experte | 1989 | aktuell | Subsystem von IBM z/OS |
IBM OMVS | Experte | 1989 | aktuell | Subsystem von IBM z/OS |
IBM USS | Experte | 1989 | aktuell | Subsystem von IBM z/OS |
IBM AIX | Fortgeschritten | 1995 | aktuell | |
Siemens BS2000 | Experte | 1987 | 2006 | heute Hersteller Fujitsu, davor FSC, Siemens-Nixdorf, Siemens |
MS-WINDOWS 1.x bis 3.x | Experte | 1986 | 1998 | |
MS-WINDOWS 9x | Experte | 1995 | 2005 | |
MS-WINDOWS NT, 2000, XP, Vista, 7, 8, 10 | Experte | 1994 | aktuell | |
Apple Mac OS | Experte | 1996 | 2004 | |
Apple Mac OS X | Experte | 2001 | aktuell | |
UNIX | Experte | 1986 | aktuell | |
Linux | Experte | 1994 | aktuell | |
BSD-Unix | Experte | 1986 | aktuell | |
Sun Solaris | Experte | 1996 | aktuell | |
IBM OS/2 | Experte | 1991 | 2002 | |
NOVELL NETWARE | Grundlagen | 1990 | 1998 | |
MS-DOS | Experte | 1984 | 2002 |
Name | Level | seit | bis | Bemerkung |
---|---|---|---|---|
IBM CICS | Experte | 1989 | aktuell | |
IBM MQ-Series | Experte | 1996 | aktuell | |
IBM IMS DC | Experte | 1989 | aktuell | |
IBM WebSphere MQ | Experte | 1996 | aktuell | neuer Name für IBM MQ-Series |
Siemens UTM | Experte | 1986 | 2006 | |
Siemens ATM | Grundlagen | 1986 | 1997 |
Name | Level | seit | bis | Bemerkung |
---|---|---|---|---|
CORBA | Fortgeschritten | 1993 | 1998 | |
EJB Enterprise Java Beans (inkl. Message Driven Beans) | Experte | 1999 | aktuell | |
Innovator | Experte | 1999 | aktuell | |
Java Beans | Experte | 1998 | aktuell | |
OLE | Grundlagen | 1994 | 2006 | |
COM | Grundlagen | 1994 | 2006 | |
DCOM | Grundlagen | 1994 | 2006 | |
ActiveX | Grundlagen | 1994 | 2006 | |
OpenDoc | Grundlagen | 1994 | 1997 | |
RMI | Experte | 1997 | aktuell | |
SOM | Grundlagen | 1992 | 2002 | |
DSOM | Grundlagen | 1995 | 2002 | |
UML | Experte | 1996 | aktuell | |
XML | Experte | 1990 | aktuell | von 1990 bis 1998 SGML |
SGML | Experte | 1990 | aktuell | seit 1998 primär XML |
XLST | Experte | 1999 | aktuell | siehe dieses Profil |
Apache | Experte | 1999 | aktuell | |
Tomcat | Experte | 2002 | aktuell | |
JBoss | Experte | 2003 | aktuell | |
Oracle IAS | Fortgeschritten | 2003 | aktuell | |
Oracle OAS | Fortgeschritten | 2003 | aktuell | |
MAVEN | Fortgeschritten | 2008 | aktuell | |
Hibernate | Fortgeschritten | 2014 | aktuell |
Name | Level | seit | bis | Bemerkung |
---|---|---|---|---|
IBM DB2 for OS/390 | Experte | 1997 | aktuell | |
IBM DB2 for z/OS | Experte | 1997 | aktuell | früher IBM DB2 for OS/390 |
IBM DB2 for OS/2 | Experte | 1994 | 1998 | |
IBM DB2 for Windows | Experte | 1998 | aktuell | |
IBM DB2 for Linux | Experte | 2001 | aktuell | |
IBM DB2 for Solaris | Experte | 2001 | 2002 | |
IBM DB2 for AIX | Experte | 1994 | aktuell | |
IBM DB2 with BLU Acceleration | Experte | 2016 | aktuell | |
ORACLE | Experte | 1998 | aktuell | Versionen 7 bis 12, inkl. ETL Tools (Datawarehouse) |
Siemens SESAM | Experte | 1987 | 2006 | |
mySQL | Fortgeschritten | 2001 | aktuell | |
IBM Cloudscape | Fortgeschritten | 2003 | 2010 | siehe auch Apache Derby |
Apache Derby | Fortgeschritten | 2003 | aktuell | siehe auch IBM Cloudscape |
IBM IMS DB | Experte | 1989 | aktuell | |
ADABAS | Fortgeschritten | 1987 | aktuell | |
SAP DB | Fortgeschritten | 2001 | 2007 | |
mySQL MaxDB | Fortgeschritten | 2001 | 2007 | früher SAP DB |
dBase | Experte | 1985 | 2003 | |
MS FoxPro | Experte | 1989 | 2003 | |
CA Clipper | Experte | 1987 | 2003 | |
Alaska XBase++ | Experte | 1994 | 2003 | |
MS Access | Fortgeschritten | 1994 | 2005 |
Name | Level | seit | bis | Bemerkung |
---|---|---|---|---|
COBOL | Experte | 1985 | aktuell | |
JAVA | Experte | 1996 | aktuell | |
Spring | Experte | 2008 | aktuell | |
Spring Batch | Experte | 2016 | aktuell | |
C | Fortgeschritten | 1987 | aktuell | |
C++ | Fortgeschritten | 1992 | 2010 | |
Object-C | Fortgeschritten | 1989 | 2010 | |
Visual Basic | Experte | 1985 | 2010 | 1985 bis 1992 primär MS-Basic |
REXX | Experte | 1992 | aktuell | zuerst OS/2, dann z/OS |
php | Fortgeschritten | 2002 | aktuell | |
PL/I | Fortgeschritten | 1989 | 2011 | |
XBase | Experte | 1985 | 2002 | |
SIRON | Fortgeschritten | 1998 | 2002 | |
Assembler (Mainframe) | Fortgeschritten | 1987 | 2006 | |
PL/SQL | Fortgeschritten | 1998 | aktuell | |
SQL Plus | Fortgeschritten | 1998 | aktuell |
Name | Level | seit | bis | Bemerkung |
---|---|---|---|---|
AcuCOBOL | Grundlagen | 1991 | 1993 | bezieht sich nicht auf COBOL als Sprache |
BMC Catatlog Manager | Fortgeschritten | 1999 | aktuell | |
Beta Produkte (Beta 92, Beta 93, ...) | Experte | 1997 | aktuell | |
CA Eplise | Fortgeschritten | 1999 | 2002 | |
CA Intertest | Fortgeschritten | 1999 | 2002 | |
CA Platinum | Experte | 1999 | 2003 | |
CA ProEdit | Fortgeschritten | 1999 | 2002 | |
CA SyncSort | Experte | 1997 | 2003 | |
CA Telon | Grundlagen | 1997 | 1997 | |
CompuWare File-AID | Experte | 1995 | aktuell | |
CompuWare File-AID for DB2 | Experte | 1995 | aktuell | |
CompuWare XPEditor | Experte | 1995 | aktuell | |
Eclipse | Experte | 2002 | aktuell | siehe auch IBM WSAD bzw. RAD |
IBM WSAD | Experte | 2002 | aktuell | siehe auch Eclipse, seit Ende 2003 IBM RAD |
IBM RAD | Experte | 2002 | aktuell | siehe auch Eclipse, bis Ende 2003 IBM WSAD |
IBM RSA | Experte | 2008 | aktuell | siehe auch Eclipse, IBM RSA ist ein IBM RAD mit Unterstützung beim Modellieren |
IBM RDZ | Experte | 2012 | aktuell | siehe auch Eclipse, IBM RDZ ist 'IBM RSA für Host-Entwickler' |
Fujitsu COBOL (Windows) | Grundlagen | 1998 | 2002 | bezieht sich auf die IDE |
IBM DB2 Table Editor | Fortgeschritten | 2003 | 2005 | |
IBM File-Manager | Fortgeschritten | 2003 | 2005 | |
IBM DFSort | Experte | 1989 | aktuell | |
IBM ICEMAN | Experte | 1989 | aktuell | |
IBM ISPF | Experte | 1989 | aktuell | |
IBM JCL | Experte | 1989 | aktuell | |
IBM OPC | Fortgeschritten | 1999 | aktuell | Unterstützung von Arbeitsvorbereitern |
IBM TWS | Fortgeschritten | 1999 | aktuell | siehe IBM OPC |
IBM QMF | Experte | 1997 | aktuell | |
IBM Visual Age for Basic | Grundlagen | 1995 | 1995 | |
IBM Visual Age for C++ | Fortgeschritten | 1994 | 1999 | |
IBM Visual Age for COBOL | Fortgeschritten | 1994 | 1999 | |
IBM Visual Age for Java | Experte | 1998 | 2013 | (Ich betreute 2012/2013 eine IBM VAGen Umgebung) |
IBM Visual Explain | Fortgeschritten | 2001 | 2007 | |
Kool:Gen (auch Cool:Gen geschrieben) | Fortgeschritten | 1994 | 2006 | zuerst OS/2, aktuell z/OS |
MicroFocus COBOL (DOS, OS/2, Windows, Linux) | Experte | 1987 | aktuell | |
SPUFI | Experte | 1997 | aktuell | |
Netbeans | Fortgeschritten | 2002 | aktuell | |
TestDirector | Experte | 2004 | aktuell | HP Quality Center |
HP Quality Center | Experte | 2004 | aktuell | |
Sybase PowerDesigner | Experte | 2007 | aktuell | |
Visual Cafe | Grundlagen | 1997 | 1998 |