Profilbild von Markus Bartkiewitz Software-Entwickler / Software-Architekt für Java aus Oberhausen

Markus Bartkiewitz

verfügbar

Letztes Update: 04.03.2020

Software-Entwickler / Software-Architekt für Java

Firma: Markus Bartkiewitz
Abschluss: Diplom-Mathematiker
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (gut) | französisch (Grundkenntnisse)

Skills

Schwerpunkte:
  • Implementierung von Programmen in der Programmiersprache Java,
  • Konzeption von Programmen in einer objektorientierten Programmiersprache,
  • Optimierung bestehender Geschäftsprozesse in der Entwicklung durch Analyse, Beschreibung und Konzeption,
  • Entwicklung und Konzeption von Unittests, Komponententests und Integrationstest,
  • Implementierung von Geschäftsprozessen als XML-basierte Services im Sinne der Service Orientierten Architektur (SOA) und Integration externer Systeme in den Geschäftsprozess.

Folgende Kenntnisse habe in meiner 8-jährigen Tätigkeit als Freelancer erlangt.
  • Entwicklerarbeit (einzeln):
    • Programmiersprachen: Java (1.4, 1.5, 1.6), C/C++, Visual Basic
    • IDE: Eclipse (3.3 – 4.6), Netbeans (6.0 – 6.7),
    • Frameworks & Standards: UML 2.0, Junit3, Junit4, Java Webstart, Google Web Toolkit, Google Protocolbuffer, JSON, XML, RMI, JNI (Java C++), Apache POI, Apache Velocity, JGraph
  • Entwicklerarbeit (im Team):
    • Buildserver: Hudson, Jenkins
    • Buildwerkzeuge: Apache Maven 2, 3, Apache Ant 1.7
    • Quellcodeverwaltungen: SVN, Telelogic Synergy, CVS
    • Ticketsysteme & Dokumentation: TRAC, JIRA/Confluence, Mantis,
  • Infrastruktur (Betrieb):
    • Betriebssysteme: Solaris 10, Ubuntu 7.04 – 12.04, AIX 6.1.0
    • Virtualisierung: VM Ware, Virtual Box
    • Backendsysteme:
      • Verzeichnisse: OpenLDAP
      • Datenbanken: Oracle 9g, 10g, 11g, IBM DB2, Lotus Notes (dokumentenorientiert), MySQL, MS DB Server, Sequel, Apache Hadoop
      • Applikationsserver: Oracle OC4J 10.1.3.2.0, Siemens Bean TA 3.1, BEA Weblogic, JBoss
      • Webserver: Apache Tomcat, Apache Webserver
  • Allgemeiner Entwicklungszyklus: Anforderungsanalyse, fachliche Konzeption, technische Konzeption, Implementierung, Qualitätssicherung, Betrieb/Wartung.
  • Java Libraries: Junit, GWT, Google Protocolbuffer, JSON, Maven, Smart GWT, Jersey, Datenspeicherung (Backend Systeme)



 
 

Projekthistorie

Projekte
 
  • 02/2016 – 06/2016 cloudsync
In diesem Lasttestprojekte wurde die Middleware des Kunden getestet. Dabei wurden die Ursachen für Unterschiede in den Antwortzeiten beim Zugriff aus unterschiedlichen Ländern analysiert und verbessert. Die Skripte wurden mit dem Lasttesttool Neoload aufgenommen und die Lasttests über die Cloud Infrastruktur des Toolanbieters ausgeführt. Auf diese Art und Weise wurde die Last aus unterschiedlichen Ländern simuliert und Bottlenecks identifiziert.
 
  • 02/2016 FODB Digitalisierung²
In diesem Projekte für die ilum:e Informatik AG bei der Fondsdepot Bank GmbH führte ich mehrere Last- und Performancetests durch. Ziel der Lasttestphase ist die Sicherstellung einer performanten und stabilen Funktionsweise nach dem Going Live. Die Auswertung der Lasttestläufe und die Sammlung systemkritischer Kennzahlen wurde koordiniert. Die Lasttestskripte wurden mit dem Silkperformer in der Versionen 16.5 erstellt und ausgeführt. Die Skripte steuern die Last über das CRM System und die Eingangskanäle für die Digitalisierung.
 
  • 08/2015 – 12/2015 Online Banking DB - 2
