Senior-Entwickler, Lead-Entwickler
Aktualisiert am 22.04.2024
Profil
Referenzen (5)
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 01.09.2024
Verfügbar zu: 40%
davon vor Ort: 100%
Java Entwicklung, Datenbanken, Backend
Deutsch
Muttersprache
Englisch
gut in Schrift und Wort
Polnisch
Muttersprache
Russisch
gut in Schrift und Wort
Spanisch
Grundkenntnisse
Tschechisch
Grundkenntnisse

Einsatzorte

Einsatzorte

München (+50km) Aschaffenburg (+50km)
Deutschland
möglich

Projekte

Projekte

2 Jahre 1 Monat
2021-05 - 2023-05

NEWPOSS.

Entwickler Windows 10 Pro CentOS Linux JDK 8 ...
Entwickler

BESCHREIBUNG: Der NEWPOSS-Projekt umfasste im Wesentlichen das Kassensystem und die zugehörige Backend-Komponente für jeden Supermarkt von ALDI SÜD. Das Kassensystem verfügte über eine lokale H2 Datenbank und verwendete die JPOS Schnittstelle zur Anbindung von externen Geräten. Im Backend kamen JBoss als Applikationsserver und PostgreSQL als Datenbank zum Einsatz. Beide Anwendungen basierten auf dem TREND - Framework der Firma GEBIT, dem wiederum eine OSGI-Implementierung zugrunde lag. Es wurden mehrere Länderversionen unterstützt, die sich teilweise erheblich in der Geräte-Ausstattung, steuerlichen und rechtlichen Gegebenheiten unterschieden haben. Die Projektorganisation folgte dem Spotify Modell von Scrum.
MEINE AUFGABEN: Anbindung von Peripherie-Geräten, z.B. den Fiskaldrucker für Italien. Einsatz von Graphenalgorithmus (nach Ahuja-Orlin) für den maximalen Durchfluss zu Berechnung der optimalen Zuteilung von Zahlungsmitteln zu den Artikeln an der Kasse unter Berücksichtigung der Einschränkungen zwischen den Artikeln und Zahlungsmitteln. Implementieren von Schnittstellen zwischen den einzelnen NEWPOSS-Komponenten und zur Außenwelt als XML- und REST-basierte Webservices. Schreiben von End-To-End Tests mit dem GEBIT-internen Testframework "Integrity".

Windows 10 Pro CentOS Linux JDK 8 IntelliJ IDEA 2021.1.1 Eclipse 2021-06 WildFly 10 H2 PostgreSQL DBeaver 21.10 SoapUI OpenAPI JUnit 5 Mockito 3.6.0 ArchUnit 0.22.0 Maven 3.5.3 GIT 2.30.1 Docker Desktop 4.2.0 MS Teams Miro Jira Confluence.
GEBIT Solutions GmbH.
München (Homeoffice), Düsseldorf / Deutschland.
1 Jahr 2 Monate
2020-03 - 2021-04

Berufliche Weiterbildung.

