09/21 – bis dato

(48) Modernisierung eines Legacy-Systems (II)

Design und Implementierung der Systemarchitektur für die fundamentale Erneuerung einer über 20 Jahre gewachsenen Software für Versicherungsmakler. Komplette Neuentwicklung des Kernsystems unter Berücksichtigung benötigter Kompatibiltät zu vorhandenen Services im Rahmen einen schrittweisen Ablösung.

Tätigkeiten und Umfang u.a.:

  • Technische Projektleitung, Systemdesign, Programmierung, Dokumentation

  • Austausch der Datenbank von einer OO-Datenbank hin zu Postgres, Speichern der Daten als Json ähnlich MongoDb

  • Migration der Datenbank mit ~38Mio Datensätzen

  • Neu-Implementierung hauseigener Query-Languages mit Hilfe von SQL

  • SpringBoot als Basis

  • Schreiben von Junit-Tests

  • Dokumentation extern und inline

  • Analyse des Legacy-Systems

  • Kern in Kotlin (Lesen + Schreiben von Daten)

  • Focus auf wartbaren, verständlichen Code, ~ Clean Code ohne Dogmatismus

  • Durchführung von Performance-Analysen und -Optimierungen vom Datenmodell über SQL bis hin zu Java, Speicheroptimierung, Profiling

  • flexible Modularisierung ohne Microservice-Zwang

  • Anbindung von RabbitMQ

  • Im- und Export-Funktionalitäten

  • Programmierung eines einfachen DMS

  • eigene Tools zur Datenanalyse

  • Überarbeitung von Camunda-Workflows

  • REST-APIs

  • Berechtigungssystem für Datenzugriffe

  • Daten-Constraints und -Formatierungen

  • Triggersystem zur Ansteuerung von Businesslogiken

  • Anbindung des Legacy-UI

  • kleinere Anpassungen im neuen VueJs-UI

  • Aufbau dynamischer Queries für das Reporting

  • Anbindung von Keycloak

Java 21, Kotlin, Spring Boot, REST, PostgreSQL, JSON, Maven, Swagger, RabbitMQ, JUnit, Mockito, Jira, IntelliJ, Gitlab, Antlr, Linux, Docker, Jprofiler, Jackson, Tomcat, Json, XML, JavaScript


07/21 – 10/21

(47) Datenmigration von Artikeldaten

Überführung von 1.500.000 Artikeldaten per XML und CSV aus dem Altsystem hin zu Centric PLM. Transformation der Attribute für die Zielstrukturen.

Weiterhin Umsetzung einer Schnittstelle für den Empfang von Produkten von Partneranbietern mittels XML inkl. umfangreicher semantischer Validierungen. User-Authentifizierung per Ldap.


Java 11, Kotlin, MongoDB, XML, Json, Junit, IntelliJ, Gitlab, Docker, AWS, REST, SpringBoot, Zoom


07/20 - 06/21

(46) Modernisierung eines Legacy-Systems (I)

Im Rahmen der Host-Ablösung und der Modernisierung einer über 20 Jahre gewachsenen Software für Versicherungsmakler sind verschiedene Module als REST-Services neu umzusetzen. Das Altsystem muss analysiert und so achtsam upgedatet werden, dass die in hoher Zahl vorhandenen Scripte der Fachlogik weiter korrekt arbeiten. Veraltetete Technologien wie RMI sind zu entfernen.

Weiterhin ist eine selbstentwickelte Query-Language im Zuge der Migration von einer objektorientierten Datenbank hin zu Postgres neu zu implementieren damit sämtliche vorhandenen Queries weiterhin unverändert laufen können.


Teamgrösse: 10

Java 8-14, Spring Boot, REST, Postgres, H2, MongoDB, JSON, Maven, Swagger, AMQP / RabbitMQ, JUnit, Mockito, Jira, IntelliJ, Gitlab, JIB, Docker, Portainer, Traefik


Daten-Migration

Die in einer objektorientierten Datenbank gehaltenen Daten werden zukünftig in Postgres im Json-Format gespeichert. Dafür ist eine automatische Migration zu programmieren die mit grossen Mengen umgehen kann. Weiterhin werden die Datenstände alt/neu durch ein CSV-basiertes Diff-Tool verifiziert.


Query-Language

Implementierung einer Query-Language zur Abfrage von JSON-Daten aus einer Postgres-Datenbank. Design einer passenden Grammatik für ANTLR. Service zur Ausführung von Queries über das Web und mit Hilfe eines Vue.js-Clients.

Tech: ANTLR, SQL, Postgres, Vue.js




GDPdU-Export

REST-Service zur Bereitstellung von Belegen und Buchungen als CSV-Dateien aus einer MongoDB im Rahmen der GDPdU.

Tech: MongoDB, FastCSV