In diesem Zeitraum führte ich für mehrere Projekte Last- und Performancetests aus. Die Skripte simulieren Geschäftsprozesse auf der http Protokollebene. Testobjekte waren die http-Schnittstelle des Online Bankings, des Unternehmensportals, externe Netzwerkanbindungen und die eingesetzten Integration Layer (Middleware). Ziel war die Verifizierung und Sicherstellung der nicht-funktionalen Anforderungen für die Projekte "LeON CML IL", "Standing Order" und "Defino". Die Lasttestskripte wurden im C-Dialekt des Lasttestwerkzeugs HP Loadrunner erstellt. Die zur Verfügung gestellten Testdaten mussten für den Einsatz im Lasttest vorbereitet werden. Die Einhaltung der nicht- funktionalen Anforderungen wurde in einem Lasttestbericht ausgewiesen und präsentiert.
 
  • 07/2015 WKO Evaluierung
In diesem Projekt führte ich eine Evaluierung für ein Lasttesttool durch. Aufgabe war die Prüfung des Einsatzes des Lasttesttools Apache JMeter für die Durchführung eines Lasttests für die Prüfung eines geänderten Anmeldeprozesses des Kunden. Im Rahmen der Evaluierung wurde der gewünschte Anwendungsfall mit JMeter aufgenommen und so die Einsetzbarkeit des Werkzeugs dem Kunden dargelegt.
 
  • 05/2015 – 06/2015 Online Banking DB - 1
In diesem Projekt, das aus mehreren Unterprojekten bestand, wurden mehrere Last- und Performancetests über die http-         Schnittstelle des Online Bankings ausgeführt. Ziel war die Verifizierung und Sicherstellung der nicht-funktionalen             Anforderungen für die beiden Projekte "Giftcards" und "Kundenimpulse". Die Lasttestskripte wurden im C-Dialekt des           Lasttestwerkzeugs HP Loadrunner erstellt. Die zur Verfügung gestellten Testdaten mussten für den Einsatz im Lasttest               aufwendig vorbereitet werden. Die Einhaltung der nicht- funktionalen Anforderungen wurde in einem Lasttestbericht ausgewiesen.
 
  • 10/2014 – 12/2014 myCRM/CST Schweiz
In diesen beiden Lasttestprojekten für eine Schweizer Privatbank testete ich die aktuellen Releases der beiden Anwendungen myCRM und CST. Bei der Anwendung myCRM handelt es sich um ein bankinternes CRM System für die Kontaktverwaltung. Über die Anwendung CST können Order für ausgewählte Portfolioprodukte zusammengestellt und ausgeführt werden. In den ausgeführten Lasttests sollte die stabile Ausführung der Anwendung auf der bestehenden Infrastruktur für die wichtigsten Anwendungsfälle sichergestellt werden. Die Lasttestskripte wurden mit dem Silkperformer in der Versionen 9.5 und 15.5 erstellt und ausgeführt. Die Skripte wurden browserdriven erstellt und steuern die Benutzeraktionen direkt auf dem Web-Frontend an. Für das Monitoring der zu
überwachenden Systeme wurde das Werkzeug dynaTrace eingesetzt mit dem alle testrelevanten Werte ausgewertet und
aufgezeichnet werden konnten. Die Ergebnisse wurden in einem ausführlichen Lasttestbericht ausgewiesen.
 
  • 09/2014 – 10/2014 EAI Workflow Upgrade