Developer, Lead Developer. OSX 11.2.3 iPadOS 14.4.1 Microservices und Cloud-Native-Programmierung (Spring Cloud ...
Developer, Lead Developer.

Aufgrund der Kontaktbeschränkungen in den Lockdowns erfolgte die Weiterbildung ausschliesslich durch das Studieren der Fachliteratur und Internet-Dokumentationen, sowie durch die Realisierung kleiner Programmierprojekte zum Ausprobieren bestimmter Tools und Technologien. Die getroffene Auswahl der Tools und Technologien für die Weiterbildung richtete sich in erster Linie nach den zur Zeit vorherrschenden Erfordernissen des IT-Marktes. Die weiteren Kriterien waren meine fehlende Erfahrung mit diesen Technologien, gefolgt von Wiederholung und Erweiterung des Know-hows.

OSX 11.2.3 iPadOS 14.4.1 Microservices und Cloud-Native-Programmierung (Spring Cloud Quarkus 1.6.0 Domain Driven Design) Betrieb von Microservices (Kubernetes Helm Istio Terraform 0.12) Java Enterprise (JEE 8 Jakarta EE 9 Eclipse MicroProfile) Web Frontend (Angular 10 TypeScript 4.0 Vaadin 14 Bootstrap 4) Desktop und Mobile Frontend (JavaFX 11) Kotlin (Kotlin 1.4.30 SpringBoot für Kotlin) Scala (scala 2.13 cats 1.0.1) Prozessprogrammierung (Camunda 7.15 BPMN 2.0 DMN 1.1) funktionale Programmierung (funktionale Abstraktionen wie Funktor Monoid Monad usw.) reaktive Programmierung (Reactive Streams reaktive Programmierung in Spring und Quarkus) Kafka 2.4.0 (ZooKeeper Kafka Streams mit Stream- und Prozess API) Elasticsearch 7.0 (Abfragen ELK Stack: Elasticsearch Logstash Kibana) aktuelle Java-Versionen (von Java 9 bis Java 15) NoSQL-Datenbanken (MongoDB 4.0.0) agile Entwicklung (SAFe 5).
München / Deutschland.
11 Monate
2019-02 - 2019-12

SSOP (Single Sign On Provider), SSO Secret Service, K2

Lead Developer Apple MacBook OSX 10.15.1 JDK 8 ...
Lead Developer

Unternehmensweite Einführung einer Single Sign On (SSO) Lösung mit Unterstützung für das Sicherheitprotokoll OAuth/OpenID Connect. Die SSOP Anwendung diente der Anpassung des gewählten SSO Servers (Keycloak) an die Bedürfnisse des Unternehmens. Der mit Spring Boot und REST realisierte SSO Secret Service Mikroservice kümmerte sich um die Schlüsselverwaltung. Die K2 Legacy Anwendung (JEE, JBoss) war das Herzstück des Alarmsystems und besaß außer der Backend-Komponenten ein Wicket Web-Frontend. 

  • Betreuung eines Nearshore Teams aus Rumänien.
  • Anlage neuer Projekte SSOP und SSO Secret Service.
  • Anpassung der SSO Lösung mit Hilfe des Keycloak's SPI Schnittstellen (Service Provider Interface) und WildFly CLI.
  • Gestaltung der REST Schnittstelle der Secret Service Anwendung mitsamt Logins mit Hilfe von SSO JWT Token.
  • Performance Verbesserungen in K2 durch Optimierung der MySQL Datenbankzugriffe und Einführung von Caching mit Caffeine.
  • Schreiben von Docker Compose Skripten zum lokalen Starten von den neuen Anwendungen inklusive derer Umgebung (Datenbanken, Proxies usw.).
Apple MacBook OSX 10.15.1 JDK 8 Groovy IntelliJ IDEA 2018.1 JBoss EAP 6.4 Keycloak 6.0.1 SpringBoot 2.1.3 MySql 5.7 Liquibase 3.5.5 MySQL Workbench 8.0 Caffeine 2.8.0 Jasypt 2.1.1 JAXRS Retrofit 2.6.0 JUnit 4 JMockit 1.45 JProfiler 11.0.1 GIT Maven 3.6.0 Docker 2.1.0.4 Prometheus 2.13 JIRA Confluence
F24 AG
München
7 Monate
2018-06 - 2018-12

OSRR (Online Shopping Realtime & Rating)

OOA/OOD/OOP, Entwickler- und Integrations-Tests IBM-PC Windows 10 JDK 7 ...
OOA/OOD/OOP, Entwickler- und Integrations-Tests

Der Hauptzweck von OSRR war die Berechnung und Verwaltung von Bonuspunkten eines Kunden, die er für seine Einkäufe bekommen hat. Bei der Berechnung wurden zusätzlich Gutscheine, Partnerpromotionen, Voucher usw. berücksichtigt. Es handelte sich hier vor allem um mehrere JEE Backend Anwendungen, mit einigen wenigen Frontend Applikationen

  • Das Umsetzen von Use Cases im JEE Backend Umfeld, mit Zugriffen auf die Datenbanken via JPA und REST- und SOAP-Webservice Schnittstellen.
  • Auswählen, Aggregieren und Verschicken von Nachrichten an Kafka-Topics zwecks Auswertung mittels BI (Business Intelligence) Verfahren.
  • Performance Verbesserungen mit Hilfe von JProfile.
  • Implementierung von GUI-Oberflächen mit Angular.
  • Schreiben, Überwachen und Verwenden von End-To-End-Tests mit TOSCA. 
IBM-PC Windows 10 JDK 7 JDK 8 Groovy IntelliJ IDEA 2018.2.5 WebLogic 12.1.3.0.0 Tomcat 7 Oracle 12.1.0 PL/SQL Developer Kafka Angular 6.1.4 JUnit Mockito OpenEJB 4.5.1 Jasmine Karma TRICENTIS TOSCA Testsuite 7.0.0 JProfiler 10 GIT Subversion Maven 3.5.0 ANT 1.8.2 Ansible Kibana Grafana SonarQube FishEye Crucible JIRA Confluence
PAYBACK GmbH
München
6 Monate
2017-11 - 2018-04

CA PDM (Computer Aided Product Data Management)

OOA/OOD/OOP, Entwickler- und Integrations-Tests IBM-PC Windows XP Linux ...
OOA/OOD/OOP, Entwickler- und Integrations-Tests

Die Anwendung diente der Erstellung von neuen Fahrzeugmodellen aus verschiedenen Teilen, die wiederum mit CAD Tools wie CATIA und ähnlichen erstellt wurden. Da das BMW Konzern Konstruktionsbüros in anderen Ländern geöffnet hat, durften viele Konstruktionsdaten den Mitarbeitern dieser Niederlassungen nicht angezeigt werden. Es war deshalb notwendig, ein ausgefeiltes Berechtigungskonzept in der Anwendung einzuführen, eine sog. Need To Know (N2K)Funktionalität.

  • Einholen der Berechtigungsinformationen aus der PRISMA Datenbank mittels der bereitgestellten Datenbank - Views oder gespeicherten Prozeduren. Das anwendungsweite Anbieten dieser Informationen mit Hilfe von ThredLocal - Objekten.
  • Verwendung der JEE Interceptors und Annotationen zum Verstecken von Datenteilen für nicht authorisierte Benutzer.
  • Die Anzahl der versteckten Elemente wurde als eine Meldung in der Web-GUI angezeigt und die Elemente mit ausgefilterten Kindern wurden in GUI-Baumsdarstellung mit speziellen Symbolen markiert.
  • Export von Arbeitsstrukturen an ausländische Konstruktionsbüros mit Hilfe von REST-Webservices (JSON).
  • Schreiben von automatischen Unit- und Integrationstests, die sicherstellten, dass die Sicherheitsmechanismen für sensible Konstruktionsdaten tatsächlich greifen.
  • Ergänzen der Dokumentation.
IBM-PC Windows XP Linux JDK 7 Eclipse Oxygen GlassFish 3.1.2.2 Jersey 1.9-ea04 JAXRS SoapUI 5.3.0 Oracle 12 Oracle SQL Developer 17.3.1.279 UCS (Struts) ExtJS 3.2.2 Direct Web Remoting (DWR Ajax for Java) Violet UML 2.1.0 JUnit 4 Reflections 0.9.10 ANT 1.8.4 Maven 3.0.5
BMW AG
München
4 Monate
2017-07 - 2017-10

Product Catalog Service (PGS), Central Cost & Charges Service (C3S), Wertpapier Service (WPS)

Backend-Entwickler IBM-PC Windows 7 JDK 1.8 ...
Backend-Entwickler

Alle drei Projekte drehten sich um die Umsetzung der EU-Richtlinie MiFID II. Das PGS Service diente der Zuordnung von Wertpapieren und anderen Bankprodukten zu den Kategorien, die nur bestimmten Kundengruppen angeboten wurden. Das C3S Projekt berechnete alle Kosten und Gebühren, die dem Kunden beim Kauf, Verkauf und während der Haltephase eines Finanzproduktes in Rechnung gestellt werden. Das WPS Projekt lieferte Informationen zu Wertpapieren, die für die Berechnung dieser Kosten benötigt wurden. Alle drei Projekte basierten auf Spring Boot. Für die Kommunikation nach Außen dienten Messaging- und REST-Schnittstellen

  • Neuanlage der Projekte, Bestimmung der Projektstruktur und der verwendeten Technologien.
  • Erstellen von DMN 1.1 Entscheidungstabellen für Kostenberechnungen mit Camunda.
  • Mannigfache Spring Boot Konfiguration.
  • ActiveMQ Konfiguration für Transaktionen und Dead Letter Queues.
  • Durchführung von Kostenberechnungen anhand der Daten aus der Datenbank- und DMN Entscheidungstabellen.
  • Archivierung von Datenbanktabellen mit Hibernate Envers
  • Schreiben von Lasttests für Messaging mit JMeter
IBM-PC Windows 7 JDK 1.8 Intellij IDEA 2017.2.2 Tomcat v8.5.20 Spring Boot 1.5.6 JAX-RS 2.0.1 Swagger UI Spring JMS 4.3.9.RELEASE ActiveMQ 5.15.0 Hawtio-UI Camunda 7.7.0 Oracle 12.1.0 JPA Hibernate 5.2.10.Final Spring Data Hibernate Envers Oracle SQL Developer 17.2.0.188 Apache FOP 2.1 YAML Maven Jenkins REST-assured 3.0.3 Wiremock 2.7.1 Cucumber 1.2.5 JMeter 3.2 AssertJ 3.8.0 JUnit 4 Mockito JIRA Confluence
DAB BNP PARIBAS
München
2 Monate
2017-05 - 2017-06

Vertrag Produkt System (VPS)

Backend- und Frontendentwickler IBM-PC Windows 8.1 Enterprise JDK 1.8 ...
Backend- und Frontendentwickler

VPS war eine von den wichtigsten Komponenten in der SOA Landschaft für die Abwicklung von Versicherungspolicen. Es Bestand aus einem Web-Frontend realisiert mit VaadinFramework und zwei WebService-Anwendungen: einer für Verträge und einer für Versicherungsobjekte. Technologisch wurden die Anwendungen in JEE mit IBM WebSphere als Applikationsserver realisiert. Die Implementierung basierte auf den Frameworks IPM und IPS der 'Faktor Zehn AG'. 

  • Erweiterung der bestehenden Anwendungsfunktionalität.
  • Analysieren und Lösen von Produktabweichungen.
  • Datenbankmigration im Zuge von IPM Upgrade.
  • Lösung der Probleme mit Speichern von Daten mittels EclipseLink JPA.
  • Mitarbeit in einer Multiteam-Umgebung nach den Prinzipien des Scrum Nexus.
IBM-PC Windows 8.1 Enterprise JDK 1.8 Eclipse Mars Release 4.5.2 IBM WebSphere Application Server 8.5.5.9 Vaadin 1.0.3 Maven GIT GitLab DB2 V10.5 EclipseLink JPA 2.6.0 liquibase Confluence Jira
Versicherungskammer Bayern (VKB)
München
7 Monate
2016-10 - 2017-04

Prozesse und Services Architektur (PSA)

Prozessprogrammierer IBM-PC Windows 8.1 Enterprise Linux ...
Prozessprogrammierer

Alle Business-Prozesse des Versicherungsunternehmens wurden in einer SOALandschaft (Service Oriented Architecture) bestehend aus IBM Tools Business Process Manager (BPM), Enterprise Service Bus (ESB) und einem Regelwerk realisiert

  • Erstellen von Schnittstellen (WSDL) im ESB
  • Implementierung von Mediationen zwischen verschiedenen Schnittstellen (hauptsächlich unter Verwendung von XPath und XSLT, aber auch mit Java)
  • Zugriff vom ESB auf Legacy-Systeme
  • Erweiterung der bestehenden Prozesse im BPM mit graphischen Mitteln (BPMN: Business Process Model and Notation) und JavaScript
  • Erstellung von Regeln im Regelwerk
  • Fehlersuche und Fehleranalyse in Prozessen
  • Bereitstellen der Möglichkeit zum lokalen Debuggen von Backendsystemen zusammen mit den Prozesskomponenten (ESB, BPM)
IBM-PC Windows 8.1 Enterprise Linux IBM Integration Designer 8.0.1.2 IBM WebSphere 8.0.0.12 IBM BPMPS 8.0.1.3 (IBM ESB IBM BPM IBM Rule Engine) IBM WebSphere Operational Decision Management 8.0.0.1 Subversion Jenkins
Versicherungskammer Bayern (VKB)
München
4 Monate
2016-06 - 2016-09

AMCF (Analytic Model Container Framework)

Lead Developer IBM-PC Windows Linux ...
Lead Developer

Ein Teil des AMCF Projektes beschäftigte sich mit der Problematik des Deep Learnings (DP). Unter anderem wurden die DP Bibliotheken Theano und TensorFlow eingesetzt. Das Unterprojekt "Theano Interpreter" entwickelte Module zur Ausführung von DP Workflows in C++ und Java, die mit Hilfe der Theano-Bibliothek modelliert und trainiert wurden. Die Workflows wurden in der platform- und sprachunabhängigen Serialisierungsformat Protocol Buffers gehalten. Es gab 3 Arten von Workflows: Feature Extraction, Random Forest und Convolutional Neural Networks. 

  • Evaluierung der Möglichkeiten zum Einsatz von TensorFlow unter Windows (Build mit Bazel) und mit Java
  • Schreiben von C++ Unit- (mit Google Test Bibliothek) und Workflow Tests (mit CMake und Bash-Skripten)
  • Erstellung und erste Entwicklung der Java-Version des Unterprojektes "Theano Interpreter". Dabei wurde die Algebra Bibliothek ND4J zur Entwicklung von Operationen wie Convolutional, Max Pooling, Rectifier usw. verwendet
  • C++ Implementierung von diesen Operationen basierte auf der Eigen Bibliothek für lineare Algebra
IBM-PC Windows Linux JDK 1.8 C++ 11 C++ GNU Compiler 5.3.0 IntelliJ 2016 Microsoft Visual Studio Express 2013 Google Protocol Buffers 2.5.0 CMake 3.3.2 ND4J 0.6.0 DL4J Eigen 3.2.7 Google Test 1.7.0 JUnit 4 JMockIt 1.2 Maven Google Bazel GIT Jira Confluence
Siemens AG/ BAM LSY (BAM Learning Systems)
München
7 Monate
2015-11 - 2016-05

SAMS IT (Siemens Advanced Maintenance Services)

Lead Developer IBM-PC Windows Linux ...
Lead Developer

Die Anwendung ermöglichte die Berechnung von Wartungsintervallen für die Gasturbinen anhand der historischen Daten so wie das Treffen der entsprechenden Voraussagen für die Zukunft. Die Wartungsintervalle konnten flexibel für verschiedene Einheiten, Komponenten und Teile der Gasturbinen berechnet werden. Die Signale der Sensoren wurden auf dem HDFS gespeichert und dienten als Input für die Berechnungen. Die Berechnung-Workflow wurde von Oozie überwacht, die Berechnung selbst wurde mit Pig gestartet. Die Ergebnisse wurden in die Teradata-Datenbank geschrieben. Die Konfiguration für die Berechnungen wurde in einer objektorientierten Datenbank ObjectDB gehalten. Die Benutzerschnittstelle wurde mit dem Vaadin Framework als Web-Oberfläche realisiert. Das Projekt wurde durch ein Scrum-Team bestehend aus Entwicklern in Deutschland, Rumänien und Indien realisiert. 

  • Überwachen und Verbessern der Code-Qualität
  • Erstellen und Umsetzen von Code-Qualität-Konzepten
  • Umziehen von Konfigurationsdaten für die Berechnungen von Dateisystem in die ObjectDB-Datenbank
  • Injektion von JPA-Klassen in die DAO-Objekte mit Hilfe des Google Guice Frameworks
  • Zugriff auf die Teradata-Datenbank via JDBC
  • Mitwirkung bei der Umstellung der Berechnungen von dateisystemorientierten, sequentiellen Modus in parallele Verarbeitung auf den Hadoop-Servern
  • Schreiben von Pig’s User Defined Functions (mit Java) und Pig Skripten (mit Pig Latin)
  • Schreiben von Unit-Tests mit Kotlin
IBM-PC Windows Linux JDK 1.8 Kotlin 1.0.3 IntelliJ 2016 Tomcat 8.0.2 Vadin 7.4.2 Guice 4.0 ObjectDB 2.6.7_05 Hadoop 2.4.0 Hive 1.1.0 HDFS Oozie 4.0.0 Ambari 1.5.1 Teradata 15.0 Teradata Studio Express JUnit 4 JMockIt 1.2 Maven GIT Bamboo Jira Confluence Sonar mobaXterm 8.6.
Siemens AG/ BAM LSY (BAM Learning Systems)
München
10 Monate
2014-10 - 2015-07

ePOS

OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests Apple MacBook IBM-PC Mac OS X 10.10.3 ...
OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests

ePOS ist eine Web-Anwendung für die O2-Shops, die nur von offiziellen O2-Händler verwendet wurde. Diese Anwendung stellte vor allem kompliziertere Funktionalitäten und Prozesse zur Verfügung, die nich im Internetportal des Unternehmens vom Kunden selbst bedient werden konnten. Es gab auch eine Version der Anwendung, die speziell für Tablets designet wurde. Als Webframework kam Wicket zum Einsatz. Das Responsive-Design der Tablet-Anwendung wurde durch Verwendung der Bibliotheken JQuery-Mobile und Bootstrap ermöglicht. Die Backend-Seite wurde mit JBoss als Applikationsserver und Oracle-Datenbank realisiert. Für die Sicherheitsaspekte war Apache Shiro verantwortlich. Wichtiger Bestandteil der Anwendung war der Zugriff auf die anderen Backend-Systeme des Unternehmens, der fast komplett durch eine REST-Schnittstelle namens MCE standardisiert wurde. Als REST Client wurde dabei Spring's RestTemplate Modul eingesetzt. Die zahlreichen Formulare in den Flows wurden im PDF-Format mit Hilfe der itextpdf-Bibliothek erstellt und elektronisch unterschrieben mit signPOS. 

  • Entwurf und Programmierung der GUI-Elmenente mit Wicket, HTML und CSS (Bootstrap, LESS)
  • Zugriff auf die REST-Schnittstelle (MCE) und das Schreiben von Unit Tests, die die Konsistenz dieser Schnittstelle bei Änderungen sicherten
  • Erstellen eines REST-Mock-Servers der MCE-Schnittstelle für Testzwecke
  • Cachen der MCE-Daten mit Ehcache
  • Interaktionen mit der Datenbank via JPA
  • Erstellen von Lasttests zum Testen von den wichtigsten Programm-Flows
Apple MacBook IBM-PC Mac OS X 10.10.3 JDK 1.7 IntelliJ IDEA 14.1.3 JBoss 7.2.0Final Tomcat 7.0 Java EE 6 CDI Spring Framework 3.1.1 Ehcache 3 itextpdf 5.1.3 Hibernate 1.4.4 Oracle 11g Oracle SQL Developer 4.0.3 Wicket 6.16.0 Maven 3.0.4 ANT GIT 1.7.6.4 jMeter 2.11 Jenkins Jira Confluence jUnit 4
Telefónica O2 Deutschland GmbH/ O2 Workbench Portal Solutions
München
8 Monate
2014-03 - 2014-10

Pegasus.Gas

OOA/OOD/OOP, Unit-, Integrations- und Akzeptanztests IBM-PC Windows 7 Enterprise JDK 7 ...
OOA/OOD/OOP, Unit-, Integrations- und Akzeptanztests

Pegasus.Gas war eine Anwendung zum Verkauf von Erdgas an Großkunden des Unternehmens. Es wurden verschiedene Verkaufsmethoden implementiert, unter anderem ein spezieller, in Scala geschriebener Server für Gas-Termingeschäfte. Die Hauptanwendung bestand aus Rich-Client UI (geschrieben in Java-Swing), einem Java-Server und der Oracle-Datenbank. Zum Herunterladen und Starten der Client-Anwendung wurde in erster Linie Java Web Start Technologie verwendet. Der Zugriff von Client auf den Server erfolgte via Spring HttpInvoker. Der Entwicklungsprozess folgte der ScrumMethodologie. 

  • Swing-GUI-Entwicklung mit JFormDesigner
  • Server-Programmierung von der Client-Fassade bis zu der Datenbank
  • Gestaltung von SOAP-WebService Schnittstellen zu anderen Systemen im Unternehmen
  • Schreiben von Swing-GUI funktionalen Tests mit Hilfe der FESTBibliotheken
IBM-PC Windows 7 Enterprise JDK 7 Scala 2.10.2 Java-Swing JNLP JGoodies 2.2.2 JFormDesigner 5.1.0 Spring 3.1.4 Spring Tool Suite (STS) 3.2.0 Apache Tomee 7.0.47 Oracle 11.2.0.3 Oracle SQL Developer 3.2.20.09 H2 In-Memory Database Hibernate 4.1.7 Flyway 2.1.1 quartz 2.1.6 Enterprise Architect 10.0.1009 soapUI-4.5.0 Lombok 1.14.3 jUnit fest-swing 1.2.1 DbUnit 2.4.8 Mockito 1.9.5 Subversion 1.7 TortoiseSVN Maven Jenkins Sonar onTrack 5.2
E.ON Business Services GmbH
München
4 Monate
2013-10 - 2014-01

CommonAR (Arztregister), eBIP (Elektronische Bilderprüfung)

OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests IBM-PC Windows 7 JDK 7 ...
OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests

CommonAR ist ein Register aller Ärzte und Praxen für die gesetzliche Krankenversicherung der Länder Bayern und Baden-Württemberg. Der Zugriff auf das Regiter erfolgte ausschließlich via eine WebService-Schicht. Eine zusätzliche Quelle der Daten waren bestimmte LegacyDatenbanken. Der sog. Syncer-Modul sorgte dafür, dass die Daten in diesen Datenbanken und dem CommonAR immer im aktuellen Zustand gehalten wurden. eBIP ist eine Web-Anwendung zur Anzeige und Prüfung der Bilder verschiedener Organe. Die Bilder wurden durch die Geräte der Kassenärzte erstellt. 

  • Erweiterung des Arztregisters durch Bereitsstellung neuer Webservices
  • Erweiterung der Datenbank und Implementierung der sonstigen Anwendungsschichten
  • Import der Daten aus anderen Systemen mittels des Syncer-Moduls
  • Erstellung und Testen von HTML-Seiten mit Wicket in der eBIP-Anwendung
  • Alle Projekte wurden im SCRUM-Modus und nach den Prinzipien von Clean Code Developer (CCD) durchgeführt
IBM-PC Windows 7 JDK 7 IntelliJ IDEA 13 Groovy Gradle 1.10 Spring Oracle 11 Oracle SQL Developer 3.0.04 H2 In-Memory Database Hibernate Flyway Wicket WicketTester soapUI-4.5.0 Togglz Lombok Google Guava DbUnit HTMLUnit Hamcrest Mockito Jenkins Sonar Cygwin Jira Confluence
Kassenärztliche Vereinigung Bayerns (KVB)/ CoC SDC
München
1 Jahr
2012-10 - 2013-09

Piranha, Prepaid

OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests Apple MacBook IBM-PC Mac OS X 10.8.3 ...
OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests

Piranha ist ein Authentifizierungs- und Autorisierungsportal von O2. Die ursprüngliche, Cookie-basierte Implementierung wurde durch einen Single Sign-On Server OpenAM ersetzt, bei dem der Austausch von Authentifizierungs- und Autorisierungsinformationen nicht nur via Cookie sondern auch mittels SAML erfolgte. Bei der Prepaid-Anwendung handelt sich um einen WebPortal für die Prepaid-Kunden von O2. Die Entwicklung in beiden Projekten erfolgte gemäß der ScrumMethodologie. 

  • Einführung von OpenAM in Piranha:
    • Installation und Konfiguration des OpenAM Servers
    • Schreiben von Custom Login Modulen und Post Authentication Plugins (PAP)
    • Anpassung der HTML-Seiten für das Login usw.
  • Mitwirkung bei der Migration von der Piranha-Anwendung von JBoss 4 auf JBoss7
  • Erstellung von Prepaid-Webseiten mit Wicket
Apple MacBook IBM-PC Mac OS X 10.8.3 Red Hat 6 JDK 1.7 IntelliJ IDEA 12.1 JBoss 7.2.0Final Tomcat 7.0 Java EE 6 CDI OpenAM 10.1.0 Spring Framework 3.1 Oracle 11g Oracle SQL Developer 3.2.10.09 Wicket 6.0 Groovy Maven 3.0.3 GIT 1.7.6.4 Arquillian TestNG jMeter 2.4 Jenkins 1.467 Jira Confluence HP SiteScope 11.22
Telefónica O2 Deutschland GmbH/ O2 Workbench Portal Solutions
München
11 Monate
2011-11 - 2012-09

Mobile Portal

OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests Apple MacBook IBM-PC Mac OS X 10.7.4 ...
OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests

Es handelte sich hier um eine Web-Anwendung für mobile Geräte der Firma O2 Deutschland. Wegen der enormen Vielfalt der unterschiedlichsten mobilen Geräte mussten die Seiten für verschiedene Gerätegruppen und sogar für einzelne Geräte in sog. Template Manager (mittels XSLT Transformationen und Cocoon) angepasst werden. Die Anbindung an die Backend-Systeme erfolgte überwiegend über REST Schnittstellen (JAX-RS 1.1). Die HTML Seiten wurden mit Wicket und node.js Technologien angefertigt. Ein anderes Problem bei der Erstellung von Web-Anwendungen auf den mobilen Geräten war die unterschiedliche Größe und Auflösung von Bildschirmen und die fehlende Unterstützung für bestimmte Bildformate (z.B. JPEG, GIF usw.). Dadurch mussten für jeden mobilen Gerätetyp die Bilder entsprechend skaliert und formatiert werden, was die Aufgabe eines Image-Servers war. 

  • Anbindung von Backend-Systemen der Firma O2 Germany
  • Erstellung von Mocks der Backend-Schnittstellen für Testzwecke
  • Verbesserungen der Performance durch das Cachen von Daten mit Hilfe einer EhCache-Lösung
  • Erstellung der HTML-Seiten mit node.js
  • Durchführung von Akzeptanztests auf den unterschiedlichsten mobilen Geräten
  • Erstellung einer Fahrtenbuch App für Android Geräte
  • Mitwirkung bei der Erstellung verschiedener Module wie der Pack Manager oder Master Data Change
  • Implementierung eines Image Servers, in dem aus Performance-Gründen die skalierten und formatierten Bilder in einem Squid Proxy Cache gehalten wurden
Apple MacBook IBM-PC Mac OS X 10.7.4 Ubuntu Linux IntelliJ IDEA 11.1.3 Tomcat 7.0 Spring Framework 3.1 CXF 2.5.1 Jersey 1.10 Squid Cache Proxy 2.7 DBCP 1.4 Maven 3.0.3 slf4j 1.6.4 GIT 1.7.6.4 TestNG jMeter 2.4 Selenium 2.0 Jenkins 1.467 Jira Confluence WebStorm 4.0 node.js 0.6.10 nave 0.2.6 NPM express 2.5.8 connect 1.8.6 cluster 0.7.7 jQuery jsdom 0.2.10 weld 0.2.2 winston 0.5.9 vows 0.6.2
Telefónica O2 Deutschland GmbH/ O2 Workbench Portal Solutions
München
1 Jahr 1 Monat
2010-10 - 2011-10

Service Delivery Framework (SDF)/ UNICA Facade

OOA/OOD/OOP, Unit-, Integrations-, funktionale und Lasttests, En Apple MacBook IBM-PC Mac OS X 10.6.7 ...
OOA/OOD/OOP, Unit-, Integrations-, funktionale und Lasttests, En

WebService basierte Platform UNICA diente zum Austausch von Daten zwischen dem Mutterkonzern Telefónica und deren Tochtergesellschaften wie z.B. O2 Deutschland. Die Sicherheitsaspekte wurden dabei durch einen Prototyp für den unternehmensweiten Security Server abgehandelt. Später wurde UNICA ein Teil der konzernweiten SOA-Lösung. Sämtliche Projekte des Unternehmens wurden agil als Scrum-Projekte realisiert

  • Implementierung der UNICA-Webservice-Schnittstelle
  • Zugriff auf verschiedene Untersysteme in der IT Architektur von O2 Deutschland und Konvertierung der Daten zwischen UNICA und den O2 Untersystemen
  • WebService Endpoints und Clients wurden mit JAX-WS entwickelt (Document/Literal Stil), nur für einige ältere O2 Untersysteme musste noch wegen der Benutzung des veralteten RPC/ Literal Stils Axis genommen werden
  • Schreiben der gespeicherten Prozeduren für den Zugriff auf die MySQL Datenbank
  • Entwicklung der Login-Module des Security Servers mit Hilfe von JAAS und WS-Security Standards, unter anderem mit XML Signaturen basierend auf digitalen Zertifikaten
  • Passwörter und Zertifikate wurden aus einem lDAP Server geholt
  • Evaluierung verschiedener freien und kommerziellen ESB-Lösungen, wie ServiceMix 4.3.0, Mule 3.1.1 (MuleStudio), UltraESB 1.4.0, Oracle Service Bus 11gR1, zwecks der Einführung einer unternehmensweiten SOA Architektur
Apple MacBook IBM-PC Mac OS X 10.6.7 Ubuntu Linux IntelliJ IDEA 10.5 Tomcat 6.0.29 Apache HTTP Server 2.2 OpenLDAP 2.4.25 MySQL 5.5 MySQL Workbench 5.2.31 Maven 2.2.1 Subversion 1.7 JAX-WS 2.1.7 Axis 1.4 Android 2.2 Adium 1.3.10 jMeter 2.4 jMockIt 0.999.4 jUnit 4.8.1
Telefónica O2 Deutschland GmbH/ O2 Workbench Portal Solutions
München
1 Jahr
2009-09 - 2010-08

Metadatensystem, IAB Thesaurus

OOA/OOD/OOP, Unit-, Integrations- und funktionale Tests, Datenb IBM-PC Windows XP Linux ...
OOA/OOD/OOP, Unit-, Integrations- und funktionale Tests, Datenb

Das Metadatensystem beinhaltete Datendefinitionen und -formate aller Forschungsdatensätze, die in Laufe der Jahrzehnte durch die BA erhoben worden sind. Es war möglich Datenkataloge mit der Beschreibung der Daten in gewählten Versionen zu erstellen. Der IAB Thesaurus war eine Sammlung von hierarchisch und alphabetisch angeordneten Schlagwörtern. Durch die Verknüpfung dieser Schlagwörter mit verschiedenen Datenquellen war es möglich, Daten zu bestimmten Themen schnell ausfindig zu machen. 

  • Schwerpunkt meiner Arbeit lag in der Backendprogrammierung mit EJB 3.0. Nur in bestimmten Projektphasen habe ich Unterstützung bei der Internetprogrammierung mit JSF geleistet
  • Businessobjekte wurden durch den Entwurf von JPA Entitäten modelliert, aus denen dann automatisch die Datenbankstruktur erstellt wurde
  • Datensätze wurden vor dem konkurrierenden Zugriff durch ein selbst entwickeltes "optimistic locking" Ansatz geschützt
  • Clients wurden die Businessobjekte sowohl durch eine WebService-Schnittstelle (JAX-WS) als auch durch RMI zur Verfügung gestellt
  • Sicherheitsaspekte wurden dabei meistens durch WS-Security (SSO und SAML auf Basis von WebLogic) realisiert, aber auch durch Zwei-Wege-Authentifizierung SSL (in JBoss)
  • Datenaustausch mit anderen Modulen:
    • Import von Daten aus fremden Thesauren via StAX in SKOS-Format (Simple Knowledge Organization System), eingebettet als RDF (Resource Description Framework)
    • Export von Metadaten in DDI-Format (Data Documentation Initiative, Metadatenmodell für die Beschreibung von sozialwissenschaftlichen Daten) mit Hilfe von JAXB. Für das Deployment auf verschiedenen Arten von Servern wurden ANT und Bash-Skripte bereitgestellt
IBM-PC Windows XP Linux JDK 6 Eclipse 3.4.1 NetBeans 6.1 EJB 3.0 WebService Metro Framework SoapUI 3.0.1 Oracle Weblogic 10.3 JBoss Portal Server 2.64 Oracle 10 Oracle SQL Developer 1.5.1 SQL Workbench/J JSF 1.2 ANT 1.7 CVS jMockIt
Institut für Arbeitswissenschaft und Berufsforschung (IAB)
Nürnberg

Aus- und Weiterbildung

Aus- und Weiterbildung

10/1988 - 09/1993
Studium: Informatik, Mathematik, Forstwissenschaften
Albert-Ludwigs-Universität in Freiburg i.Br.
Abschluß: Diplom-Informatiker
 
10/1984 - 09/1987
Studium Forstwissenschaften
Universität Krakau (Polen)
 

Position

Position

Senior Developer, Lead Developer

Kompetenzen

Kompetenzen

Top-Skills

Java Entwicklung, Datenbanken, Backend

Schwerpunkte

  • Java/Scala/XML/Web-basierte Anwendungen
  • objektorientierte Softwaretechnik und Entwurf
  • verteilte und vielschichtige Architekturen
  • Datenbanken 

Produkte / Standards / Erfahrungen / Methoden

Big Data
Hadoop 2.4.0 (HDFS, Hive, Pig, Oozie, Ambari)
Build Systeme
Gradle, Maven, Apache ANT, SBT, Google Bazel
Inversion of Control (IoC) Container
Spring, CDI, Google Guice, Nano- und Pico-Container
J2EE Applikationsserver
Oracle Weblogic, JBoss, IBM WebSphere, GlassFish, Oracle9iAS (Orion), SAP J2EE Engine (NetWeaver)
Spring
Spring Boot, Spring Konfiguration, Spring Rest, Spring Data
UML, Pattern
TogetherJ, Enterprise Architect, SelectEnterprise

Sonstige Kenntnisse

  • Betriebswirtschaftliche Kenntnisse
  • Mathematische Statistik

Betriebssysteme

Mac OS X
MacPorts
MS-DOS
Unix
(Linux, SUN-Solaris, SCO): Shell, Bash
Windows
WIN 32 API, MFC

Programmiersprachen

Assembler
Motorola 68000
C
diverse Unix-Compiler, Watcom-Compiler
C++
VisualC++, STL
CORBA IDL
Java und C++
Groovy
Gradle
HTML
HTML 5, CSS
Java
J2EE, Swing
JavaScript
DOM, Ajax (DWR), node.js, ECMAScript 5
Kotlin
Tests
Pascal
Borland Pascal
Perl
PL/SQL
Scala
SBT, ScalaTests
Unix Shell, Bash
XML/XSL
XPath 2.0, XSLT 2.0, XSL-FO, XML Encryption, XML Signature
Yacc, lex, awk

Datenbanken

DB2
dBase
JDBC
Entity beans, JDO
MS Access
MS-SQL-Server
MySQL
stored procedures
ObjectDB
Drop-Funktionality für Tests
Objekt-relationale (OR) Mappers
JPA, Hibernate, Hibernate Tools, diverse proprietäre OR Mappers
ODBC
ODBC API 3.0, ODBC für MFC
Oracle
Stored Procedures, Triggers, Alerts, Administration
Raima dbVista++
Solid
stored procedures
SQL
Teradata
PostgreSQL

Datenkommunikation

HTTP
Redirect, Cookies, Caching
HTTPS
SSL Zwei-Wege-Authentifizierung, Zertifikate
Internet, Intranet
Ldap Server
Netscape Directory Server 4.1, OpenLDAP 2.4.25
RPC
Java RMI, IIOP, JAX-RPC
SOA, ESB
IBM BPMPS, Camunda, ServiceMix 4.3.0, Mule 3.1.1, UltraESB 1.4.0, Oracle Service Bus 11gR1
TCP/IP
IPv4, IPv6
WebServices
SOAP, REST, JAX-WS, JAX-RS, JAX-RPC, WS-Security

Hardware

Apple Macintosh
IBM PC
SUN

Branchen

Branchen

  • Maschinenbauindustrie
  • Softwarehersteller
  • Banken/ Finanzwirtschaft
  • Telekommunikation
  • Automobilindustrie
  • Unternehmensberatung
  • Versicherungswirtschaft
  • Öffentliche Verwaltung/ Behörden
  • Post/ Logistik
  • Warenwirtschaft
  • Energiewirtschaft
  • Gesundheitswesen
  • Forstwirtschaft/ Holzindustrie
  • Forschung/ Entwicklung/ Universitäten

Einsatzorte

Einsatzorte

München (+50km) Aschaffenburg (+50km)
Deutschland
möglich

Projekte

Projekte

2 Jahre 1 Monat
2021-05 - 2023-05

NEWPOSS.

Entwickler Windows 10 Pro CentOS Linux JDK 8 ...
Entwickler

BESCHREIBUNG: Der NEWPOSS-Projekt umfasste im Wesentlichen das Kassensystem und die zugehörige Backend-Komponente für jeden Supermarkt von ALDI SÜD. Das Kassensystem verfügte über eine lokale H2 Datenbank und verwendete die JPOS Schnittstelle zur Anbindung von externen Geräten. Im Backend kamen JBoss als Applikationsserver und PostgreSQL als Datenbank zum Einsatz. Beide Anwendungen basierten auf dem TREND - Framework der Firma GEBIT, dem wiederum eine OSGI-Implementierung zugrunde lag. Es wurden mehrere Länderversionen unterstützt, die sich teilweise erheblich in der Geräte-Ausstattung, steuerlichen und rechtlichen Gegebenheiten unterschieden haben. Die Projektorganisation folgte dem Spotify Modell von Scrum.
MEINE AUFGABEN: Anbindung von Peripherie-Geräten, z.B. den Fiskaldrucker für Italien. Einsatz von Graphenalgorithmus (nach Ahuja-Orlin) für den maximalen Durchfluss zu Berechnung der optimalen Zuteilung von Zahlungsmitteln zu den Artikeln an der Kasse unter Berücksichtigung der Einschränkungen zwischen den Artikeln und Zahlungsmitteln. Implementieren von Schnittstellen zwischen den einzelnen NEWPOSS-Komponenten und zur Außenwelt als XML- und REST-basierte Webservices. Schreiben von End-To-End Tests mit dem GEBIT-internen Testframework "Integrity".

Windows 10 Pro CentOS Linux JDK 8 IntelliJ IDEA 2021.1.1 Eclipse 2021-06 WildFly 10 H2 PostgreSQL DBeaver 21.10 SoapUI OpenAPI JUnit 5 Mockito 3.6.0 ArchUnit 0.22.0 Maven 3.5.3 GIT 2.30.1 Docker Desktop 4.2.0 MS Teams Miro Jira Confluence.
GEBIT Solutions GmbH.
München (Homeoffice), Düsseldorf / Deutschland.
1 Jahr 2 Monate
2020-03 - 2021-04

Berufliche Weiterbildung.

Developer, Lead Developer. OSX 11.2.3 iPadOS 14.4.1 Microservices und Cloud-Native-Programmierung (Spring Cloud ...
Developer, Lead Developer.

Aufgrund der Kontaktbeschränkungen in den Lockdowns erfolgte die Weiterbildung ausschliesslich durch das Studieren der Fachliteratur und Internet-Dokumentationen, sowie durch die Realisierung kleiner Programmierprojekte zum Ausprobieren bestimmter Tools und Technologien. Die getroffene Auswahl der Tools und Technologien für die Weiterbildung richtete sich in erster Linie nach den zur Zeit vorherrschenden Erfordernissen des IT-Marktes. Die weiteren Kriterien waren meine fehlende Erfahrung mit diesen Technologien, gefolgt von Wiederholung und Erweiterung des Know-hows.

OSX 11.2.3 iPadOS 14.4.1 Microservices und Cloud-Native-Programmierung (Spring Cloud Quarkus 1.6.0 Domain Driven Design) Betrieb von Microservices (Kubernetes Helm Istio Terraform 0.12) Java Enterprise (JEE 8 Jakarta EE 9 Eclipse MicroProfile) Web Frontend (Angular 10 TypeScript 4.0 Vaadin 14 Bootstrap 4) Desktop und Mobile Frontend (JavaFX 11) Kotlin (Kotlin 1.4.30 SpringBoot für Kotlin) Scala (scala 2.13 cats 1.0.1) Prozessprogrammierung (Camunda 7.15 BPMN 2.0 DMN 1.1) funktionale Programmierung (funktionale Abstraktionen wie Funktor Monoid Monad usw.) reaktive Programmierung (Reactive Streams reaktive Programmierung in Spring und Quarkus) Kafka 2.4.0 (ZooKeeper Kafka Streams mit Stream- und Prozess API) Elasticsearch 7.0 (Abfragen ELK Stack: Elasticsearch Logstash Kibana) aktuelle Java-Versionen (von Java 9 bis Java 15) NoSQL-Datenbanken (MongoDB 4.0.0) agile Entwicklung (SAFe 5).
München / Deutschland.
11 Monate
2019-02 - 2019-12

SSOP (Single Sign On Provider), SSO Secret Service, K2

Lead Developer Apple MacBook OSX 10.15.1 JDK 8 ...
Lead Developer

Unternehmensweite Einführung einer Single Sign On (SSO) Lösung mit Unterstützung für das Sicherheitprotokoll OAuth/OpenID Connect. Die SSOP Anwendung diente der Anpassung des gewählten SSO Servers (Keycloak) an die Bedürfnisse des Unternehmens. Der mit Spring Boot und REST realisierte SSO Secret Service Mikroservice kümmerte sich um die Schlüsselverwaltung. Die K2 Legacy Anwendung (JEE, JBoss) war das Herzstück des Alarmsystems und besaß außer der Backend-Komponenten ein Wicket Web-Frontend. 

  • Betreuung eines Nearshore Teams aus Rumänien.
  • Anlage neuer Projekte SSOP und SSO Secret Service.
  • Anpassung der SSO Lösung mit Hilfe des Keycloak's SPI Schnittstellen (Service Provider Interface) und WildFly CLI.
  • Gestaltung der REST Schnittstelle der Secret Service Anwendung mitsamt Logins mit Hilfe von SSO JWT Token.
  • Performance Verbesserungen in K2 durch Optimierung der MySQL Datenbankzugriffe und Einführung von Caching mit Caffeine.
  • Schreiben von Docker Compose Skripten zum lokalen Starten von den neuen Anwendungen inklusive derer Umgebung (Datenbanken, Proxies usw.).
Apple MacBook OSX 10.15.1 JDK 8 Groovy IntelliJ IDEA 2018.1 JBoss EAP 6.4 Keycloak 6.0.1 SpringBoot 2.1.3 MySql 5.7 Liquibase 3.5.5 MySQL Workbench 8.0 Caffeine 2.8.0 Jasypt 2.1.1 JAXRS Retrofit 2.6.0 JUnit 4 JMockit 1.45 JProfiler 11.0.1 GIT Maven 3.6.0 Docker 2.1.0.4 Prometheus 2.13 JIRA Confluence
F24 AG
München
7 Monate
2018-06 - 2018-12

OSRR (Online Shopping Realtime & Rating)

OOA/OOD/OOP, Entwickler- und Integrations-Tests IBM-PC Windows 10 JDK 7 ...
OOA/OOD/OOP, Entwickler- und Integrations-Tests

Der Hauptzweck von OSRR war die Berechnung und Verwaltung von Bonuspunkten eines Kunden, die er für seine Einkäufe bekommen hat. Bei der Berechnung wurden zusätzlich Gutscheine, Partnerpromotionen, Voucher usw. berücksichtigt. Es handelte sich hier vor allem um mehrere JEE Backend Anwendungen, mit einigen wenigen Frontend Applikationen

  • Das Umsetzen von Use Cases im JEE Backend Umfeld, mit Zugriffen auf die Datenbanken via JPA und REST- und SOAP-Webservice Schnittstellen.
  • Auswählen, Aggregieren und Verschicken von Nachrichten an Kafka-Topics zwecks Auswertung mittels BI (Business Intelligence) Verfahren.
  • Performance Verbesserungen mit Hilfe von JProfile.
  • Implementierung von GUI-Oberflächen mit Angular.
  • Schreiben, Überwachen und Verwenden von End-To-End-Tests mit TOSCA. 
IBM-PC Windows 10 JDK 7 JDK 8 Groovy IntelliJ IDEA 2018.2.5 WebLogic 12.1.3.0.0 Tomcat 7 Oracle 12.1.0 PL/SQL Developer Kafka Angular 6.1.4 JUnit Mockito OpenEJB 4.5.1 Jasmine Karma TRICENTIS TOSCA Testsuite 7.0.0 JProfiler 10 GIT Subversion Maven 3.5.0 ANT 1.8.2 Ansible Kibana Grafana SonarQube FishEye Crucible JIRA Confluence
PAYBACK GmbH
München
6 Monate
2017-11 - 2018-04

CA PDM (Computer Aided Product Data Management)

OOA/OOD/OOP, Entwickler- und Integrations-Tests IBM-PC Windows XP Linux ...
OOA/OOD/OOP, Entwickler- und Integrations-Tests

Die Anwendung diente der Erstellung von neuen Fahrzeugmodellen aus verschiedenen Teilen, die wiederum mit CAD Tools wie CATIA und ähnlichen erstellt wurden. Da das BMW Konzern Konstruktionsbüros in anderen Ländern geöffnet hat, durften viele Konstruktionsdaten den Mitarbeitern dieser Niederlassungen nicht angezeigt werden. Es war deshalb notwendig, ein ausgefeiltes Berechtigungskonzept in der Anwendung einzuführen, eine sog. Need To Know (N2K)Funktionalität.

  • Einholen der Berechtigungsinformationen aus der PRISMA Datenbank mittels der bereitgestellten Datenbank - Views oder gespeicherten Prozeduren. Das anwendungsweite Anbieten dieser Informationen mit Hilfe von ThredLocal - Objekten.
  • Verwendung der JEE Interceptors und Annotationen zum Verstecken von Datenteilen für nicht authorisierte Benutzer.
  • Die Anzahl der versteckten Elemente wurde als eine Meldung in der Web-GUI angezeigt und die Elemente mit ausgefilterten Kindern wurden in GUI-Baumsdarstellung mit speziellen Symbolen markiert.
  • Export von Arbeitsstrukturen an ausländische Konstruktionsbüros mit Hilfe von REST-Webservices (JSON).
  • Schreiben von automatischen Unit- und Integrationstests, die sicherstellten, dass die Sicherheitsmechanismen für sensible Konstruktionsdaten tatsächlich greifen.
  • Ergänzen der Dokumentation.
IBM-PC Windows XP Linux JDK 7 Eclipse Oxygen GlassFish 3.1.2.2 Jersey 1.9-ea04 JAXRS SoapUI 5.3.0 Oracle 12 Oracle SQL Developer 17.3.1.279 UCS (Struts) ExtJS 3.2.2 Direct Web Remoting (DWR Ajax for Java) Violet UML 2.1.0 JUnit 4 Reflections 0.9.10 ANT 1.8.4 Maven 3.0.5
BMW AG
München
4 Monate
2017-07 - 2017-10

Product Catalog Service (PGS), Central Cost & Charges Service (C3S), Wertpapier Service (WPS)

Backend-Entwickler IBM-PC Windows 7 JDK 1.8 ...
Backend-Entwickler

Alle drei Projekte drehten sich um die Umsetzung der EU-Richtlinie MiFID II. Das PGS Service diente der Zuordnung von Wertpapieren und anderen Bankprodukten zu den Kategorien, die nur bestimmten Kundengruppen angeboten wurden. Das C3S Projekt berechnete alle Kosten und Gebühren, die dem Kunden beim Kauf, Verkauf und während der Haltephase eines Finanzproduktes in Rechnung gestellt werden. Das WPS Projekt lieferte Informationen zu Wertpapieren, die für die Berechnung dieser Kosten benötigt wurden. Alle drei Projekte basierten auf Spring Boot. Für die Kommunikation nach Außen dienten Messaging- und REST-Schnittstellen

  • Neuanlage der Projekte, Bestimmung der Projektstruktur und der verwendeten Technologien.
  • Erstellen von DMN 1.1 Entscheidungstabellen für Kostenberechnungen mit Camunda.
  • Mannigfache Spring Boot Konfiguration.
  • ActiveMQ Konfiguration für Transaktionen und Dead Letter Queues.
  • Durchführung von Kostenberechnungen anhand der Daten aus der Datenbank- und DMN Entscheidungstabellen.
  • Archivierung von Datenbanktabellen mit Hibernate Envers
  • Schreiben von Lasttests für Messaging mit JMeter
IBM-PC Windows 7 JDK 1.8 Intellij IDEA 2017.2.2 Tomcat v8.5.20 Spring Boot 1.5.6 JAX-RS 2.0.1 Swagger UI Spring JMS 4.3.9.RELEASE ActiveMQ 5.15.0 Hawtio-UI Camunda 7.7.0 Oracle 12.1.0 JPA Hibernate 5.2.10.Final Spring Data Hibernate Envers Oracle SQL Developer 17.2.0.188 Apache FOP 2.1 YAML Maven Jenkins REST-assured 3.0.3 Wiremock 2.7.1 Cucumber 1.2.5 JMeter 3.2 AssertJ 3.8.0 JUnit 4 Mockito JIRA Confluence
DAB BNP PARIBAS
München
2 Monate
2017-05 - 2017-06

Vertrag Produkt System (VPS)

Backend- und Frontendentwickler IBM-PC Windows 8.1 Enterprise JDK 1.8 ...
Backend- und Frontendentwickler

VPS war eine von den wichtigsten Komponenten in der SOA Landschaft für die Abwicklung von Versicherungspolicen. Es Bestand aus einem Web-Frontend realisiert mit VaadinFramework und zwei WebService-Anwendungen: einer für Verträge und einer für Versicherungsobjekte. Technologisch wurden die Anwendungen in JEE mit IBM WebSphere als Applikationsserver realisiert. Die Implementierung basierte auf den Frameworks IPM und IPS der 'Faktor Zehn AG'. 

  • Erweiterung der bestehenden Anwendungsfunktionalität.
  • Analysieren und Lösen von Produktabweichungen.
  • Datenbankmigration im Zuge von IPM Upgrade.
  • Lösung der Probleme mit Speichern von Daten mittels EclipseLink JPA.
  • Mitarbeit in einer Multiteam-Umgebung nach den Prinzipien des Scrum Nexus.
IBM-PC Windows 8.1 Enterprise JDK 1.8 Eclipse Mars Release 4.5.2 IBM WebSphere Application Server 8.5.5.9 Vaadin 1.0.3 Maven GIT GitLab DB2 V10.5 EclipseLink JPA 2.6.0 liquibase Confluence Jira
Versicherungskammer Bayern (VKB)
München
7 Monate
2016-10 - 2017-04

Prozesse und Services Architektur (PSA)

Prozessprogrammierer IBM-PC Windows 8.1 Enterprise Linux ...
Prozessprogrammierer

Alle Business-Prozesse des Versicherungsunternehmens wurden in einer SOALandschaft (Service Oriented Architecture) bestehend aus IBM Tools Business Process Manager (BPM), Enterprise Service Bus (ESB) und einem Regelwerk realisiert

  • Erstellen von Schnittstellen (WSDL) im ESB
  • Implementierung von Mediationen zwischen verschiedenen Schnittstellen (hauptsächlich unter Verwendung von XPath und XSLT, aber auch mit Java)
  • Zugriff vom ESB auf Legacy-Systeme
  • Erweiterung der bestehenden Prozesse im BPM mit graphischen Mitteln (BPMN: Business Process Model and Notation) und JavaScript
  • Erstellung von Regeln im Regelwerk
  • Fehlersuche und Fehleranalyse in Prozessen
  • Bereitstellen der Möglichkeit zum lokalen Debuggen von Backendsystemen zusammen mit den Prozesskomponenten (ESB, BPM)
IBM-PC Windows 8.1 Enterprise Linux IBM Integration Designer 8.0.1.2 IBM WebSphere 8.0.0.12 IBM BPMPS 8.0.1.3 (IBM ESB IBM BPM IBM Rule Engine) IBM WebSphere Operational Decision Management 8.0.0.1 Subversion Jenkins
Versicherungskammer Bayern (VKB)
München
4 Monate
2016-06 - 2016-09

AMCF (Analytic Model Container Framework)

Lead Developer IBM-PC Windows Linux ...
Lead Developer

Ein Teil des AMCF Projektes beschäftigte sich mit der Problematik des Deep Learnings (DP). Unter anderem wurden die DP Bibliotheken Theano und TensorFlow eingesetzt. Das Unterprojekt "Theano Interpreter" entwickelte Module zur Ausführung von DP Workflows in C++ und Java, die mit Hilfe der Theano-Bibliothek modelliert und trainiert wurden. Die Workflows wurden in der platform- und sprachunabhängigen Serialisierungsformat Protocol Buffers gehalten. Es gab 3 Arten von Workflows: Feature Extraction, Random Forest und Convolutional Neural Networks. 

  • Evaluierung der Möglichkeiten zum Einsatz von TensorFlow unter Windows (Build mit Bazel) und mit Java
  • Schreiben von C++ Unit- (mit Google Test Bibliothek) und Workflow Tests (mit CMake und Bash-Skripten)
  • Erstellung und erste Entwicklung der Java-Version des Unterprojektes "Theano Interpreter". Dabei wurde die Algebra Bibliothek ND4J zur Entwicklung von Operationen wie Convolutional, Max Pooling, Rectifier usw. verwendet
  • C++ Implementierung von diesen Operationen basierte auf der Eigen Bibliothek für lineare Algebra
IBM-PC Windows Linux JDK 1.8 C++ 11 C++ GNU Compiler 5.3.0 IntelliJ 2016 Microsoft Visual Studio Express 2013 Google Protocol Buffers 2.5.0 CMake 3.3.2 ND4J 0.6.0 DL4J Eigen 3.2.7 Google Test 1.7.0 JUnit 4 JMockIt 1.2 Maven Google Bazel GIT Jira Confluence
Siemens AG/ BAM LSY (BAM Learning Systems)
München
7 Monate
2015-11 - 2016-05

SAMS IT (Siemens Advanced Maintenance Services)

Lead Developer IBM-PC Windows Linux ...
Lead Developer

Die Anwendung ermöglichte die Berechnung von Wartungsintervallen für die Gasturbinen anhand der historischen Daten so wie das Treffen der entsprechenden Voraussagen für die Zukunft. Die Wartungsintervalle konnten flexibel für verschiedene Einheiten, Komponenten und Teile der Gasturbinen berechnet werden. Die Signale der Sensoren wurden auf dem HDFS gespeichert und dienten als Input für die Berechnungen. Die Berechnung-Workflow wurde von Oozie überwacht, die Berechnung selbst wurde mit Pig gestartet. Die Ergebnisse wurden in die Teradata-Datenbank geschrieben. Die Konfiguration für die Berechnungen wurde in einer objektorientierten Datenbank ObjectDB gehalten. Die Benutzerschnittstelle wurde mit dem Vaadin Framework als Web-Oberfläche realisiert. Das Projekt wurde durch ein Scrum-Team bestehend aus Entwicklern in Deutschland, Rumänien und Indien realisiert. 

  • Überwachen und Verbessern der Code-Qualität
  • Erstellen und Umsetzen von Code-Qualität-Konzepten
  • Umziehen von Konfigurationsdaten für die Berechnungen von Dateisystem in die ObjectDB-Datenbank
  • Injektion von JPA-Klassen in die DAO-Objekte mit Hilfe des Google Guice Frameworks
  • Zugriff auf die Teradata-Datenbank via JDBC
  • Mitwirkung bei der Umstellung der Berechnungen von dateisystemorientierten, sequentiellen Modus in parallele Verarbeitung auf den Hadoop-Servern
  • Schreiben von Pig’s User Defined Functions (mit Java) und Pig Skripten (mit Pig Latin)
  • Schreiben von Unit-Tests mit Kotlin
IBM-PC Windows Linux JDK 1.8 Kotlin 1.0.3 IntelliJ 2016 Tomcat 8.0.2 Vadin 7.4.2 Guice 4.0 ObjectDB 2.6.7_05 Hadoop 2.4.0 Hive 1.1.0 HDFS Oozie 4.0.0 Ambari 1.5.1 Teradata 15.0 Teradata Studio Express JUnit 4 JMockIt 1.2 Maven GIT Bamboo Jira Confluence Sonar mobaXterm 8.6.
Siemens AG/ BAM LSY (BAM Learning Systems)
München
10 Monate
2014-10 - 2015-07

ePOS

OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests Apple MacBook IBM-PC Mac OS X 10.10.3 ...
OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests

ePOS ist eine Web-Anwendung für die O2-Shops, die nur von offiziellen O2-Händler verwendet wurde. Diese Anwendung stellte vor allem kompliziertere Funktionalitäten und Prozesse zur Verfügung, die nich im Internetportal des Unternehmens vom Kunden selbst bedient werden konnten. Es gab auch eine Version der Anwendung, die speziell für Tablets designet wurde. Als Webframework kam Wicket zum Einsatz. Das Responsive-Design der Tablet-Anwendung wurde durch Verwendung der Bibliotheken JQuery-Mobile und Bootstrap ermöglicht. Die Backend-Seite wurde mit JBoss als Applikationsserver und Oracle-Datenbank realisiert. Für die Sicherheitsaspekte war Apache Shiro verantwortlich. Wichtiger Bestandteil der Anwendung war der Zugriff auf die anderen Backend-Systeme des Unternehmens, der fast komplett durch eine REST-Schnittstelle namens MCE standardisiert wurde. Als REST Client wurde dabei Spring's RestTemplate Modul eingesetzt. Die zahlreichen Formulare in den Flows wurden im PDF-Format mit Hilfe der itextpdf-Bibliothek erstellt und elektronisch unterschrieben mit signPOS. 

  • Entwurf und Programmierung der GUI-Elmenente mit Wicket, HTML und CSS (Bootstrap, LESS)
  • Zugriff auf die REST-Schnittstelle (MCE) und das Schreiben von Unit Tests, die die Konsistenz dieser Schnittstelle bei Änderungen sicherten
  • Erstellen eines REST-Mock-Servers der MCE-Schnittstelle für Testzwecke
  • Cachen der MCE-Daten mit Ehcache
  • Interaktionen mit der Datenbank via JPA
  • Erstellen von Lasttests zum Testen von den wichtigsten Programm-Flows
Apple MacBook IBM-PC Mac OS X 10.10.3 JDK 1.7 IntelliJ IDEA 14.1.3 JBoss 7.2.0Final Tomcat 7.0 Java EE 6 CDI Spring Framework 3.1.1 Ehcache 3 itextpdf 5.1.3 Hibernate 1.4.4 Oracle 11g Oracle SQL Developer 4.0.3 Wicket 6.16.0 Maven 3.0.4 ANT GIT 1.7.6.4 jMeter 2.11 Jenkins Jira Confluence jUnit 4
Telefónica O2 Deutschland GmbH/ O2 Workbench Portal Solutions
München
8 Monate
2014-03 - 2014-10

Pegasus.Gas

OOA/OOD/OOP, Unit-, Integrations- und Akzeptanztests IBM-PC Windows 7 Enterprise JDK 7 ...
OOA/OOD/OOP, Unit-, Integrations- und Akzeptanztests

Pegasus.Gas war eine Anwendung zum Verkauf von Erdgas an Großkunden des Unternehmens. Es wurden verschiedene Verkaufsmethoden implementiert, unter anderem ein spezieller, in Scala geschriebener Server für Gas-Termingeschäfte. Die Hauptanwendung bestand aus Rich-Client UI (geschrieben in Java-Swing), einem Java-Server und der Oracle-Datenbank. Zum Herunterladen und Starten der Client-Anwendung wurde in erster Linie Java Web Start Technologie verwendet. Der Zugriff von Client auf den Server erfolgte via Spring HttpInvoker. Der Entwicklungsprozess folgte der ScrumMethodologie. 

  • Swing-GUI-Entwicklung mit JFormDesigner
  • Server-Programmierung von der Client-Fassade bis zu der Datenbank
  • Gestaltung von SOAP-WebService Schnittstellen zu anderen Systemen im Unternehmen
  • Schreiben von Swing-GUI funktionalen Tests mit Hilfe der FESTBibliotheken
IBM-PC Windows 7 Enterprise JDK 7 Scala 2.10.2 Java-Swing JNLP JGoodies 2.2.2 JFormDesigner 5.1.0 Spring 3.1.4 Spring Tool Suite (STS) 3.2.0 Apache Tomee 7.0.47 Oracle 11.2.0.3 Oracle SQL Developer 3.2.20.09 H2 In-Memory Database Hibernate 4.1.7 Flyway 2.1.1 quartz 2.1.6 Enterprise Architect 10.0.1009 soapUI-4.5.0 Lombok 1.14.3 jUnit fest-swing 1.2.1 DbUnit 2.4.8 Mockito 1.9.5 Subversion 1.7 TortoiseSVN Maven Jenkins Sonar onTrack 5.2
E.ON Business Services GmbH
München
4 Monate
2013-10 - 2014-01

CommonAR (Arztregister), eBIP (Elektronische Bilderprüfung)

OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests IBM-PC Windows 7 JDK 7 ...
OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests

CommonAR ist ein Register aller Ärzte und Praxen für die gesetzliche Krankenversicherung der Länder Bayern und Baden-Württemberg. Der Zugriff auf das Regiter erfolgte ausschließlich via eine WebService-Schicht. Eine zusätzliche Quelle der Daten waren bestimmte LegacyDatenbanken. Der sog. Syncer-Modul sorgte dafür, dass die Daten in diesen Datenbanken und dem CommonAR immer im aktuellen Zustand gehalten wurden. eBIP ist eine Web-Anwendung zur Anzeige und Prüfung der Bilder verschiedener Organe. Die Bilder wurden durch die Geräte der Kassenärzte erstellt. 

  • Erweiterung des Arztregisters durch Bereitsstellung neuer Webservices
  • Erweiterung der Datenbank und Implementierung der sonstigen Anwendungsschichten
  • Import der Daten aus anderen Systemen mittels des Syncer-Moduls
  • Erstellung und Testen von HTML-Seiten mit Wicket in der eBIP-Anwendung
  • Alle Projekte wurden im SCRUM-Modus und nach den Prinzipien von Clean Code Developer (CCD) durchgeführt
IBM-PC Windows 7 JDK 7 IntelliJ IDEA 13 Groovy Gradle 1.10 Spring Oracle 11 Oracle SQL Developer 3.0.04 H2 In-Memory Database Hibernate Flyway Wicket WicketTester soapUI-4.5.0 Togglz Lombok Google Guava DbUnit HTMLUnit Hamcrest Mockito Jenkins Sonar Cygwin Jira Confluence
Kassenärztliche Vereinigung Bayerns (KVB)/ CoC SDC
München
1 Jahr
2012-10 - 2013-09

Piranha, Prepaid

OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests Apple MacBook IBM-PC Mac OS X 10.8.3 ...
OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests

Piranha ist ein Authentifizierungs- und Autorisierungsportal von O2. Die ursprüngliche, Cookie-basierte Implementierung wurde durch einen Single Sign-On Server OpenAM ersetzt, bei dem der Austausch von Authentifizierungs- und Autorisierungsinformationen nicht nur via Cookie sondern auch mittels SAML erfolgte. Bei der Prepaid-Anwendung handelt sich um einen WebPortal für die Prepaid-Kunden von O2. Die Entwicklung in beiden Projekten erfolgte gemäß der ScrumMethodologie. 

  • Einführung von OpenAM in Piranha:
    • Installation und Konfiguration des OpenAM Servers
    • Schreiben von Custom Login Modulen und Post Authentication Plugins (PAP)
    • Anpassung der HTML-Seiten für das Login usw.
  • Mitwirkung bei der Migration von der Piranha-Anwendung von JBoss 4 auf JBoss7
  • Erstellung von Prepaid-Webseiten mit Wicket
Apple MacBook IBM-PC Mac OS X 10.8.3 Red Hat 6 JDK 1.7 IntelliJ IDEA 12.1 JBoss 7.2.0Final Tomcat 7.0 Java EE 6 CDI OpenAM 10.1.0 Spring Framework 3.1 Oracle 11g Oracle SQL Developer 3.2.10.09 Wicket 6.0 Groovy Maven 3.0.3 GIT 1.7.6.4 Arquillian TestNG jMeter 2.4 Jenkins 1.467 Jira Confluence HP SiteScope 11.22
Telefónica O2 Deutschland GmbH/ O2 Workbench Portal Solutions
München
11 Monate
2011-11 - 2012-09

Mobile Portal

OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests Apple MacBook IBM-PC Mac OS X 10.7.4 ...
OOA/OOD/OOP, Unit-, Integrations-, Regressions- und Lasttests

Es handelte sich hier um eine Web-Anwendung für mobile Geräte der Firma O2 Deutschland. Wegen der enormen Vielfalt der unterschiedlichsten mobilen Geräte mussten die Seiten für verschiedene Gerätegruppen und sogar für einzelne Geräte in sog. Template Manager (mittels XSLT Transformationen und Cocoon) angepasst werden. Die Anbindung an die Backend-Systeme erfolgte überwiegend über REST Schnittstellen (JAX-RS 1.1). Die HTML Seiten wurden mit Wicket und node.js Technologien angefertigt. Ein anderes Problem bei der Erstellung von Web-Anwendungen auf den mobilen Geräten war die unterschiedliche Größe und Auflösung von Bildschirmen und die fehlende Unterstützung für bestimmte Bildformate (z.B. JPEG, GIF usw.). Dadurch mussten für jeden mobilen Gerätetyp die Bilder entsprechend skaliert und formatiert werden, was die Aufgabe eines Image-Servers war. 

  • Anbindung von Backend-Systemen der Firma O2 Germany
  • Erstellung von Mocks der Backend-Schnittstellen für Testzwecke
  • Verbesserungen der Performance durch das Cachen von Daten mit Hilfe einer EhCache-Lösung
  • Erstellung der HTML-Seiten mit node.js
  • Durchführung von Akzeptanztests auf den unterschiedlichsten mobilen Geräten
  • Erstellung einer Fahrtenbuch App für Android Geräte
  • Mitwirkung bei der Erstellung verschiedener Module wie der Pack Manager oder Master Data Change
  • Implementierung eines Image Servers, in dem aus Performance-Gründen die skalierten und formatierten Bilder in einem Squid Proxy Cache gehalten wurden
Apple MacBook IBM-PC Mac OS X 10.7.4 Ubuntu Linux IntelliJ IDEA 11.1.3 Tomcat 7.0 Spring Framework 3.1 CXF 2.5.1 Jersey 1.10 Squid Cache Proxy 2.7 DBCP 1.4 Maven 3.0.3 slf4j 1.6.4 GIT 1.7.6.4 TestNG jMeter 2.4 Selenium 2.0 Jenkins 1.467 Jira Confluence WebStorm 4.0 node.js 0.6.10 nave 0.2.6 NPM express 2.5.8 connect 1.8.6 cluster 0.7.7 jQuery jsdom 0.2.10 weld 0.2.2 winston 0.5.9 vows 0.6.2
Telefónica O2 Deutschland GmbH/ O2 Workbench Portal Solutions
München
1 Jahr 1 Monat
2010-10 - 2011-10

Service Delivery Framework (SDF)/ UNICA Facade

OOA/OOD/OOP, Unit-, Integrations-, funktionale und Lasttests, En Apple MacBook IBM-PC Mac OS X 10.6.7 ...
OOA/OOD/OOP, Unit-, Integrations-, funktionale und Lasttests, En

WebService basierte Platform UNICA diente zum Austausch von Daten zwischen dem Mutterkonzern Telefónica und deren Tochtergesellschaften wie z.B. O2 Deutschland. Die Sicherheitsaspekte wurden dabei durch einen Prototyp für den unternehmensweiten Security Server abgehandelt. Später wurde UNICA ein Teil der konzernweiten SOA-Lösung. Sämtliche Projekte des Unternehmens wurden agil als Scrum-Projekte realisiert

  • Implementierung der UNICA-Webservice-Schnittstelle
  • Zugriff auf verschiedene Untersysteme in der IT Architektur von O2 Deutschland und Konvertierung der Daten zwischen UNICA und den O2 Untersystemen
  • WebService Endpoints und Clients wurden mit JAX-WS entwickelt (Document/Literal Stil), nur für einige ältere O2 Untersysteme musste noch wegen der Benutzung des veralteten RPC/ Literal Stils Axis genommen werden
  • Schreiben der gespeicherten Prozeduren für den Zugriff auf die MySQL Datenbank
  • Entwicklung der Login-Module des Security Servers mit Hilfe von JAAS und WS-Security Standards, unter anderem mit XML Signaturen basierend auf digitalen Zertifikaten
  • Passwörter und Zertifikate wurden aus einem lDAP Server geholt
  • Evaluierung verschiedener freien und kommerziellen ESB-Lösungen, wie ServiceMix 4.3.0, Mule 3.1.1 (MuleStudio), UltraESB 1.4.0, Oracle Service Bus 11gR1, zwecks der Einführung einer unternehmensweiten SOA Architektur
Apple MacBook IBM-PC Mac OS X 10.6.7 Ubuntu Linux IntelliJ IDEA 10.5 Tomcat 6.0.29 Apache HTTP Server 2.2 OpenLDAP 2.4.25 MySQL 5.5 MySQL Workbench 5.2.31 Maven 2.2.1 Subversion 1.7 JAX-WS 2.1.7 Axis 1.4 Android 2.2 Adium 1.3.10 jMeter 2.4 jMockIt 0.999.4 jUnit 4.8.1
Telefónica O2 Deutschland GmbH/ O2 Workbench Portal Solutions
München
1 Jahr
2009-09 - 2010-08

Metadatensystem, IAB Thesaurus

OOA/OOD/OOP, Unit-, Integrations- und funktionale Tests, Datenb IBM-PC Windows XP Linux ...
OOA/OOD/OOP, Unit-, Integrations- und funktionale Tests, Datenb

Das Metadatensystem beinhaltete Datendefinitionen und -formate aller Forschungsdatensätze, die in Laufe der Jahrzehnte durch die BA erhoben worden sind. Es war möglich Datenkataloge mit der Beschreibung der Daten in gewählten Versionen zu erstellen. Der IAB Thesaurus war eine Sammlung von hierarchisch und alphabetisch angeordneten Schlagwörtern. Durch die Verknüpfung dieser Schlagwörter mit verschiedenen Datenquellen war es möglich, Daten zu bestimmten Themen schnell ausfindig zu machen. 

  • Schwerpunkt meiner Arbeit lag in der Backendprogrammierung mit EJB 3.0. Nur in bestimmten Projektphasen habe ich Unterstützung bei der Internetprogrammierung mit JSF geleistet
  • Businessobjekte wurden durch den Entwurf von JPA Entitäten modelliert, aus denen dann automatisch die Datenbankstruktur erstellt wurde
  • Datensätze wurden vor dem konkurrierenden Zugriff durch ein selbst entwickeltes "optimistic locking" Ansatz geschützt
  • Clients wurden die Businessobjekte sowohl durch eine WebService-Schnittstelle (JAX-WS) als auch durch RMI zur Verfügung gestellt
  • Sicherheitsaspekte wurden dabei meistens durch WS-Security (SSO und SAML auf Basis von WebLogic) realisiert, aber auch durch Zwei-Wege-Authentifizierung SSL (in JBoss)
  • Datenaustausch mit anderen Modulen:
    • Import von Daten aus fremden Thesauren via StAX in SKOS-Format (Simple Knowledge Organization System), eingebettet als RDF (Resource Description Framework)
    • Export von Metadaten in DDI-Format (Data Documentation Initiative, Metadatenmodell für die Beschreibung von sozialwissenschaftlichen Daten) mit Hilfe von JAXB. Für das Deployment auf verschiedenen Arten von Servern wurden ANT und Bash-Skripte bereitgestellt
IBM-PC Windows XP Linux JDK 6 Eclipse 3.4.1 NetBeans 6.1 EJB 3.0 WebService Metro Framework SoapUI 3.0.1 Oracle Weblogic 10.3 JBoss Portal Server 2.64 Oracle 10 Oracle SQL Developer 1.5.1 SQL Workbench/J JSF 1.2 ANT 1.7 CVS jMockIt
Institut für Arbeitswissenschaft und Berufsforschung (IAB)
Nürnberg

Aus- und Weiterbildung

Aus- und Weiterbildung

10/1988 - 09/1993
Studium: Informatik, Mathematik, Forstwissenschaften
Albert-Ludwigs-Universität in Freiburg i.Br.
Abschluß: Diplom-Informatiker
 
10/1984 - 09/1987
Studium Forstwissenschaften
Universität Krakau (Polen)
 

Position

Position

Senior Developer, Lead Developer

Kompetenzen

Kompetenzen

Top-Skills

Java Entwicklung, Datenbanken, Backend

Schwerpunkte

  • Java/Scala/XML/Web-basierte Anwendungen
  • objektorientierte Softwaretechnik und Entwurf
  • verteilte und vielschichtige Architekturen
  • Datenbanken 

Produkte / Standards / Erfahrungen / Methoden

Big Data
Hadoop 2.4.0 (HDFS, Hive, Pig, Oozie, Ambari)
Build Systeme
Gradle, Maven, Apache ANT, SBT, Google Bazel
Inversion of Control (IoC) Container
Spring, CDI, Google Guice, Nano- und Pico-Container
J2EE Applikationsserver
Oracle Weblogic, JBoss, IBM WebSphere, GlassFish, Oracle9iAS (Orion), SAP J2EE Engine (NetWeaver)
Spring
Spring Boot, Spring Konfiguration, Spring Rest, Spring Data
UML, Pattern
TogetherJ, Enterprise Architect, SelectEnterprise

Sonstige Kenntnisse

  • Betriebswirtschaftliche Kenntnisse
  • Mathematische Statistik

Betriebssysteme

Mac OS X
MacPorts
MS-DOS
Unix
(Linux, SUN-Solaris, SCO): Shell, Bash
Windows
WIN 32 API, MFC

Programmiersprachen

Assembler
Motorola 68000
C
diverse Unix-Compiler, Watcom-Compiler
C++
VisualC++, STL
CORBA IDL
Java und C++
Groovy
Gradle
HTML
HTML 5, CSS
Java
J2EE, Swing
JavaScript
DOM, Ajax (DWR), node.js, ECMAScript 5
Kotlin
Tests
Pascal
Borland Pascal
Perl
PL/SQL
Scala
SBT, ScalaTests
Unix Shell, Bash
XML/XSL
XPath 2.0, XSLT 2.0, XSL-FO, XML Encryption, XML Signature
Yacc, lex, awk

Datenbanken

DB2
dBase
JDBC
Entity beans, JDO
MS Access
MS-SQL-Server
MySQL
stored procedures
ObjectDB
Drop-Funktionality für Tests
Objekt-relationale (OR) Mappers
JPA, Hibernate, Hibernate Tools, diverse proprietäre OR Mappers
ODBC
ODBC API 3.0, ODBC für MFC
Oracle
Stored Procedures, Triggers, Alerts, Administration
Raima dbVista++
Solid
stored procedures
SQL
Teradata
PostgreSQL

Datenkommunikation

HTTP
Redirect, Cookies, Caching
HTTPS
SSL Zwei-Wege-Authentifizierung, Zertifikate
Internet, Intranet
Ldap Server
Netscape Directory Server 4.1, OpenLDAP 2.4.25
RPC
Java RMI, IIOP, JAX-RPC
SOA, ESB
IBM BPMPS, Camunda, ServiceMix 4.3.0, Mule 3.1.1, UltraESB 1.4.0, Oracle Service Bus 11gR1
TCP/IP
IPv4, IPv6
WebServices
SOAP, REST, JAX-WS, JAX-RS, JAX-RPC, WS-Security

Hardware

Apple Macintosh
IBM PC
SUN

Branchen

Branchen

  • Maschinenbauindustrie
  • Softwarehersteller
  • Banken/ Finanzwirtschaft
  • Telekommunikation
  • Automobilindustrie
  • Unternehmensberatung
  • Versicherungswirtschaft
  • Öffentliche Verwaltung/ Behörden
  • Post/ Logistik
  • Warenwirtschaft
  • Energiewirtschaft
  • Gesundheitswesen
  • Forstwirtschaft/ Holzindustrie
  • Forschung/ Entwicklung/ Universitäten

Vertrauen Sie auf Randstad

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.