Historisierung

Entwicklung eines REST-Services zur automatischen Historisierung von über RabbitMQ einlaufenden Daten-Updates.

Tech: RabbitMQ, SQL, Postgres


Excel-Upload Courtage

REST-Service zum Upload von Courtage-Daten aus Excel-Dokumenten.

Tech: POI


Rechnungsdaten an Host

REST-Service zur Bereitstellung von über RabbitMQ einlaufenden Daten-Updates in eine DB2-Datenbank.


Schadendaten-Replikation

REST-Service zur regelmäßigen Replikation von Daten zu Versicherungsschäden aus einer objektorientierten Datenbank in eine MongoDB zwecks Abfrage performanter Statistiken.

Tech: MongoDB


05/2020

(45) BI-Scoring

Für einen bestehenden Online-Shop wird ein BI-Scoring-Sytem integriert zur Ermittlung zulässiger Zahlungsarten der Kunden.

Java, Maven, Drools, Spring, Hibernate, Eclipse, Git, Junit, Jenkins


03/2020

(44) Fortbildung AWS

Teilnahme am Kurs ACSAA-BUNDLE (AWS Certified Solutions Architect Associate Bundle) bei Fast Lane onsite

Teilnahme am Kurs AWS Certified Solutions Architect - Associate 2020 von Ray Kroonenburg, Udemy online


12/19 - dato

(43) Fortführung eines RPG

  • Event-basiertes Client/Server-Model (local multiplayer ready) mit abstrahierter Kommunikation: in-memory oder TCP

  • Multithreaded: Backend, Frontend, View, Audio

  • Box2D-Physiksimulation für Objekte, Collision Detection und Lighting

  • MVC basierte UI

  • AI mittels Utility basierenden Action Trees und States

  • Prozedurale Level Generierung: BSP trees, Layered Room Creation, Prefabs

Teamgröße: 4

Java 12, Gradle, AWS CodeBuild, Json, H2, MyBatis, Bitbucket / Git, LibGdx, Junit, Mockito, Log4J, JProfiler, IntelliJ, Vue.js, SQL

12/19

(42) Teilnahme am Kurs FUNAR/Oose

Einführung in die funktionale Programmierung.


02/19 – 11/19

(41) Webservice für Sparkassen-Transaktionen

Es wird ein Webservice zum Ausführen von Ebics- und FinTS-Aufträgen für Firmenkunden designt und programmiert. Als zentrale Ablaufsteuerung kommt ein mit Camunda umgesetzter Workflow zum Einsatz. Im weiteren Projektverlauf wurde Camunda durch eine eigene schlanke customized Workflow-Lösung wieder ersetzt.
Über mit Spring Boot realisierte REST-Endpoints werden alle Anfragen entgegengenommen. Ein mit Vue.js entwickelter Demo-Client unterstützt Entwicklung und Test. Eine Jenkins-Pipeline sorgt für das automatische Bauen von betriebsbereiten Docker-Images. Besonderes Augenmerk liegt im reibungslosen Zusammenspiel mit dem in C++ geschriebenen und über JNI angesteuerten Banken-Kernel und der nötigen Synchronisation von Kernel- und REST-Threads.

Teamgrösse: 7

Java, Spring Boot, Maven, Camunda, Jenkins, Vue.Js, Git, Junit, Mockito, Swagger, Jira, Confluence, H2, Tomcat

07/18 - 01/19

(40) REST-basiertes Ordermanagement

Es werden neue REST-Services zum Aufbau eines Ordermanagement-Subsystems entwickelt sowie an das zugehörige Legacy-System angebunden. Da es sich um das erste größere Services-Projekt im Unternehmen handelt, erfolgt parallel der Aufbau einer passenden Infrastruktur rund um Jenkins, Nexus, Gradle und Swagger. Die komplexen Business-Workflows werden mit Hilfe von Camunda gesteuert.

Teamgrösse: 12+


Eclipse, IntelliJ, Jenkins, Hibernate, JPA, Oracle, Spring Boot, Tomcat, Java, Swagger, REST, Liquibase, JUnit, Scrum, Git

06/18

Fortbildung

Teilnahme an Onlineschulungen für

  • Vue.JS (Vue.js 2 Academy: Learn Vue Step by Step)

  • MongoDB (M001: MongoDB Basics, M201: MongoDB Performance)

09/17 - 05/18

(39) Webanwendung Versicherung

Ein Standard-System zur Verwaltung von Versicherungs- und Kundendaten wird für einen neuen Mandanten individualisiert und um neue Features erweitert.

Teamgrösse: 14

Java 8, JPA, DB2, SQL, Hibernate, Selenium, Scrum, Maven, JUnit, EasyMock, JSF, ElasticSearch, Docker, Jira, Confluence, Jenkins, Tomcat, IntelliJ, SVN