In diesem sehr kurzen Lasttest Projekt testete ich über die beiden technischen Schnittstellen Datenbank und Webservice der Anwendung KUBIS (= Kunden Betreuungs- und Informationssystem, die Auswirkungen der Last auf die angepasste Workflow- Engine im EAI. Im Rahmen des Projektes stand die Sicherstellung der performanten Verarbeitung aller bestehenden EAI Workflows im Vordergrund. Die Lasttests wurden mit dem Silkperformer ausgeführt und für mehrere Testszenarien wurden Testauswertungen erstellt. Die zu testende Workload bestand aus bereits erstellten Skripten. Die benötigten Testdaten erstellte ich für alle Skripte mit KUBIS
Anteil.
 
  • 04/2014 – 07/2014 Finanzkauf Advanced
In diesem Lasttest Projekt testete ich die http Schnittstelle der Anwendung KUBIS (= Kunden Betreuungs- und Informationssystem ). Im Rahmen des Projektes stand die Sicherstellung der performanten Verarbeitung aller bestehenden Anwendungsfälle im Fokus, die sich durch die fachlichen Änderungen an den bestehenden Geschäftsprozesse im Rahmen der Vertragsverlängerung durch
die Einführung der Möglichkeit für einen Finanzkauf eines Mobilfunkgeräts ergibt. Die Lasttests wurden mit dem Silkperformer ausgeführt und für mehrere Testszenarien wurden Testauswertungen erstellt. Die Testausführung für die http Schnittstelle basiert auf normalen http Requests. Die zu testende Workload bestand aus bereits im letzten Lasttestprojekt eingesetzten Skripten. Für die Skripte im Rahmen der Vertragsverlängerung wurde ein Testdatengetriebener Ansatz verwendet. Die Bestandstestdaten wurden
von mir zentral für alle Lasttestprojekte in diesem Release verwaltet. Die Testskripte basieren auf einer Aufnahme des Anwendungsfalls im KUBIS Client, die mit dem Recorder des Silkperformers erstellt wurde, und anschließend für die Verwendung vorselektierter Testdaten aufbereitet wurden.
 
  • 01/2014 – 03/2014 Oracle Upgrade
In diesem Lasttest Projekt testete ich die http Schnittstelle der Anwendung KUBIS (= Kunden Betreuungs- und Informationssystem ). Im Rahmen des Projektes stand die Sicherstellung der performanten Verarbeitung aller bestehenden Anwendungsfälle im Fokus, die sich durch einen Austausch bestehender Hard- und Software der zentralen Oracle Datenbank ergibt. Die Lasttests wurden mit dem Silkperformer ausgeführt und für mehrere Testszenarien wurden Testauswertungen erstellt. Die Testausführung für die http Schnittstelle basiert auf normalen http Requests. Die zu testende Workload bestand aus den im Vorgängerprojekt genutzten Skripten. Zu jedem Anwendungsfall gibt es je ein Testskript. Die Testskripte basieren auf einer Aufnahme des Anwendungsfalls im KUBIS Client, die mit dem Recorder des Silkperformers erstellt wurde, und anschließend für die Verwendung vorselektierter Testdaten aufbereitet wurden. Alle Skripte wurden überarbeitet um eine schnellere und sichere Testausführung zu ermöglichen.
 
  • 06/2013 – 12/2013 SEPA Integration
In diesem Lasttest Projekt testete ich die http Schnittstelle der Anwendung KUBIS (= Kunden Betreuungs- und Informationssystem ). Im Rahmen des Projektes standen die notwendigen Änderungen an der Anwendung für die Einführung des neuen Zahlungsverkehrsformat SEPA im Fokus. Dies umfasste im wesentlich die neuen Kontodaten (IBAN/BIC) und die neu eingeführte SEPA- Mandatsverwaltung. Die Lasttests wurden mit dem Silkperformer ausgeführt und für mehrere Testszenarien wurden Testauswertungen erstellt. Besonderer Aufwand musste für die Sammlung der Testdaten für einen 24h Lauf betrieben werden. Die Testausführung für die http Schnittstelle basiert auf normalen http Requests. Die zu testende Workload bestand zum einen aus bereits erstellten Skripten, zum anderen aus neuen und angepassten Skripten. Zu jedem Anwendungsfall gibt es je ein Testskript. Die Testskripte basieren auf einer Aufnahme des Anwendungsfalls im KUBIS Client, die mit dem Recorder des Silkperformers erstellt wurde, und anschließend für die Verwendung vorselektierter Testdaten aufbereitet wurden.Im Rahmen des Projektes modernisierte ich die 57 Testskripte umfassend.
 
  • 05/2013 – 06/2013 Sofortige Optionswechsel
In diesem Lasttest Projekt testete ich die EDIFACT Schnittstelle in Bezug auf die Ausführung sofortiger Optionswechsel. Die Lasttests wurden mit dem Silkperformer ausgeführt und für mehrere Testszenarien wurden Testauswertungen erstellt. Die
Testausführung für die EDIFACT Schnittstelle basiert auf Dateien. Die zu testenden Workload bestand dabei aus fast
allen bereits bestehenden Anwendungsfällen. Zu jedem Anwendungsfall gibt es je ein Testskript. Die Testskripte basieren auf einer EDIFACT Template Datei, welche im Testskript mit Testdaten aufbereitet wird. Die vom Testskript erzeugte EDIFACT Datei wird der EDIFACT Schnittstelle zur Verarbeitung übergeben. Im Rahmen des Projektes aktualisierte ich die Dokumentation für die EDIFACT
Schnittstelle.
 
  • 08/2011 – 04/2013 ISI incentage SWIFT Interface - FIN
Erstellung einer technischen Schnittstelle zum SWIFT Netzwerk für das Messaging Interface FIN. Im Rahmen des Projektes implementierte ich eine JNI Anbindung für die Nutzung der SWIFT Remote API als Kommunikationsschnittstelle mit dem SWIFT Alliance Gateway Server, dabei wird aus Java auf C++ Klassen zugegriffen. Fachlich setzte ich die Anforderungen für die Implementierung des Session Layer Retry Protokolls und des Resynchronisierungsprotokoll für die Schnittstelle um. Die Implementierung basiert auf einem firmeninternen Framework, welches Funktionen für die Anbindung von Datenbanken und Formaten zur Verfügung stellt. Ebenso implementierte ich das geforderte 4-schichtigen SWIFT Sicherheitskonzept. Die verwendeten Formate, für von der Schnittstelle erzeugten Nachrichten, implemtierte ich in Teilen. Die SWIFT Dokumentation analysierte ich in Teilen und erstellte auf dieser Basis Feinspezifikationen für bestimmte Anforderungen, das Session Layer Retry Protokol, die  Resynchronisierung, Analyse von auftretenden Fehlercodes und die technische Einbindung der C++ Remote API Schnittstelle. Neben der Implementierung der aufgeführten Anforderungen betreute ich den Buildserver, den ich installierte und administrierte und die
Ausführung des Builds mit Maven.
 
  • 04/2012 – 05/2012 Hanne Phase 3 Konzernverflechtungen
Für die Umsetzung der Hanne Phase 3 Konzernverflechtungen wurden in das bestehende Datenmodell für einen Mandanten in einem Partnerdatensatz zwei neue Felder eingefügt. Mit diesen ist eine Hierarchisierung von Partnerdaten in einem Konzern möglich. Diese beiden Felder wurden in die bestehden Anwendung und das Datenbankmodell integriert. Im Rahmen der Anforderungen wurden auch bestimmte Quittungscodes gefordert, wenn besondere Konstellationen in der Hierachie auftreten, die bei einem fehlerhaften Import an den Sender zurückgemeldet werden sollen. Auch dieses wurde in die bestehende Anwendung integriert. Auch der bereits bestehende Export wurde für den Export der Konzernhierarchie gemäß den Anforderungen erweitert. Aus dem Fachkonzept wurden die einzelnen Anforderungen extrahiert und für jede einzelne Anforderung ein Unittests konzeptioniert und implementiert. Die Unittests sind als black-box Tests konzipiert, damit die Tests unabhängig von der Implementierung sind. Die Tests gehen folgendermaßen vor: es werden die Eingangsschnittstellen befüllt und die Ausgangsschnittstellen überprüft.
 
  • 02/2012 – 03/2012 Prototyp
Im Rahmen dieses kurzen Projektes wurde ein Prototyp Plugin für den Buildserver Jenkins entwickelt. Aufgabe der Plugins ist die Erstellung einer Zusammenfassung der ausgeführten Junittest und im Falle eines Fehlschlags die Erstellung eines Eintrages im HP Quality Center. Das Plugin startet nach Ausführung des Builds und parst die Ergebnisdateien zu den einzelnen Junittests. Die Ergebnisse werden analysiert und aufbereitet. Wenn Fehler bei der Ausführung eines Junittest festgestellt werden, dann wird über den ALM Webservice des HP Quality Center ein neuer Eintrag erzeugt,der die Zusammenfassung enthält.
 
  • 10/2011 – 01/2012 Hanne Phase 3
Für die Umsetzung des Projektes Hanne Phase 3 wurden zwei Exporte in eine bestehende Anwendung integriert. Die Exporte basieren auf den vom Mandanten zur Verfügung gestellten Stammdaten. Diese Stammdaten ändern sich regelmäßig, diese Änderungen müssen an ausgewählte Dritte weitergeleitet werden. Die Erstellung des Exportes basiert auf dem eingesetzten firmeninternen Java-Framework, der sogenannten Datenzugriffschicht. Die Exporte mussten in die bestehende Anwendung integriert werden, eine Oracle View, welche die zu exportierenden Daten enthält erstellt werden und die geforderten Exportformate umgesetzt werden. Aus dem Fachkonzept wurden die einzelnen Anforderungen extrahiert und für jede einzelne Anforderung ein Unittests konzeptioniert und implementiert. Die Unittests sind als black-box Tests konzipiert, damit die Tests unabhängig von der Implementierung sind. Die Tests gehen folgendermaßen vor: es werden die Eingangsschnittstellen befüllt und die Ausgangsschnittstellen überprüft.
 
  • 02/2011 – 08/2011 NCM
In diesem Lasttest Projekt testete ich die EDIFACT Schnittstelle zu den neuen Prepaid Aufladungsfunktionen. Die Lasttests wurden mit dem Silkperformer ausgeführt und für mehrere Testszenarien wurden Testauswertungen erstellt. Die Testausführung für die EDIFACT Schnittstelle basiert auf Dateien. Die zu testenden Workload bestand dabei aus fast allen bereits bestehenden Anwendungsfällen. Zu jedem Anwendungsfall gibt es je ein Testskript. Die Testskripte basieren auf einer EDIFACT Template Datei, welche im Testskript mit Testdaten aufbereitet wird. Die vom Testskript erzeugte EDIFACT Datei wird der EDIFACT Schnittstelle zur Verarbeitung übergeben. Im Rahmen des Projektes modernisierte ich die Testskripte und passte die Beschaffung der Testdaten für die einzelnen Anwendungsfälle auf die Datenformate des eingesetzten Testdatenservers an.
 
  • 12/2010 – 02/2011 Error und Ticket Monitoring
Betreuung und Pflege der bestehenden Anwendung Error und Ticket Monitoring (ETEM). Im Rahmen des Error und Ticket Monitoring betreute und pflegte ich die bestehende Altanwendung Workflow Controlling weiter. Bei der Entwicklung unterstützte ich die Entwicklung der neuen Anwendungsoberfläche, welche auf dem Google Webtoolkit basiert. Die Erstellung des Webarchivs für das GWT Projekt wurde in den Buildprozess mit Maven integriert. Für das Error und Ticket Monitoring entwickelte ich eine C++ Schnittstelle für unsere bereits bestehende Java Logging Schnittstelle. Mit dieser können aus C++ die bestehenden Java Methoden über JNI aufgerufen werden.
 
  • 06/2009 – 11/2010 Workflow Controlling
In diesem Projekt Workflow Controlling habe ich die bestehende Anwendung betreut und gepflegt. Die Anwendung setzt ein verteiltes 3-schichtiges dateibasiertes Logging Konzept um. Dabei werden Lognachrichten von der Anwendung an einen Nachrichtenempfänger übertragen. Dieser leitet die Nachrichten dann an eine Komponente weiter, die die Nachrichten in eine Datenbank einarbeitet. Als erstes erstellte ich eine Dokument für die Konsolidierung der bestehenden Datenbankstruktur und wie man diese optimieren kann. Dabei konnte ich meine bereits gesammelte Erfahrung aus dem Projekt Basis (Statistik) mit der Datenbank seht gut nutzen. Dieses Konzept ging in die strategische Projektplanung ein. Anschließend stellte ich den bestehenden ANT basierten Buildprozess auf Apache Maven um. Auch die Erstellung der Auslieferungsarchive für das Buildmanagement wurde auf Maven Assemblies umgestellt. Die Anwendung wurde für die Integration in den bestehenden CI Server des Rechenzentrums vorbereitet und erfolgreich umgesetzt. Nachdem die Umstellung des Builds auf Maven erfolgreich umgesetzt wurde, widmete ich meine Zeit der Erstellung von Integrationstests für die wichtigsten Anwendungsfälle der bestehenden Anwendung um.
 
  • 01/2008 – 11/2009 Basis (Statistik)
Im Projekt Basis (Statistik) erstellte ich eine Client/Server Anwendung für die tagesaktuelle Auswertung statistischer Daten. Die Anwendung ermittelte aus der Datenbank die erforderlichen Datensätze und erstellte daraus Auswertungsdateien. Aufgrund der komplexen Datenbankstruktur und der Ausfallsicherheit ist die Auswertung dateibasiert umgesetzt worden. Bei der Implementierung wurde besonderer Wert auf die Flexibilität der Konfiguration der statistischen Auswertungen gelegt, damit die Anwendung relativ
einfach für andere statistische Auswertungen genutzt werden konnte. So konnten die Auswertungsmerkmale frei konfiguriert werden. Die erzeugten Auswertungen konnten dann in Excel Sheets umgewandelt werden. Im Laufe des Projektes wurde eine Testabdeckung mit Junittests von 80% erreicht und die Laufzeit des täglichen Auswertungslaufes kontinuierlich reduziert.
 
  • 02/2007 - 12/2007 SEPA/ WPP
Im Projekt SEPA/WPP implementierte ich einen Server für die Einlagerung von Stammdaten für die Absicklung des Zahlungsverkehrs eines Mandanten. Die Implementierung basiert auf einem firmeninternen Framework, der sogenannten Datenzugriffsschicht. Die Einlagerung der Stammdaten erfolgt dabei unterschiedlich nach Mandant und Liefersachgebiet. Die Geschäftsprozesse für die Abwicklung einer Einlagerung wurde als ARIS Modell modelliert und wurde dann über konkrete Prozessschritte, die als Javaklassen realisiert sind ausgeführt. Die einzelnen Prozessschritte für die Einlagerung wurden realisiert. Die eingehenden Formate für die Stammdaten von 2 Liefersachgebieten wurden als Businessobjekte realisiert und konnten über den Geschäftsprozess im
Stammdatenserver eingelagert werden. Die Quittierung der Einlagerung von Stammdaten wird gemäß der Konzeption
ausgeführt. Das Datenbankdesign für den Stammdatenserver wurde konzeptioniert und implementiert.
 

Reisebereitschaft

Verfügbar in den Ländern Deutschland, Österreich und Schweiz
Verfügbarkeit: ab dem 01.07.2018
Einsatzorte: Deutschland (PLZ-4 und 5 bevorzugt), Österreich(Remote oder Projektlaufzeit > 6 Monate), Schweiz(Remote oder Projektlaufzeit > 6 Monate)
Profilbild von Markus Bartkiewitz Software-Entwickler / Software-Architekt für Java aus Oberhausen Software-Entwickler / Software-Architekt für Java
Registrieren