06/17 - 09/17

(38) Webanwendung Energiebörse

Das bestehende System unterstützt die finanzielle Abwicklung von Spotgeschäften und Futures in Gas und Strom und bereitet deren physische Erfüllung vor. Schnittstellen zu den Börsen stellen die Versorgung von Geschäftsbestätigungen sicher. Eine Versionierung der Daten erlaubt den Einblick in die Historie kritischer Geschäftsdaten.

Es ist erforderlich eine hohe Anzahl täglicher Trades performant zu verarbeiten und vorzuhalten.

Implementierung von neuen Features, Testen, Performance-Analyse.

Teamgrösse: 9


Java 8, Wicket, Hibernate, MySql, Spring, JUnit, JSF, Jira, Maven, IntelliJ, Jooq, SQL, Scrum, Git

03/16 - 06/17

(37) Webanwendung Leasing

Es werden Front- und Backoffice-Anwendungen zur Verwaltung von Leasingangeboten durch umfangreiche Neuerungen erweitert. Das UI wird mit Wicket entwickelt, das Backend mit Oracle, EclipseLink und JPA.

Design, Aufwandsschätzungen, Datenmodellierung, Programmierung von Backend und Frontend.


Java, EclipseLink, JPA, SQL, Oracle, Tomcat, Wicket, Jasper Reports, Camunda, Gradle, Git

01/16 - 02/16

(36) Schnittstelle Dokumentendruck

Webbasierte Entgegennahme von zu druckenden Dokumenten, Einreihung an eine eigene Druck-Queue, Weiterreichung an den Druckserver DOC1, sowie Rückgabe der fertigen PDF-Dokumente an den Aufrufer.

Aufgaben:

  • Design und Programmierung

Technisches Umfeld:

Java, Spring Boot, Eclipse, Tomcat, Gradle, REST, Git

10/15 - 12/15

(35) Schnittstelle Rechnungsprüfung

Ein dedizierter Schnittstellen-Server dient zur Entkopplung zwischen einem Backoffice- und einem Rechnungsprüfungsserver. Das Backoffice-System reicht Rechnungen an den Schnittstellen-Server, der die Daten anreichert, zur Rechnungsprüfung weiterleitet und am Ende das Prüfergebnis zurückgibt.


XML, Java, Oracle, Spring Boot, SOAP, Jaxb, Eclipse, Tomcat, Gradle, Git

01/15 - 07/2015

siehe auch

(27) und (30)

(34) Game Programming

Fertigstellung/Polishing des Top-Down-Scrollers aus Projekt (27). In enger Zusammenarbeit mit Gamedesignern, Grafikern und Testern werden Grafik, Gameplay, Balancing, Schwierigkeit und Leveldesign zur Veröffentlichung auf Steam verbessert.

Projektleitung / Koordination, Programmierung, Testen, Performance-Optimierung.


Java 7, LibGdx, JavaDB, MyBatis/iBatis, JUnit, Mockito, Ant, Eclipse, Linux, Jprofiler



06/14 - 09/15

(33) Webanwendungen Leasing

Ein Frontoffice-System, mit dem Business-Kunden selbst Leasingangebote erfassen und ihren Fuhrpark verwalten können, wird neu implementiert. Zusätzlich wird die Backoffice-Anwendung mit entsprechenden Funktionen erweitert.

Programmierung von Backend und Frontend, Aufwandsschätzungen, Datenmigration per PL/SQL.

Java, Wicket, HTML, CSS, Ant, Eclipse Link, Oracle, PL/SQL


01/14 - 05/14

(32) Webanwendungen Leasing

Es wurde eine XML-Schnittstelle zwischen externem Händler- und eigenem Frontoffice-System zum Erfassen von Leasingangeboten entwickelt. Dafür mussten Fahrzeug- und Ausstattungsdaten der Hersteller mit Schwackedaten gematcht werden. Mit Hilfe von Ketten verschiedener Matchertypen (exakter String-Vergleich, Levenshtein-Distanz, Regular Expressions) wurde eine hohe Treffergenauigkeit erzielt.

Programmierung von Backend und Frontend, Design der Daten-Matcher.

Java, XML, Wicket, Ant, Eclipse Link, Oracle, SQL


06/13 - 12/13

(31) Webanwendungen Leasing

Ein Frontoffice-System zum Erfassen von Leasingangeboten wurde um ein komplexes Nachlass-Modul erweitert.

Weiterhin wurde die SEPA-Einführung durch Erweiterung bestehender Kundenmasken und Schreiben von Migrationsscripten unterstützt.

Programmierung von Backend und Frontend.

Java, XML, Wicket, HTML, CSS, Ant, Eclipse Link, Oracle, SQL


03/13 - 05/13

siehe auch

(27) und (34)

(30) Portierung für Android

Ein für den Desktop unter LibGDX entwickeltes Spiel wird für die Android-Plattform portiert.

Anzupassen oder neu zu entwickeln sind dabei z.B.:

  • das Sound-Subsystem

  • virtuelle Controls für die Spielsteuerung

  • Datenbankzugriffe von JavaDB/Mybatis auf SQLite

  • Aufteilung einiger Packages in plattformabhängige Implementierungen für z.B. den Dateizugriff

  • Entfernen von Klassenreferenzen aus der Codebasis, die es unter Android nicht gibt (z.B. java.awt.*)

Android SDK, Java 7, LibGDX, JavaDB, MyBatis, Ant, Eclipse, Linux

02/13

(29) Datenmigration an SAP

Für ein neuentwickeltes SAP-System mussten Daten des Altsystems bereitgestellt werden.

Die Selektion der benötigten Daten erfolgte dabei duch erstellte Datenbank-Views und PL/SQL-Prozeduren anhand fachlicher Vorgaben (z.B. nur offene Verträge, Daten mit Restbestand etc.)

PowerBuilder, Oracle, PL/SQL

10/12 - 01/13

(28) Druckersteuerung

Für den automatischen Ausdruck generierter PDF-Dokumente wie z.B. Auftragsbestätigungen und Rechnungen wurde ein Druckservice entwickelt.

Features:

  • Überwachung von Dateiordnern

  • Verarbeitung neuer Dokumente anhand mitgegebener Property-Files

  • Printqueues für neue, im Druck befindliche, erfolgreiche und fehlerhafte Dokumente

  • Synchronisation und Zusammenhalt von Sammeldokumenten, Einhaltung der Druckreihenfolge für Kuvertiermaschinen

  • Administrationstool zum Sichten von Druckjobs und zur Fehlerbehandlung

  • Archivierung mit automatischer Löschroutine

  • Installation als Windows-Service


Analyse des vorhandenen Druckprogramms, Qualitätssicherung, Weiterentwicklung.


Java, Swing, JGoodies FormLayout, JavaDB, JDBC, Ghostscript

2011 - 2015 siehe auch

(30) und (34)


(27) Game und -Framework

Entwicklung eines Top-Down-Scrollers. Die 2D-Grafik wird aus Tiles und animierten Sprites aufgebaut.
Eine durchgängige Client-/Server-Architektur erlaubt Multiplayer-Spiele. Die Kommunikation erfolgt dabei über Events. Allgemeingültige Packages werden zwecks Aufbau eines Frameworks separiert. Gut konfigurierbar durch weitreichende Basierung auf Interfaces und Auswahl der Implementierungen, weiterhin sind viele Parameter in Property-Files änderbar. Während der gesamten Entwicklung findet die Performance und deren Optimierung besondere Berücksichtigung.

In enger Zusammenarbeit mit Gamedesignern, Grafikern und Testern werden Grafik, Gameplay, Balancing, Schwierigkeit und Leveldesign verbessert.


Weitere Features:

  • Aufteilung in Model,View und Controller (MVC) sowie in Client-, Shared- und Servermodul

  • Kommunikation mittels NIO/TCP oder über
    Memory-Pipes für Offline-Spiele

  • custom HTTP-Server für Online-Highscores

  • Authentifizierung der Client-Events

  • konfigurierbare Nutzung von Multithreading

  • künstliche Intelligenz (AI) basierend auf A*, Goals und einer Finite State Machine

  • Collision Detection

  • verschlüsselte Ressourcen


Projektleitung, Organisation und Systemarchitektur, Programmierung, Performance-Tuning, Marketing.

Java 7/8, Java2D, Swing, LibGDX, Box2d, JavaDB, MyBatis, NIO, JUnit, Mockito, Ant, Eclipse, Linux

10/10 - 08/11

(26) Kernsystem Logistik

Das bestehende zentrale System eines großen Logistikkonzerns wird als moderne Java-Lösung komplett neu entwickelt. Die Umsetzung erfolgt in vier Iterationsschritten für Export und Import sowie See- und Luftfracht.

Eine durchgängige Modularisierung nach fachlichen Aspekten und technischen Schichten vermeidet Zyklen und schränkt nötige Abhängigkeiten ein.

Die Datenbankanbindung geschieht über JPA und Hibernate. Transaktionen werden unter Spring mit AOP verwaltet, Queries mit der JPA Criteria API formuliert. Der Datentransport erfolgt mit Hilfe von DTO zwischen Client und Server.

Das Projekt läuft über 3-4 Jahre und beschäftigt bis zu 120 Mitarbeiter gleichzeitig. Kommunikation in Dokumenten vollständig in Englisch, mündlich teilweise im Team.

Implementierung und Test von Geschäftsprozessen sowie des GUI auf Client-Seite, Realisierung von Schnittstellen zur Stammdatenversorgung.

Java, Oracle, JPA, Hibernate, Spring, Swing, JUnit, Maven, Eclipse

04/10 – 09/10

(25) Webanwendung Energiebörse

Das bestehende System unterstützt die finanzielle Abwicklung von Spotgeschäften und Futures in Gas und Strom und bereitet deren physische Erfüllung vor. Schnittstellen zu den Börsen stellen die Versorgung von Geschäftsbestätigungen sicher. Eine Versionierung der Daten erlaubt den Einblick in die Historie kritischer Geschäftsdaten.

Es ist erforderlich eine hohe Anzahl täglicher Trades performant zu verarbeiten und vorzuhalten.

Programmierung von neuen Features (fachlich und technisch, z.B. zur Performance-Steigerung).

Testen manuell und mit automatischen JUnit-Tests.


Java, Wicket, Hibernate, MySql, Tomcat, Spring, EasyMock, JUnit, JSF, Jira, Maven, IntelliJ

02/10 bis 04/10

siehe auch:

(21)

(24) Neue Scan-Module / Tool zum Vergleich von Datenbankstrukturen

Um verschiedene herstellerspezifische Features verarbeiten zu können, werden diverse Scanner ergänzt: Berechtigungen, Sequenzen, Typen, Synonyme, Trigger, Prozeduren für Oracle, Postgres, MySQL, MS SQLServer, Derby, Firebird


Java, Swing, JGoodies FormLayout, JFormDesigner, JDBC, XML

07/09 – 08/09

Gesamteinsatz1: 27 Monate

siehe auch:
(3), (6), (9), (18)

(23) Weiterentwicklung Einkaufs- und Dispositionssystem Rohkaffee

Zur Abwicklung des Handels von zertifiziertem Kaffee (z.B. Bio, Fairtrade, Rainforest Alliance) sind einige Erweiterungen für das System zu programmieren.



PowerBuilder, Oracle

01/09 - 06/09

(22) Web 2.0-Portal

Kostenpflichtige Vermittlung von Dienstleistungen für registrierte Benutzer über das Internet. Recherche für interessierte Nutzer, internes Mailsystem, Anbindung an externe Zahlungsabwicklung, Steuerung der unterschiedlichen Features in Abhängigkeit der Mitgliedschaft (Standard, Premium, etc.), Verwaltung von Bildern, MP3s und Videos der Mitglieder, Abwicklung von Ausschreibungen und Geboten.


Aufgaben:

  • Projektleitung

  • komplette Abwicklung: Systemdesign, Realisierung, Organisation von Rechtsberatung, Zahlungsdienstleistung, Grafikdesign und Werbung, Einrichtung und Betrieb des Servers

  • fachliches und technisches objektorientiertes Systemdesign

  • Datenbankmodell

  • Programmierung

  • Layout/Webdesign


Java, Spring, JSF, Richfaces, Flash, Ajax, Hibernate, SQL, JUnit, Yaml, CSS, Eclipse, OpenSuse Linux, Apache

02/09 - 03/09

(21) Vergleich von Datenbankstrukturen


Um mehr Sicherheit im Entwicklungsprozess bei der parallelen Verwendung mehrerer Datenbanken zu erlangen (z.B. User lokal, Entwicklung, Test, Integration, Produktion), wurde ein Tool entwickelt, mit dem Datenbankstrukturen ausgelesen und offline miteinander verglichen werden können. Datenbankunabhängig durch Verwendung von JDBC und Speicherung im XML-Format.

Auslieferung als eingeschränkte kostenfreie und als erweiterte Premium-Version. Generierung und Prüfung von verschlüsselten Lizenzdateien aus den Kundendaten.

Systemdesign, Programmierung, Betrieb / Lizenzverwaltung.


Java, Swing, JGoodies FormLayout, JFormDesigner, JDBC, XML


09/08 - 12/08

(20) Webanwendung zur Erfassung von Logistikaufträgen

Mit der neu entwickelten Webanwendung können Kunden selbständig dialoggeführt ihre Logistikaufträge erfassen. Dazu gehören umfangreiche Daten über beispielsweise die zu transportierenden Güter, Transportarten wie Luft- und Seefracht, Container-Allokation und zugehörige Dokumente. Die Historisierung der Daten garantiert eine vollständige Transparenz aller Änderungen. Ein leistungsfähiges Berechtigungssystem erlaubt eine Zugriffskontrolle auf Daten- und Funktionsebene.
Umfangreiches Projekt über ca. 1,5 Jahre mit etwa 30 Mitarbeitern.

Java, Tomcat, Oracle, Struts, Hibernate, iText, JUnit, kundeneigenes Framework



03/08 - 08/08

(19) Module für die Entwicklung von Datenbankanwendungen unter Java

Um die Umsetzung von typischen Programmieraufgaben zu erleichtern wurden verschiedene Module entwickelt, z.B.:

  • für die dynamische Generierung von JSF-Tabellen

  • ein Abstraktionslayer für Datenzugriffe

  • für performante Suchanfragen mit Hilfe von SQL

  • Security unter JSF

Java, Hibernate, JUnit, JSF, verschiedene Datenbanken

03/08 - 08/08

siehe auch:
(3), (10), (16)

(18) Weiterentwicklung und Wartung laufender Projekte:

  • Versandhandelssoftware

  • Einkaufs- und Dispositionssystem Rohkaffee


01/08 - 02/08

(17) Rezeptverwaltung

Für die Neuauflage eines Lehrbuchs für Auszubildende zum Koch wurde eine begleitende Anwendung entwickelt, mit der Rezepte, Nährwerte und Kosten verwaltet, ausgedruckt sowie Menüs zusammengestellt werden können.
Design & Programmierung.


Standalone-Anwendung unter Java, SWT, Access






12/07 - 06/08

Gesamteinsatz1:
9 Monate

siehe auch: (10), (18)

(16) Weiterentwicklung Versandhandelssoftware

Es wurde der Kern des Spring Frameworks, die Unterstützung zur Dependency Injection, umfangreich zur Konfiguration genutzt und ursprüngliche eigene Factory-Zugriffe entfernt, allgemein um die zu verwendenen Implementationen verschiedener Interfaces festzulegen, im Speziellen für

  • die zuvor unter JSF verwalteten Managed Beans

  • das Security-Modul

  • den Wrapper für Datenbankzugriffe

  • JSF-Tabellenkomponenten
    (ob RichFaces, MyFaces, etc.)

Techn. Leitung,Design & Programmierung.



Java, Tomcat, JSF/MyFaces, RichFaces, Hibernate, Oracle, Postgres, Jasper Reports, Ant, JUnit, Log4J, HTML/CSS, Eclipse, Spring




09/07 - 11/07

(15) Modul zum Abgleich von Kunden- und
Musterdepots für die Anlageberatung

Als besondere Anforderung mussten gegebene Anlagebeträge optimal anhand von Musterdepots aufgeteilt werden (vorgegebener Anteil von Aktien, Renten, etc.). Dazu konnten vorhandene Positionen manuell im Depot gesperrt werden oder bestimmte Produkte bevorzugt werden. Weiterhin mussten Mindestordersätze und Gebühren eingerechnet werden um Orderkosten gering zu halten.

Die Umsetzung erfolgte im Hinblick auf umfangreiche
Batchläufe datenbankseitig in PL/SLQ-Packages.



Oracle, PL/SQL, PHP

06/07 – 08/07

(14) Entwicklung einer Anwendung zur Verwaltung des Buchbestandes

Es wurde eine Webanwendung entwickelt, mit der der Bestand einer Bibliothek verwaltet werden kann. Bücher können gesucht, gesichtet und eingepflegt werden. Zum schnellen Auffinden wird die genaue Regalposition mitgeführt. Anhand von Kriterien wie Themen und Bereichen kann eine Reorganisation zur optimalen Nutzung der Regalflächen durchgeführt werden.

Die Grundversorgung der Daten wurde vom Buchhandel im Excel-Format geliefert und importiert.

Design & Programmierung.



Java, JSF, Tomcat, MySQL, Hibernate (über Annotations), iText, Ant, JUnit, Log4J, HTML/CSS, Eclipse

04/07 – 06/07

Gesamteinsatz1:
13 Monate

siehe auch:
(8)

(13) Komplexes Preislistensystem für Webanwendung Artikelstamm

Die bereits entwickelte Webanwendung Artikelstamm sollte ein umfangreicheres Preislistensystem bekommen, um den Anforderungen der Fachabteilung besser zu entsprechen:

Abbildung von Rabatten, Staffeln und Preisen, Berechnung von Stücknutzen und Spannen, Berücksichtigung von Artikel-Displays, etc., Ausdrucke über Jasper Reports als PDF-Dokumente.



Java, Oracle, Struts, Common Controls, Jasper Reports

09/06 – 12/06

Gesamteinsatz1: 27 Monate

siehe auch:
(3), (6), (9), (18), (23)

(12) Datenbankarchivierung für das Einkaufs- und Dispositionssystem Rohkaffee


Um die Datenmengen der Produktionsdatenbank so klein wie möglich zu halten, sollten abgeschlossene Kontrakte in eine zweite Datenbank gleicher Struktur verschoben werden.

Dabei musste sichergestellt werden, daß wirklich nur beendete Vorgänge bewegt wurden und diese auch tatsächlich komplett mit allen anhängigen Tabellen. Durch vorhandende unvollständige Daten des Vorgängersystems wurde dies zusätzlich erschwert.
Programmierung, Transaktionssicherheit für Altdaten, Testen & Performance sicherstellen.

Oracle und PL/SQL

02/06 - 03/06

(11) Kundeninformationssystem Versicherung

Fortführung der Entwicklung eines Systems zur Verwaltung von Kunden- und Vertragsdaten.



Java, Swing, JDO, Oracle

12/05 – 06/08

Gesamteinsatz1:
9 Monate

siehe auch:
(16), (18)

(10) Standardsoftware Versandhandel

Ein vorhandendes auf Visual Basic basierendes Versandhandelssystem sollte auf eine moderne technische Basis gestellt werden. Gleichzeitig erfolgte der Wechsel von einem Fat Client zu einem Browser-basiertem System.

Umsetzung von benötigten Funktionen des Versandhandels wie z.B. Artikel-, Lieferanten- und Auftragsverwaltung und Disposition.
Aufbau eines Web-Frameworks, asynchrones Job-System, Berechtigungssteuerung auf Daten- und Maskenebene über Benutzer, Gruppen und Funktionen, Ebay-Anbindung, Druck von Versandpapieren.


Es musste die komplexe Disposition abgebildet werden: Prüfung auf Lieferbarkeit der Artikel, Reservierungen, Teillieferungen, Wunschliefertermine, automatischer Anstoß von Nachlieferungen, Koordination des Versands in Abhängigkeit der Zahlungsart.

Die Anwendung läuft mit Hilfe von Hibernate unter Oracle, Postgres und MySQL. Um die beste Performance erreichen zu können verwenden komplexe Suchanfragen manuell optimiertes SQL, genauso wie umfangreiche Batchprozesse wie die Artikel-Disposition.

Um im Web-Umfeld das Lazy-Loading von Hibernate nutzen zu können, können Datenbank-Sessions durch Javas Thread Locals für die Dauer eines Requests offen gehalten werden. Dazu gibt es einen leichtgewichtigen Wrapper für Hibernate, der außerdem mit Hilfe von Generics das Type Casting für Entity-Anfragen überflüssig macht.

Zusätzlich zur Berechtigungssteuerung der Oberfläche können Daten abhängig von den Rechten des Anwenders mit Hilfe von Session-Variablen, Views und Synonymen bereits auf Seiten des Datenbankservers gefiltert werden.

Techn. Leitung, Design & Programmierung.


Java, Tomcat, JSF/MyFaces, RichFaces, Hibernate (über Annotations), Oracle, Postgres, Jasper Reports, Ant, JUnit, Log4J, HTML/CSS, Eclipse




03/05 – 07/05

Gesamteinsatz1:
27 Monate

siehe auch:
(3), (6), (12), (18), (23)

(9) Schnittstelle OTA für das Einkaufs- und
Dispositionssystem Rohkaffee

Gesetzliche Bestimmungen erfordern die Prüfung des Rohkaffees auf Befall von Ochratoxin. Dazu wurde eine Labor-Schnittstelle umgesetzt, mit der Prüfungen des Rohkaffees geplant und ausgewertet werden können.

Betroffene Kaffeepartien werden gesperrt und müssen manuell kontrolliert weiter bearbeitet werden. Die Häufigkeit der Prüfungen wird automatisch in Abhängigkeit der historischen Güte einer Qualität herunter- oder heraufgesetzt.


Design und Programmierung.


PowerBuilder und PL/SQL: Steuerung der Schnittstelle durch die Anwender im Client, Einlesen und Schreiben der Dateien aus einem PL/SQL-Package heraus.

06/04 – 02/05

Gesamteinsatz1:
13 Monate

siehe auch:
(13)

(8) Webanwendung Pflege Artikelstamm, Qualitäts- und Mediadaten

Vorhandene Systeme zur Verwaltung von Industrie- und Eigenmarkenartikeln sollten durch eine neue ersetzt und funktional erweitert werden. Da das System sowohl in der Zentrale als auch dezentral eingesetzt werden sollte, hat man sich für eine Web-basierte Lösung entschieden.

Die Module bzw. Funktionen in der Übersicht:

Umfangreiches Berichtswesen, Preis- und Rabattmodule für Einzelartikel sowie Sortimente, Bilderverwaltung, Generierung und Auslesen von PDF-Dokumenten, Mail-Versand, flexible Suchfunktionen, Schnittstellen für Umsatzdaten, Mediadaten und Artikel-Benchmarks, Berechtigungssteuerung auf Daten- und Maskenebene über Benutzer, Gruppen und Funktionen, Excel-Exports.

Zusätzlich zur Berechtigungssteuerung der Oberfläche werden alle Daten abhängig von den Rechten des Anwenders mit Hilfe von Session-Variablen, Views und Synonymen bereits auf Seiten des Datenbankservers gefiltert.

Aufgaben:

  • Kommunikation mit Fachabteilung

  • techn. Leitung

  • Systemanalyse / Systemdesign

  • Programmierung, Entwicklung und Test eines Anwendungsrahmens, von Datenzugriffsmodulen und Pflegemasken


Java, JSP, Tomcat, Struts, Common Controls, Oracle, Jasper Reports



06/03 – 12/03

(7) Vermögensverwaltungssoftware für Finanzdienstleister

Software für den Anlageberater.

Aufgaben:

  • Qualitätssicherung

  • Fehlersuche

  • Beurteilung der Softwareergonomie


Java, Rich Client in Swing

11/02 – 02/03

Gesamteinsatz1:
27 Monate

siehe auch:
(3), (9), (12), (18), (23)

(6) Zoll-Schnittstelle für das Einkaufs- und Dispositionssystem Rohkaffee (siehe unten)

Es wurde eine Schnittstelle zum Atlas-System des Zolls umgesetzt, mit der verschiffte Container beim Zoll angemeldet sowie erteilte Belegnummern wieder eingelesen werden können. Verschiedene Berichte erlauben die fachliche sowie die technische Kontrolle der Schnittstelle.



Aufgaben:

  • Teilprojektleitung, Systemanalyse / -Design

  • Programmierung

  • Support


PowerBuilder (Client für die Anwender) und PL/SQL (Schreiben und Lesen der Schnittstellendateien), Nutzung von Oracle-Jobs

04/02 – 10/02

(5) Java-Framework, GUI-Builder

Realisierung eines Frameworks zur Entwicklung von Datenbankanwendungen mit Java und eines Entwicklungswerkzeuges zum Design von Benutzeroberflächen mit Java (GUI-Builder) und Swing.

Design und Programmierung, Support.


Java, Swing, JDBC, Ant, Log4J, Eclipse, Webstart, Servlets, RMI

12/99 – 03/02

(4) Zentrales/dezentrales Informations- und
Bestellsystems für den Autozubehörhandel

Mit der Anwendung können Autohäuser bei der Unternehmenszentrale Artikel-Bestellungen durchführen. In der Zentrale wird der Artikelstamm verwaltet. Artikel-Updates werden im XML-Format per Internet an die separaten Datenbanken der Autohäuser verteilt. Die Besonderheit dabei ist, daß die Anwender Daten aus fachlicher zur Verteilung freigeben können. Das Update-System muss dann alle benötigten anhängigen Daten zusammensuchen, um die Integrität der Datenbanken zu gewährleisten. Weiterhin müssen Strukturänderungen der Datenbanken zeitlich korrekt eingearbeit werden können sowie unterschiedliche Status der dezentralen Datenbanken berücksichtigt werden.

Zu den weiteren Modulen gehörten eine leistungsfähige Geschäftspartnerverwaltung und ein komplexes Preisfindungssystem.

Aufgaben:

  • Teilprojektleitung, Systemanalyse / -Design

  • Programmierung

  • Support

Client/Server, Visual Basic, SQL, Microsoft SQL Server, XML

05/98 – 05/99

Gesamteinsatz1:
27 Monate

siehe auch:
(6), (9), (12), (18), (23)

(3) Einkaufs- und Dispositionssystem für
Rohkaffee

Abbildung des kompletten Warenverlaufs: Kontraktschluß, Verschiffung, Warenannahme, Verkostung, Planung der Probenentnahme, Umlagerung, Absetzung, Rechnungsstellung.
Anbindung von Schnittstellen an Zoll-, SAP-, sowie Qualitätsprobensysteme, umfangreiches Berichtswesen, Berechtigungssystem.

Umfangreiches Berichtswesen basierend auf PowerBuilder-Reportobjekten, SQL sowie für sehr komplexe Berichte auch auf PL/SQL-Packages.



Aufgaben:

  • Konzeption, Beratung, Aufwandsschätzung

  • techn. Leitung, Programmierung

  • Wartung



Klassische Client/Server-Architektur, PowerBuilder (Versionen 5 und 10), Oracle, PL/SQL

01/97 – 04/98

(2) Retoureninformationssystem

Umfangreiches Berichtswesen zur Auswertung retournierter Gebrauchsartikel.



Aufgaben:

  • Systemanalyse / Systemdesign

  • Programmierung



Client/Server, PowerBuilder, Oracle, PL/SQL

07/95 - 12/96

(1) Bestellsystem für Kaffee und ein Laptop-gestütztes Bestell- und Retourensystem für
Außendienstler



Programmierung mit MS/DOS, Clipper.