Deutschland: bevorzugt Bereich D2, insb. Hamburg;
Transport-Informations-Plattform (TIP);
Branche: Logistik: Auftragsmanagemengt, Transportplanungmehrschichtigen J2EE - Awendungen; automatisierte Komponenten - Versionierung; Konfiguration von Continuous Integration (CI) - Tools wie CruiseControl (CC);
Branch-Planung;
Fachlichkeit:- Erstellung einer Transport-Informations-Plattform (TIP) zum Erfassen und
Bearbeiten von Aufträgen und zu deren Einplanung in Transporte;
- fachlich komplexe Logistik-Anwendung mit unter anderem dem Ziel der
Nutzung der Synergien zwischen den ca. acht verschiedenen Logistik-
Netzwerken der Post (z.B. Schnelläufernetz SLN oder Express-
Logistikknetz ELN);
- Teilgebiete und damit Teil-Teams: Aufträge, Transporte, Stammdaten,
Standorte, Framework, Test (Testdaten-Generierung,
JUnit-Testabdeckung;Test-Review etc.), Build, Datenbanken;
- Mitglied im Test-Team und dabei Generierung von Test-Daten für Intuitiv-Tests
und Evaluations-Tests / Abnahmetests;
- Einarbeitung in das komplette Datenmodell: Aufträge (einzeln, regelmäßig),
Transporte, Standorte, Leitstrukturen, Geschwindigkeitsprofile,
Kostenberechnungsmodelle, Bereiche, Transportprodukte, Transportmittel,
Benutzer und Benutzergruppen mit verschiedensten Rollen als
Zuständigkeitsprofile; weitere Stammdaten;
- Zuordnungstabellen diverser Stammdaten;
- hierarchische Datenstrukturen, z.B. ein hierarchisches Berechtigungskonzept
mit einer Vielzahl von Verantwortungarten: Verwendungs-, Verwaltungs-,
Planungs-, Umsetzungsverantwortung;
- Aufdecken vom Inkonsistenzen und Weiterentwicklung des Datenmodells in ARIS;
- Weiterentwicklung des Testdaten-Generators:
- Umsetzung des kompletten Datenmodells in ein XML-Schema;
- Transformation der EXCEL-Testdaten nach XML in das vordefinierte
XML-Schema z.B. mittels Java-Parsern unter Verwendung des Apache
POI Projekts (POI-HSSF und POI-XSSF) oder mittels Excel-Makros (in
einfacheren Fällen);
- Überprüfung der generierten Testdaten auf Schema-Konformität;
- Transformation der XML-Testdaten in ein Zwischenformat mittels der XML
Query Language (XQuery);
- Übersetzung der Testdaten im Zwischenformat in das Java-Objektmodell mit
Hilfe des Java Reflection - API;
- Persistierung der Testdaten mittels Hibernate-Mappings aus dem existierenden
Code der Transport-Informations-Plattform(TIP)-Anwendung heraus;
Technische Umsetzung:- Erstellung der Transport-Informations-Plattform als Rich Client-Anwendung
mit Eclipse RCP sowie mit einer serverseitigen Komponente (unter JBoss 5);
- automatisierter Datenbankabgleich zwischen der lokalen Derby-Datenbank
des Rich Clients sowie der Oracle-Datenbank des Servers; Zielsetzung
dabei: zentrale Datenhaltung der Daten, die für alle Anwender sichtbar
sein müssen, jedoch die möglich für einen Client, eine Zeit lang autonom
(d.h. ohne Netzwerkverbindung) arbeiten zu können;
- Eclipse RCP (Rich Client Platform)
- Eclipse Equinox als OSGi Implementierung zum Management der
Komponenten / Plug-Ins;
- Eclipse Plug-In Development: GUI Plug-Ins und Plug-Ins mit reiner Fachlogik;
Verwendete Tools:- Java 6
- Entwicklungsumgebung (IDE): Eclipse 3.4 (Ganymed) mit diversen Plug-Ins
z.B. zum Versionsmanagement mit Serena Dimensions;
- Eclipse Equinox als OSGi - Implementierung zur dynamischen
Komponentenverwaltung sowie zur Verwaltung ihrer Abhängigkeiten;
- GUI-Entwicklung mit Eclipse RCP (Rich Client Platform):
Standard Widget Toolkit(SWT)-Programmierung;
- Datenbanken: Oracle Server-seitig sowie Derby Client-seitig;
automatisierter Datenbankabgleich zwischen der Derby-Datenbank des
Rich-Client sowie der server-seitigen Oracle-Datenbank;
- Datenbanken-Anbindung (O/R-Mapper): Hibernate;
- Datenbank-Tools: Squirrel, TOAD, Oracle Developer;
- Application-Server: Server-seitige Komponente unter JBoss;
- Versionsmanagement (SCM): Serena Dimensions;
- Build-System: Ant 1.7.1;
- Unit-Tests: JUnit4 sowie Tools zum Bestimmen der Testabdeckung wie Cobertura;
mehrschichtigen J2EE - Awendungen; automatisierte Komponenten - Versionierung;
Konfiguration von Continuous Integration (CI) - Tools wie CruiseControl (CC);
Branch-Planung;
Fachlichkeit:- Software zum Betreiben einer Direktbank mit mehrschichtiger (multi-tiered)
J2EE- Architektur mit verschiedensten Clients z.B. für Internetanwendungen,
Call-Center, Beschwerde-Management ("Turn Friedly"), Middle-Tier mit
Fachlogik ("Middleware-Services (MWS)") und verschiedenste Backend-Systeme
wie relationale Datenbanken (Oacle 9i/10i), Schufa-Auskunftssysteme,
Kordoba ("Kundenorientiertes Dialog-system für Bankgeschäfte", nun Core24),
PIN-TAN etc.;
- Build-, Konfigurations-, Versionierungs-, Deployment- und Release-Management
vor allem für den Middle-Tier ("Middleware - Services (MWS)") in voll
automatisierter Form;
- Erstellung von Build-Tools zur Unterstützung der eben genannten Aspekte für
alle anderen Projekte, insbesondere für die verschiedenen Clients;
- Dokumentation, Pflege und Weiterentwicklung der bestehenden Systeme;
- Branch-Planung und -Durchführung zur Unterstützung des Release-Managements;
- Administration und Installation von Entwicklungs- und Testsystemen,
insbesondere der dortigen Anwendungsserver IBM Websphere 6.0.22 und
JBoss 4.3;
Projektaufgabe:- Pflege des XML " basierten Konfigurations-Repositories zur Darstellung aller
möglichen Kombinationen von Konfigurationen z.B. des Middle-Tiers und aller
möglicher Backend-Systeme für die verschiedenen SCM-Branches und Zielsysteme
als Grundlage für das vollautomatisierte Deployment und Archivierung /
Release mit dem Ziel der Revisionssicherheit;
- automatisiertes Erzeugen von Konifugrationsdaten anhand des Konfigurations-
Repositories mit dem Ziele des automatisierten Deployments wahlweise auf
IBM Websphere 6.0.22 oder auf JBoss 4.3. Anwendungsservern (wahlweise mit
mehreren Clustern, Nodes und / oder Profiles);
automatisiertes Generieren / Anpassen von JACL-Skripten zum Generieren von
Backend-Anbindungen unter IBM Websphere;
- automatisiertes Deployment auf verschiedenen Typen von Anwendungsservern und
automatisierte Erfolgskontrolle des Deployments (z.B. mit JACL-Skripten für
IBM WebSphere und MBeans/twiddle-Skript für JBoss oder einfacher durch
Abfrage von URLs der deployten Anwendung);
- Branching " Strategien zur Unterstützung des Release " Managements;
Aufsetzen von Branches und zugehörigen Software-Repositories für das
Dependency-Management (mittels Apache Ivy);
- Einrichtung und Konfiguration von Werkzeugen für die kontinuierliche
Integration ("Continuous Integration - CI") wie CruiseControl (CC);
Pflege dieser Tools wie z.B. Einrichtung von Cron-Jobs zum Archivieren von
Log-Dateien (automatisiertes Verhindern von Plattenübrläufen);
- Automatisierungsansätze bei der Qualitätskontrolle:
- JUnit-basierte Tests teilweise mit dem Charakter von Integrationstests;
- JUnit-Testabdeckung (test coverage) z.B. mit Cobertura;
- automatisiertes Ausführen von Defekt-Detektoren wie PMD;
- JavaDoc Generierung;
- automatisiertes regemäßiges Deployment wahlweise auf IBM WebSphere 6.0.22
oder auf JBoss 4.3;
- Verwendung von JDiff zur automaisierten Dokumentation von Unterschieden
zwischen Releases;
- Abhängigkeits-Management:
- Verwendung von Tools wie Apache Ivy zum atomatisierten
Dependency-Management des Middle-Tiers, der sich aus ca. 65 Teilkomponenten
und vielen Third-Party-Libs zusammensetzt;
- automatisierte Bestimmung der Kompilierungsreihenfolge (build order)
gemäß der vorgegebenen direkten Abhängigkeiten;
- automatisertes Erstellen von Abhängigkeitsgraphen (dependency graphs);
- automatisiertes Build der Middleware Services MWS gemäß verschiedenen
Entwickler-Rollen entsprechend den verschiedenen Typen von Komponenten
der MWS:
- Entwickler des technischen Kernsystems T-Core (technical core);
- Entwickler des fachlichen Kernsystems B-Core (business core);
- Entwickler von Backend - Adaptoren;
- Entwickler von Domänen wie z.B Kredit, Baufi, Spar;
- Unterstützung von Builds von Teilsystemen der Middleware Services z.B.
mit nur bestmmten Domänen;
- Publizerung und Archiverung der Ergebnisse des Build-Vorgangs:
- sowohl der deploybaren Artefakte wie .ear-Dateien,
- der umgebungsabhängigen Konfigarationsdateien je zulässiger Deployment-
Konfiguration und je Zielsystem
- als auch von Zusatzdaten wie JDiff - Reports zur Dokumentation des
jeweiligen Releases;
- Generierung und Publizierung von Artefakten nur für Clients der MWS;
- automisierte Auswertung von Doclets zur Zugriffskontrolle und Dokumentation,
welche Clients auf welche MWS - API Funktionen zugreifen dürfen;
Dokumentation in Form von generierten HTML-Dokumenten;
- Versions-Management: Erweiterung der automatiserten Versionierung:
- Major- und Minor-Version-Number des Gesamtprodukts Middleware Services
(MWS);
- Erhöhung der Major-Version-Number nur bei Schnittstellenänderungen für
die die MWS aufrufenden Clients-,
- bis zu vierstellige automatisierte Versionierung der Einzelkomponenten
der MWS:
- erste Stelle: Schnittstellen-Änderungen für Client-Zugriffe für
MWS-Client - Komponenten;
- zweite Stelle: sonstige Code-Änderungen;
- dritte Stelle: Äderungen in Konfigarationsdaten;
- vierte Stelle: Änderungen von direkten Abhängigkeiten oder in
Komponenten, zu denen (direkt oder transitiv) Abhängigkeiten bestehen;
- Erweiterung des Versionsmanagements mit dem Ziel der automatisierten
Berücksichtigung von Branches:
- Einführung Branch-unabhängiger, globaler Versionsnummern und damit
Einführung Branch-unabhängiger, globaler Versionsrepositories für das
Abhängigkeits-Managementsystem Apache Ivy;
- damit Ermöglichung eines wirklich komponentenbasierten Builds;
- Erstellung und Erweiterung von Build-Skripten für den Build-Server, die
den Gesamtprozess des Builds ohne weitere Benutzerinteraktion durchführen
können nach anfänglicher Eingabe aller Daten;
- Bestandteile des Gesamt-Build-Vorgangs:
- eigentlicher Build: Erstellung der deploybaren Artefakte gemäß
automatisiert bestimmter Build-Reihenfolge;
- Konfiguration: Erzeugung der umgebungsabhängigen Konfigurationsdateien
aus zugehörigen Templates für alle zulässigen Zielsysteme gemäß
Konfigurations-Repository für den gegebenen Branch, die gegebene
Anwendung etc.;
- Versionierung: automatisiertes Bstimmen der Versionsnummern für das
Gesamtsystem als auch für alle Einzelkomponenten in reproduzierbarer
und damit revisionssicherer Form;
- Release / Archivierung: Archivierung der erzeugten deploybaren Artefakte,
der Konfigurationsdaten für alle zulässigen Konfigurationen und
sämtlicher Metadaten wie automtisch generierten Release-Dokumentationen
(z.B JDiff zur Dokumentation der Differenzen zwischen zwei Releases);
- Deployment des Systems gemäß gegebenen Konfigurationsdaten auf den
entsprechenden Applikations-Servern; Erfolgskontrolle des Deployments;
- Pflege von Bibliotheksarchiven wie der "cmmonlib" und Unterstützung des
Zugriffs hierauf mttels Apache Ivy;
- Unterstützung der IDE wie Eclipse durch automatisiertes Generieren der
.classpath Files gemäß der Ergebnisse der Abhängigkeitsanalyse mit
Apache Ivy;
- Beratung und Unterstützung der Entwickler beim lokalen Build als auch
beim Build-Vorgang auf dem Build-Server;
- Koordinierung mit dem Betriebsteam von Praxis- und Qualitätssicherungs(QS)-
Servern zum Zwecke der Vereinheitlichung der Vorgehensweisen;
Technische Umsetzung:- reines Java/J2EE-Projekt mit Java 1.4.2 und Java 1.5.0.12;
- IDE: Eclipse 3.3 Europa und Rational Application Developer (RAD);
- SCM (Source Configuration Management): CVS (Concurrent Version System);
Wechsel auf SubVersion geplant; Tools wie Tortoise CVS;
- Backend-Systeme: relationale Datenbanken wie Oracle 9i / 10i;
TOAD (Tool for Oracle Application Developers);
- Application-Server: IBM WebSphere 6.0.22 (typischerweise mit einem Node,
zwei Clustern und je zwei Server-Instanzen je Cluster);
- JBoss 4.3 (typischerweise mit je zwei Profilen);
- unterschiedliche Profiltypen für Clients und für den Middle-Tier;
- Buildmanagement mit Ant 1.6.5 und Ant 1.7.1;
diverse Ant-Libraries wie Ant-Contrib;
- Dependency-Management mit Apache Ivy;
- JUnit zum Erstellen automatisierter Tests (auch mit Backend-Anbindung);
- Cobertura zum Bestimmen der Testabdeckung des Codes;
Mobilfunktarife anhand der Einzelverbindungsnachweise;;
Projektaufgabe:- Entwicklung von Parsern für Mobilfunk - Einzelverbindungsnachweise
im PDF - Format oder als CSV - Dateien (z.B. für nationale Provider wie
Debitel, E-Plus, Mobilcom, O2, Talkline, T-Mobile, Vodafone);
- Umwandlung der PDF - Daten in generische DataRecord - Formate zur
anschließenden Weitergabe an das Tarif - Optimierungsmodul;
- Erweiterung des internen Datenmodells zur Darstellung der verschiedensten
Verbindungstypen und Arten (z.B. ConnectionType; InvoiceConnectionType;
CallDetailRecord; DetailRecordType; ShortMessageType;
Abstract-, Call-, Data-, Messaging-DetailRecord);
Technische Umsetzung:- IDE: Eclipse 3.3 Europe; diverse Eclipse Plug-Ins wie z.B Codehaus
Maven Plug-In for Eclipse; Subclipse für SubVersion-Anbindung;
- Application-Server: JBoss mit EJB 3.0;
- Build-System: Ant, Maven;
- Datenbank: MySQL;
- Source Configuration Management (SCM): Subversion;
- Tools: PDF Toolbox und diverse andere PDF - Parsing - Tools (ICE-Parser);
Tata Consultancy Services (TCS);
Branche: Telekommunikation; Mobilfunk; Mobilfunknetze;komplexer Software zur Wartung heterogener Mobilfunknetze;
Test Driven Development (TDD); Continuous Integration (CI);
hierarchische Build-Systeme;Eclipse EMF zur Code-Generierung und Modell-Validierung;
Fachlichkeit:- komplexe Software zur Wartung von Mobilfunknetzen mit weltweitem
Einsatzbereich;
Herauslösung einer zugrunde liegenden Plattform (OES - Open EMS Suite)
aus dem Gesamtprodukt OSS, um diese getrennt vermarkten zu können;
- Teilbereiche unter anderem:
- Configuration Management (CM): Managed Objects Framework (MOF)
zum Management der Konfiguration komplexer heterogener (da historisch
gewachsener) Mobilfunktetze durch Metamodellierung des eigentlichen
Datenmodells und durch Erstellung von Adaptationen an die eigentliche
Netzwerktopologie (modellgetriebener Ansatz - Nodel Driven Architecture
(MDA));
- Configuration Management User Interface (CMUI):
Managed Objects Framework Desktop (MOF-D) zum Designen neuer
Netzwerktopologien bzw. von Adaptationen des Metamodels an die
physikalische Netzwerktopologie;
- Performance Management (PM)
- Fault Management (FM)
- Adaptation Manager (AM) als Top-Level Komponente, die alle anderen
vorgenannten Komponenten aufruft während eines Vorgangs des sogenannten
Adaptation Deployments, d.h. des Einspielens einer speziellen
Netzwerktopologie;
Architektur:- vielschichtige J2EE - Architektur (multi-tiered architecture) unter
Verwendung von stateful- und stateless Session-Beans, Message-Driven Beans
und Entity Beans nach EJB 2.1 und unter Benutzung des WebSphere /
Rational Application Servers (WAS, RAS);
- Generierungsansatz für Meta-Modelle aus dem UML-Modell in Rational Rose
mittels der Model-Driven Architecture (MDA);
- Code-Generierung mittels des Eclipse Modelling Framwork (EMF) aus dem
XMI-Fromat von Rational Rose;
- EMF.Edit zum Erzeugen eines Editors für das Datenmodell;
- EMF Validation Framework, um die Integrität des Modells zu jeder Zeit
gewährleisten zu können; Definition der Constraints in Rational Rose
(einfache Constraints mit Regular Expressions,
komplexe Constraints mit der Object Constraint Language (OCL));
- Weiterentwicklung, Wartung, Design und Refactoring einer komplexen
Software zur Wartung von Mobilfunknetzen (Open EMS Suite (OES));
- Dokumentation der Fachlogik und des Designs nach massivem Refactoring;
"Refactoring to patterns": Refactoring nach standardisierten J2EE-Musterns
und Architekturprinzipien wie der Trennung von Fachlichkeit und Technik,
Ausgliederung der Backend-Zugriffslogik, um z.B. eine Migration von
EJB-Entity Beans nach Hibernate erst zu ermöglichen;
Migration von JDBC / SQL - Datenbankzugriffen nach Entity-Beans und
Trennung von der Fachlogik;
- Schreiben automatisierter Tests auf allen Ebenen (Unit-Tests in JUnit4,
In-Container Integrationstests/ E2E-Tests; nach verbesserter Architektur
und Design zur Trennung von Fachlogik und Datenbankzugriffslogik
(Separation of Concerns / Trennung der Verantwortlichkeiten)
Erstellung von Off-Container Unit-Tests mit nahezu derselben
Funktionalität wie In-Container-Integrations-Tests (aber um einen Faktor
von ca. 100 schneller);
- Migrationen z.B. des Build-Prozesses von Ant nach Maven und des
Quellcode-Konfigurationsmanagements (SCM) von IBM/ Rational ClearCase UCM
nach Subversion; Anpassung des Test- und Delivery-Prozesses an die neue
Infrastruktur;
Aufgabenbereich:- Weiterentwicklung der Fachlichkeit des Configuration Management(CM)-
Deployment Controllers: Erweiterung um diverse Plausibilitätstests;
Refactoring mit dem Ziel der verbesserten Wartbarkeit und Testbarkeit
durch Einführung einer mehrschichtigen Architektur/ Designs unter
strikter Trennung von Fachlogik in POJOs (Plain Old Java Beans) und
von Infrastrukturlogik wie Datenbank- und Dateizugriffen;
Erstellung von Tests hierzu durch Einführung von nur wenigen
Dummy-Objekten (in der Regel keine Mock-Objekte) für die Infrastruktur-
komponenten;
- Dokumentation der Fachlogik als auch von Architektur und Design;
- Mitglied eines Maintenance Teams: testgetriebener Ansatz, indem vor der
Behebung von Fehlern - wenn immer möglich - zuerst ein End-to-End-Test
geschrieben wird, der den erkannten Fehler offen legt;
- Migration des Build-Systems von Ant nach Maven sowie des SCM von
IBM ClearCase (UCM) nach Subversion sowie Anpassung der zugehörigen
Delivery- und Test-Strategien: Erstellung von Maven - Projekt Objekt
Models (POMs); Testen von Branching Strategien in Subversion als
Ersatz/ Simulation von Developer-Streams (und nicht Integration-Streams)
in ClearCase;
- Integration des sogenannten O2ML-Toolkits in MOF:
Verkürzung des Zeitaufwands einer neuen Modellgenerierung des Metamodells
von mehreren Tagen auf wenige Stunden durch Erhöhung des Automatisierungs-
grades z.B. in der Code-Generierung;
- Umfangreiches Refactoring des Quellcodes und der Maven - POMs wegen
erheblich geänderter Projektabhängigkeiten; Versuch, diese sehr komplexe
Umstellung in kleinere Deliverables aufzuteilen durch Einführung
verschiedener Profile in den Project Object Models (POMs) von Maven;
- Automatisierte Überprüfung erstellter Adaptationen an physikalische und
logische Netzwerktopologien auf Plausibilitätsregeln und Konsistenzregeln
hin;
- teilweise Modellierung dieser Regeln in Rational Rose und
automatisierte Generierung des Codes hierzu;
- Benutzung des "Eclipse Modelling Frameworks (EMF)" zur automatisierten
Verifikation dieser Plausibilitätsregeln;
- Verifikation schon während des Generierungsvorgangs mittels des MOFD /
CMUI als auch später beim Deployment dieser Adaptationen mit
demselben Code;
Technische Umsetzung:- IDE: WebSphere Application Developer (WSAD) / Rational Application
Developer (RAD);
- Eclipse 3.3 Europe;
- diverse Eclipse Plug-Ins wie z.B Codehaus Maven Plug-In for Eclipse
von Polarion; Subversive SVN Team Provider; Ant 1.6.5;
Rational ClearCase Explorer;
- Application Server: IBM WebSphere / Rational Application Server
(WAS / RAS) 6.0.22; Remote Debugging;
Konfiguration skriptgesteuert (JACL) oder mittels WebSphere
Administrationskonsole;
- Design-Tool: Rational Rose;
- Datenbank: Oracle 9i; 10g Enterpreise Edition Rel. 10.2.0;
HSQLDB 1.8.0 (Hypersonic SQL DB) zum Testen;
- Datenbanktools: DbVisualizer 5.1.1;
Tool for Oracle Application Developers (TOAD);
- Datenbankzugriff: JDBC / SQL; PL/SQL; EJB 2.1 Entity Beans; Hibernate;
- Source Configuration Management (SCM):
- IBM Rational ClearCase; ClearCase UCM (Unified Change Management);
- Subversion; Tortoise SVN 1.4.4;
- Build Management Tool: Ant 1.6.5; Maven 2.0.8;
- Test Driven Development (TDD) / Test First Development (TFD):
- JUnit für Unit-Tests;
- Robot für Intgration-Tests (vergleichbar mit FIT/Fitness - Framework
for Integrated Tests, jedoch Nokia-proprietär bis 10/2007,
basierend auf Python und Jython);
- Continuous Integration: Hierarchical Build Systems mit
Bamboo, CruiseControl;
- Unit-Test Coverage Measurement: z.B. Verwendung von
Cobertura 1.9; djUnit 0.8.2;
- Skripting mit Python 2.5 und Jython 2.2;
verschiedenartigste Versicherungsprodukte;
Architektur eines "Generierungsansatzes" für diese Web Services
Aufgabenbereich:- Architektur und Implementierung von Web Services für verschiedenartigste
Versicherungsprodukte unter Verwendung des Apache Axis Frameworks;
unter anderem für ein Versicherungskombiprodukt, welches bis zu sieben
verschiedene und voneinander unabhängige Versicherungssparten beinhaltet
(BOX plus);
- Spezifikation, Definition und Implementierung eines Standard Web Service
für verschiedene Versicherungsprodukte basierend auf der Dokumentation
des zugrunde liegenden Tarifierungskerns mit einem generischen,
reproduzierbaren, und halbautomatischem Ansatz;
- automatische Generierung von XML Schemadefinitionen und WSDLs für Standard
Web Services basierend auf der Dokumentation des Tarifierungskerns unter
Beachtung bestimmter Regeln für die Geschäftslogik; Herleitung/Extraktion,
Spezifizierung und Implementierung dieser Geschäftsregeln als Bestandteil
eines neu entwickelten Werkzeugs zur Generierung von XML Schemata;
- Spezifizierung und Implementierung der verschiedenen Anwendungsfälle
(Use Cases) für die Standard Web Services wie zum Beispiel
"Angebot berechnen", "Versicherungsantrag/ Deckungsaufgabe prüfen",
"Deckungsaufgabe senden" und "Status eines Versicherungsantrags erfragen";
- Spezifizierung und Implementierung weitere Geschäftsregeln wie zum Beispiel
"Vergleich von Versicherungstarifen" oder "Überprüfung der Nutzerrechte in
Hinsicht auf verschiedene Tarifvarianten";
- Vielschichtiger Ansatz (Multi - tiered approach):
- in erster Linie Errichtung des Schicht des Web Service Anbieters im
Rahmen einer vielschichtigen J2EE-Architektur;
- aber auch Durchführung Web Service spezifischer Änderungen und
Erweiterung in der Geschäftslogikschicht (Olan Business Tier/ Layer)
wie zum Beispiel
- Web Service spezifische Benutzerauthentifizierung und -authorisierung,
oder
- Entwerfen und Befüllen von Datenbanktabellen mit geschäftspartner-
spezifischen Inhalten für jeden Versicherungsantrag;
- Entwicklung Swing-basierter and HTML-basierter Test Clients (HttpUnit);
- Anbindung dieser Standard Web Services an eine Vielzahl von
Geschäftspartnern mit verschiedenartigsten Schnittstellen, die durch
unterschiedlichste WSDLs beschrieben werden;
- Transformation der eingehenden SOAP - Requests und der ausgehenden SOAP -
Responses der verschiedenen Geschäftspartner auf die Standard-Schnittstelle
unter Benutzung von XSL Style Sheets zur Durchführung von
XML Transformationen;
- Benutzung von Web Service Handlern, um diese XML-Transformationsskripte
zur Abbildung der SOAP - Requests und - Responses aufzurufen;
- automatisierte Entscheidungslogik zur Identifizierung des geeigneten
XSLT Transformationsskripts in Abhängigkeit des Geschäftspartners,
des Anwendungsfalls, der benutzten Schnittstellenversion etc.;
- Analyse der Anforderungen der verschiedenen Geschäftspartner, die zum
Beispiel Vergleichssoftware für Versicherungstarife zur Verfügung stellen
(z.B. Morgen & Morgen) mit dem Ziel, deren Web Service-Anfragen an unseren
Standard Web Service anbinden zu können;
- Objektorientierte Analyse und Design;
- automatisiertes Testen der verschiedenen Module; JUnit Tests;
Integrationstest;
- Multi - Tiered Architektur: Web Service Konsument; Web Service Anbieter;
Olan Business-Schicht; Olan Service mit Datenbankzugriffsschicht;
Benutzer-Authorisierungs- Service / Kompetenzservice (und andere Dienste);
Tarifierungskern; Host / RAS;
- Mehrere Umgebungen / Stages:
- lokale Entwicklungsumgebung;
- Testumgebung für Entwickler (mit / ohne SOAP Firewall);
- Testumgebung für Abnahmetests;
- Produktionsumgebung;
- Kommunikation zwischen den Schichten / Layers:
- QSM (quasi - synchroner Modus mit Queues, über die die Dienste
angesprochen werden);
- EJB;
- RMI;
- Werkzeuge für Web Service Entwicklung:
- Apache Axis Framework 1.1, 1.3, 2.0;
- Werkzeuge zur Anbindung der Schnittstellen der Geschäftspartner:
- Apache Axis Handlers and Handler Chains;
- Werkzeuge für XML Transformationen: XSLT 2.0; XML Spy;
- Anwendungsserver: JBoss 4.0; Jakarta Tomcat 5.1;
- Datenbanken: Oracle 9;
- Datenbankwerkzeuge: Tool for Oracle Application Developers (TOAD) 8.3;
- IDE: Eclipse 3.1;
- Versionierungstool:
- CVS, Eclipse-Version, Kommandozeilenversion und WinCVS 1.3;
- Java Swing API für GUI Entwicklung der Web Service Test-Clients;
- Build Management mit ANT (Apache Ant 1.5);
- (halb-)automatisches Testen und Simulation mittels JUnit und HttpUnit;
- Methodiken: Test-Driven Development (TDD); Test-First Development (TFD);
- JUnit; HttpUnit (für SOAP-Test Client); EasyMock;
Erweiterung bestehender Software, die von Patentprüfern und
Formalprüfern verwendet wird
("SEA" - "Suite of Examiner Applications";
"CASEX" - "Computer Assisted Search and Examination";
"MADRAS" - "Mother of all dossier-related applications",
"CSXPRIMA" - "CASEX Print Manager",
"DAISY" - Tool für Formalprüfer zur Administration von
Tätigkeiten der Patentprüfer (Examiner Actions),
die in Backend-Systemen wie der CASTEL Datenbank
abgelegt worden sind).
Aufgabenbereich:- Analyse der Geschäftslogik, Architektur and Implementierung von
front end und von middle tier;
- Analyse und Implementierung von Änderungen im Geschäftsablauf
und von Change Requests;
- Code Refactoring hin zu einer objektorientierten und auf
Software-Patterns aufbauenden Architektur;
- Wartung; Performanceoptimierung;
- (semi-automatisiertes) Testen der verschiedenen Module;
- neben technischer Implementierung vor allem Analyse und
Modellierung der bestehenden Fachlogik; Vereinfachung und
Dokumentation derselben;
- Softwarearchitektur und -entwicklung von Front End und Middle Tier;
Code Refactoring; Change Requests; Bug Fixing;
- Coaching ehemaliger COBOL-Entwickler in Richtung J2EE-Entwicklung;
- Analyse von Änderungsanforderugen wie der "Extended European Search
Report (EESR)" oder die "European Search Opinion (ESOP)";
- Mitautorschaft und Analyse funktionaler Spezifikationen für Änderungs-
anforderungen in enger Zusammenarbeit mit Vertretern der Software-Benutzer;
- Analyse funktionaler Änderungswünsche mit Hinsicht auf Selsbtkonsistenz
und mit Hinsicht auf Konsistenz mit der übrigen Geschäftslogik wie im
Europäischen Patentübereinkommens (European Patent Convention - EPC)
spezifiziert;
- Definition von "Entschediungsbäumen" zur Bestimmung der Spezialfälle
komplexer Erweiterungen im Geschäftsablauf wie dem ESOP
(z.B.. waiver/non-waiver Fall, unity/non-unity Fall,
positive/negative Meinung des Patentprüfers,
Anwendbarkeit spezieller Regeln des Europäischen Patentübereinkommens
(European Patent Convention - EPC), ...);
- Übersetzung der funktionellen Spezifikationen in technische Spezifikationen
die mit der exisitierenden Softwarearchitektur vereinbar sind;
- schließlich Implementation der Änderungen im Geschäftsablauf und der
Change Requests im Quellcode;
- Testen der Änderungen in dem Quellcode;
Code Refactoring:
- Verbesserung der Lesbarkeit und der Wartbarkeit des Quellcodes durch
seine Restrukturierung und sorgfältige Dokumentation
(JavaDoc, Analyse-Dokumente);
- Trennung von Fachlogik und Darstellungslogik (GUI Logik) gemäß z.B.
dem "Model-View-Controller (MVC)"-Modell;
- Einführung von Software-Mustern/Patterns wie den "Gang-of-Four (GoF)"
Patterns;
- dadurch Vorbereitung des CASEX Quellcodes um die beiden Tools für
Patentprüfer, CAESAR für die Recherchephase und CASEX für die daran
anschließende Examination-Phase, zusammenzuführen im Rahmen des neuen
EPODOS Projekts;
- Refactoring and Neu-Design des gesamten Send & Replace Logik in CASEX
für das Kodieren und Senden von Examiner Actions:
- Analyse des bestehenden Codes, (Rückwärts-)Spezifikation der zugrunde-
liegenden Geschäftslogik,
- Refactoring und Neu-schreiben des bestehenden Codes, um ihn
objektorientiert zu gestalten, wartbarer, und transaktionssicherer
(z.B. im Fall von Datenbankkonnektierungsproblemen);
- Definition der Reihenfolge von Datenbankzugriffen wie z.B. MUSE/POEM,
EPASYS/PIPS, SPDB/SDMS, CASTEL;
- Definition von Statusmodellen und Modellen für Statusübergänge z.B.
für Aktions-Stati (wie ACTIVE, ACTIVE_CODED, PRINTED; CHECKED, READY,
SENT, SENT_NOT_CODED, BEING_PROCESSED, ARCHIVED, PURGED, WAITING, ...)
und "send-to-assistant (STA)" Stati, Spezifikation der zugehörigen
erlaubten Statusübergänge als Teil der Spezifikation der zugrunde-
liegenden Geschäftslogik;
- Design & Implementation eines "File Synchronizers" für automatisiertes
Update, Versionierung und Administration einer großen Anzahl von Ressourcen
wie Formularvorlagen oder Action-Description-Files auf den Client-PCs;
- Reines Java/J2EE-Projekt; Multi-Tiered Approach;
- DB: Anbindung mind. 4 verschiedener IBM DB2 Datenbanken mittels CICS (IBM);
- DB-Tool: iSeries Navigator;
- IDE: Eclipse 3.0; IBM WebSphere Application Developer 5.0/5.1 (WSAD 5.0/5.1)
- Versionierungstool: CVS, Kommandozeilenversion und WinCVS 1.3;
- Sonstige: Java Swing API für GUI;
- Buildmanagement mit ANT (Apache Ant 1.5);
- Automatisiertes Testen mit JUnit und HtmlUnit;
- Projektmanagement Techniken: Prince2
Printus Versandhandel Offenburg;
Branche: Logistik, VersandhandelLogistik-Zentrum; Softwarearchitektur und -entwicklung;
Vor allem serverseitige Architektur und Entwicklung der Paketplanung und -optimierung,
der Reihenfolgeoptimierung, der Pickplanung, der Kommissionierung,
der Bestands- und Bedarfsrechnung sowie der Transport- und Nachschubsteuerung;
serverseitige Funktionalität für PDAs/MDAs (z.B. auf Gabelstaplern);
Performanceoptimierung; Testen der verschiedenen Module;
Technische Umsetzung: Reines Java/J2EE-Projekt basierend auf dem EJB2.0 Standard,
d.h. Verwendung von Stateless Session Beans (Session Facades und Manager Beans),
CMP-Entity-Beans zur objektrelationalen Abbildung der DB2-Datenbank und
Message-Driven Beans zur Anbindung der Fremdsysteme wie MFR (Materialflußrechner)
und KAF (Kaufmannisches System);
Zerlegung zeitlich längerer Optimierungsalgorithmen in atomare Transaktionen;
Vermeidung von Locks; Performanceoptimierung;
Wiederaufsetzbarkeit der Algorithmen (z.B. nach Serverabsturz o.ä.);
Cross-Platform-Development, d.h. Entwicklung auf Windows 2000-PCs und Deployment auf
IBM-iSeries/AS400-Servern;
Java Swing GUI-Programmierung;
Application Server: IBM WebSphere 5.0.2;
CASE-Tool: Innovator 8.0 von MID;
Model Driven-Architecture (MDA)-Ansatz.
DB: DB2 auf iSeries/AS400 und auf Microsoft Windows Servern; MS-SQL-Server
DB-Tool: iSeries Navigator; WinSQL;
IDE: IBM WebSphere Application Developer 5.0 (WSAD5.0);
JBuilder 8.0.
Versionierungstool: CVS, Kommandozeilenversion und WinCVS 1.3;
Sonstige: Java Swing API für GUI; Velocity(v1.3)-Framework vom Apache Jakarta Projekt
für Model-View-Controller (MVC)-Web Entwicklung; Servlet API 2.2;
Buildmanagement mit ANT (Apache Ant 1.5);
Automatisiertes Testen mit JUnit und HtmlUnit;
für den Versandhandel; Teilgebiete:
Auftragsmanagement (AM),
Customer Relationship Management (CRM),
Katalog- und Sortimentsplanung (KS),
Debitorenbuchhaltung (DBH),
Lagerverwaltungssystem (LVS)
Vor allem Entwicklung des Auftragsmanagers unter Java/J2EE.
CASE-Tool: OOA/OOD und ER/OO-Mapping mittels des Innovators 6.0 von MID
mit einem Plug-In namens iQgen 1.0 von innoQ;
Model Driven-Architecture (MDA)-Ansatz.
DB: Microsoft SQL Server.
DB-Tool: iSeries Navigator; WinSQL;
IDE: JBuilder.
Versionierungstool: CVS, Kommandozeilenversion und WinCVS 1.3;
Sonstige: Performance Analysing & Tuning mit Sitraka JProbe 4.0;
Java Swing API für CRM-GUI;
Bulidmanagement mit ANT (Apache Ant 1.5);
Automatisiertes Testen mit JUnit;
Automatisierte Generierung von PDF-Dokumenten mittels FOP 0.20.4
(XSL Formatting Object Processor in Java vom Jakarta XML-Projekt);
Zeitraum: 09/2002
Methoden, objektorientiertem Design, Grundzüge von UML und Java
für einen Kunden im Bereich der mobilen Kommunikation;
Erstellung der Softwarearchitektur;
zeitweilig technische Projektleitung;
Technische Umsetzung: J2EE (Java 2 Enterprise Edition) basierte Applikation mitIMAP4/SMTP- und LDAP-Unterstützung Unterstützung (LDAP-Benutzerverwaltung);
Anbindung eines E-Link Systems mit Tuxedo von BEA Systems (Middleware);
LDAP-Konnektoren mit automatisiertem Mapping zwischen LDAP-Object classes
und Java-Objekten (JNDI API 1.2; Netscape Directory SDK 4.1 for Java API);
Performanceoptimierung des Directory Zugriffs;
Oracle-Konnektoren (JDBC API 3.0); JDBC API 3.0, SQL;
Verwendung von Java-Servlets, JSP und Tag-Libraries im MVC-Modell;
JavaMail API; XML/JAXB; diverse Design Patterns; Multithreading und
Thread-Safety; Lasttests; Tcl/Tk; Verwendung diverser Java Design Patterns;
Objektorientierte Modellierung und Design mit UML (Together 4.2);
Design der LDAP-Schemata; ER - Modellierung;
Entwicklungsumgebung (IDE): Forte for Java 3.0 Enterprise Edition
mit J2EE/EJB/JSP-Unterstützung;
Realisierung und Installation auf Sun Solaris 8, iPlanet WebServer 6,
iPlanet Messaging Server 5, iPlanet Application Server 6 und
iPlanet Directory Server 5.1 (LDAP-Server);
Wertpapiertrans-aktionen über die Trademiles Kooperationspartner
Bonuspunkte gutgeschriebenwerden, die gegen Prämien eingelöst
werden können.
Entwicklungsumgebung: JBuilder;
Realisierung in Java; JavaMailAPI und Installation auf Sun Solaris 8.
Beratung des Kunden;
Erstellung eines E-Commerce WebSite für Bucher-Reisen, welche dem
Einzelkunden u.a. ein Reiseinformations- und Buchngssystem zur Verfügung
stellt (URL: http://www.bucher-reisen.de);
Technische Umsetzung: Anbindung eines Buchungssystem (PHOENIX) und
einer Reisedatenbank auf AS/400 mittels der IBM JavaToolBox (jetzt
JTOpen2.0.2); erste Version mittels Java-Servlets, PHP3 und JavaScript
(online 11/99), danach mittels WebObjects-Application Server und
RMI - IIOP (online 4/01) unter Java;
Realisierung und Installation auf Sun Solaris 7/8 und
WebObjects 4.5.1 mit Apache Jserv/Tomcat und PHP3;
Hintergrundprozesse (UNIX-daemons) in Java;
Durchgeführte Datenbankmigrationen von Oracle nach DB2 und MySQL.
Management Systems für Internet Portale und Intranets.
Version 1 und 2 mit PHP und Servlets, Versionen 3 und 4 mit Java
unter WebObjects 4.0 - 5.0; Frontend-Funktionaltät für Version 2
(Darstellung von Foldern und Links in Baumstruktur mittels
Java-Servlets, JavaScript); Administrationstool für Versionen
3 und 4 (Benutzer-/Gruppenverwaltung) unter Benutzung von
WebObjects 4.5 und dem dort integrierten EOModeller zur
objektorientierten Modellierung von Datanbanken;
mit Monte-Carlo-Simulationen (z.B.Hypothesentests zur Feststellung
von Mischungsverteilungen); optimale Versuchsplanung im Bereich der
statistischen Qualitätskontrolle; hierbei Verwendung ausschließlich
von Unix-Maschinen (Linux-PC (dual CPU; Redhat-Linux); Sun Ultra
Sparc-WorkStations; Parallelrechner von HP mit vier Knoten zu je
vier Prozessoren (HPSPP-Hewlett Packard Scalable Parallel Processing);
Implementierung komplexer statistischer und numerischer Algorithmen
in Fortran/ C++; umfangreiche Nutzung von Unix-Skripten und des NQS
zur Ablauf-steuerung der Simulationsrechnungen
mit/ohne Treibhauseffekt; Analyse von ca. 0.2 Terabyte an
Klimadatenfeldern auf den Simulationsrechnern und Fileservern des
Deutschen Klimarechenzentrums (DKRZ) unter Nutzung des
"Network Queuing Systems (NQS)";
UNIX-Shell-Programmierung (tc-shell); Fortran-Programmierung;
graphische Datenaus-wertung;
am Fachbereich Informatik, Uni Hamburg, Arbeitsgruppe kognitive Systeme;
Titel: [auf Anfrage]
im Bereich math. Statistik und medizinischer Bildverarbeitung;
und internationalen Behörden;
- Prince2 Projektmanagement-Methodikenunter Benutzung von CASE_Tools wie Argo/UML, Together,
Innovator 8.0 von MID (mit iQgen Plug-Ins); Rational Rose;
zur UML-Modellierung und Erstellung von UML-Diagrammen
(UML: Unified Modelling Language);
- Multi-Tier-Architektur und Entwicklung:MVC-Modell (Model-View-Controller); Java EE; Java Server Faces (JSF);
Java-Servlets, EJB und Java Server Pages (JSP) oder WebObjects 5.0;
Struts, Velocity und ähnliche Frameworks;
- Model Driven Architecture (MDA)- EMF (Core) zur Code-Generierung aus dem XMI-Modell
(letzteres z.B. aus Rational Rose exportiert);
- EMF.Edit zum Erzeugen eines Editors für das Datenmodell
- EMF Validation Framework, um die Integrität des Modells zu jeder Zeit
gewährleisten zu können; Definition der Constraints in Rational Rose
(einfache Constraints mit Regular Expressions, komplexe Constraints
mit der Object Constraint Language (OCL));
- Eclipse Rich client Platform (RCP);Servlets, Applets; J2EE, JSP, EJB, Tag-Libraries;
RMI over IIOP, CORBA, CORBA-IDL (open OMG-standards);
Verzeichnisdienste (z.B. LDAP) mittels JNDI 1.2 API oder
Netscape Directory SDK 4.1 for Java API;
Enterprise Objects Framework (EOF),
Regular Expressions unter Unix, Java und Perl;
Network Queuing System (NQS);
Source Configuration Management (SCM) Systems:
- CVS (Concurrent Version System; z.B. WinCVS),
- SubVersion,
- ClearCase (UCM),
- Serena Dimensions;
Objekt/Relationales-Mapping- und Persistenz-Frameworks wie
Hibernate, EJB-CMP unter J2EE, Java Data Objects (JDO),
Java Persistence API (JPA),
Castor JDO,
Enterprise Objects Framework (EOF) von WebObjects etc.;
Transaktionsmanagement; Zerlegung komplexer, langlaufender
und zeitkritischer serverseitiger Algorithmen in einzelne
Transaktionen mit dem Ziel der Performance-Optimierung,
der Wiederaufsetzbarkeit und der Deadlock-Vemeidung;
UseCase-Modellierung mit UML2.0;
Applikationsserver:IBM (Rational) WebSphere WAS;
JBoss;
Oracle/BEA WebLogic Server;
Sun GlassFish Enterprise Server;
iPlanet / SunONE Application Server;
WebObjects; JServ/Tomcat;
weitere Server-Software:diverse SunONE / iPlanet Server
(SunONE / iPlanet WebServer,
SunONE / iPlanet Messaging Server,
SunONE / iPlanet Application Server und
SunONE / iPlanet Directory Server (LDAP-Server));
Tomcat/JServ;
Skript/Shell-Programmierung;
Systemprogrammierung in C;
Verwendung als Web-, Application-, Mail-, LDAP- oder DB-Server;
Deployment von serverseitigen Anwendungen;
Abrufen von Services oder zur Produktion komplexer serverseitiger
Algorithmen auf einem Applikations-Server wie IBM WebSphere 5.0;
Verwendung v.a. als Entwicklungs- und Testbetriebssyteme für
Cross-Platform-Development;
Deployment i.d.R. auf UNIX-Maschinen oder IBM-iSeries;
z.B. für komplexe serverseitige und/oder webbasierte Anwendungen;
diverse APIs (JavaMail 1.2 API; RMI-Server/Clients);
Servlets (Servlet 2.2 API; Servlet-basierte Internetdienste und Portale);
Applets; JFC, AWT (Abstract Windowing Toolkit), Swing;
J2EE v. 1.4 / J2SE v. 1.4.0;
EJB 2.3 (BMP/CMP Entity Beans, stateful/stateless Session Beans,
Message-driven Beans); EJB Design Patterns nach Marinescu;
JSP, Tag-Libraries, Custom Tags;
XML/JAXP 1.1 API (Java API for XML Processing);
XML/SOAP (Simple Object Access Protocol);
SAX2 (Simple API for XML);
XSLT (Extensible Stylesheet Transformations);
Datenbankzugriff mittels JDBC 3.0 API;
Directoryzugriff (LDAP) mittels JNDI 1.2 API
(Java Naming and Directory Interface) oder
Netscape Directory SDK 4.1 for Java API;
JMS 1.02 API (Java Message Service);
JINI 1.1 API (Java Intelligent Network Interface); JavaSpaces;
MVC-Modell (Model-View-Controller);
Mehrschichtige Architekturen (Multi-tiered approach); EAI;
(Creational, Behavioral, Structural) Design-Patterns;
Struts-Bibliothek vom jakarta-Projekt;
Multithreading, Thread-Synchronization und Thread-Safety;
Application-Server wie IBW WebSphere 5.1 / IDE: WSAD 5.0,
WebObjects 5.0, SunONE / iPlanet Application Server 6.0,
JBoss 3.0;
Transaktionsmanagement; Zerlegung komplexer, langlaufender
und zeitkritischer serverseitiger Algorithmen in einzelne
Transaktionen mit dem Ziel der Performance-Optimierung,
der Wiederaufsetzbarkeit und der Deadlock-Vemeidung;
JProbe (Java Profiling Tool);
JUnit (XUnit testing framework for Extreme Programming (XP));
Javadoc (Java API Documentation Generator);
RMI over IIOP; CORBA; CORBA-IDL (open OMG-standards);
u.a.;
C/C++: akademischer Schwerpunkt in medizinischer Bildverarbeitung;UNIX-Schnittstelle und UNIX-Systemprogrammierung in C;
Pascal, Fortran:wissenschaftliche Programmierung an der Uni;
statistische Qualtitätskontrolle;
Entwicklung statistischer Testverfahren;
Auswertung von globalen Klimamodellen über einen Simulations-
zeitraum von 100 Jahren;
HTML, PHP 3 und 4, CGI Programierung mit PERL und mod_perl, JavaScript,bash, tcsh, csh, korn-/bourne-shell (v.a. unter Solaris);
weitere Tools: PERL, Tcl/Tk; yacc/lex, Python;Visual-C++; (Visual-)Basic;
Stored Procedures unter Oracle;
Tools: Tool for Oracle Application Developers (TOAD);
iSeries Navigator; WinSQL;
Enterprise Objects Framework (EOF) von WebObjects,
Hibernate, EJB-CMP unter J2EE, Java Data Objects (JDO),
Castor JDO etc.;
selbst geschriebene Datenbankkonnektoren unter JDBC;
OO-Modellierung von Datenmodellen einer Datenbankmittels des EOModellers von WebObjects oder selbst geschriebener
Datenbankkonnektoren unter JDBC;
Benutzung von Directory Servern wie dem SunONE / iPlanet Directory
Server 5.1 (IDS 5.1);
Datenkommunikation;
von AS/400-Zugriffen vom Web-/Applicationserver auf die AS/400 selbst;
Übergabe von Java-Objekten von der AS/400 an Web-/Application-Server
(Sun e250), die als RMI-Client fungieren (RMI over IIOP).
von AS400 mit anderen Rechnern und zum Abrufen von Diensten auf einer
AS400/iSeries, z.B. (Keyed)DataQueues.
und Internet-MailServern.
Web-, Application-, Message-, LDAP- oder Datenbank-Server;
Wartung entsprechender Dienste;
Skriptprogrammierung (cron-Daemon);
wie z.B. (Keyed)DataQueues;
E-Mail-Zugangsdienst für Handys, MDAs, PDAs;
Europäische I-Mode Implementation;
Managementsysteme für Mobilfunknetze;
Online Mobilfunk-Tarifvergleichsysteme;
Touristik: Last-Minute-Anbieter, Internetreiseanbieter;Pauschalreiseanbieter;
Banken: Wertpapierhandels- und Bonussystem; Finanzmathematik;Middleware für Online-Banken, Direktbanken;
Schweizer Privatbank im SMI;
Logistik, Versandhandel: Lagerverwaltungssystem (LVS);Entwicklung einer Versandhandels-Komplettlösung;
Frachtkostenoptimierung; Transportwegoptimierung;
Reihenfolgeoptimierung; Transport- und Nachschubsteuerung;
Bestands- und Bedarfsrechnung; Kommissionierung;
Auftragsmanagement; Customer Relationship Management (CRM);
Katalog- und Sortimentsplanung (KS); Debitorenbuchhaltung (DBH);
Logistik / Auftragsbearbeitung und Transportplanung:Transport-Informations-Plattform (TIP);
Versicherungen, KFZ-Leistungabteilung, Krankenvers.-Leistungsabteilung:z.B. Datenbank mit allen LKW-Schadensfällen der EDEKA-Kette;
Versicherungsmathematik, Versicherungsstatistik;
WebServices / SOA für Versicherungsanträge;
Bildverarbeitung: medizinische Bildverarbeitung, Bildregistrierung,Merkmalsextraktion, spez. Landmarkenextraktion;
Kantendetektion; Anpassung parametrischer deformierbarer Modelle;
lokale vs. globaler Optimierung;
Qualitätskontrolle: statistische Testverfahren, Hypothesentests,Test auf Vorliegen von Mischungsverteilungen;
Monte-Carlo-Simulation; Erzeugung von Pseudo-Zufallszahlen;
Meteorolgie, Klimaforschung: Auswertung von globalen Klimamodellenüber ca. 100 Jahre zur Vorhersage des Treibhauseffekts;
Datenmodellierung; graphische Auswertung;
Deutschland: bevorzugt Bereich D2, insb. Hamburg;
Transport-Informations-Plattform (TIP);
Branche: Logistik: Auftragsmanagemengt, Transportplanungmehrschichtigen J2EE - Awendungen; automatisierte Komponenten - Versionierung; Konfiguration von Continuous Integration (CI) - Tools wie CruiseControl (CC);
Branch-Planung;
Fachlichkeit:- Erstellung einer Transport-Informations-Plattform (TIP) zum Erfassen und
Bearbeiten von Aufträgen und zu deren Einplanung in Transporte;
- fachlich komplexe Logistik-Anwendung mit unter anderem dem Ziel der
Nutzung der Synergien zwischen den ca. acht verschiedenen Logistik-
Netzwerken der Post (z.B. Schnelläufernetz SLN oder Express-
Logistikknetz ELN);
- Teilgebiete und damit Teil-Teams: Aufträge, Transporte, Stammdaten,
Standorte, Framework, Test (Testdaten-Generierung,
JUnit-Testabdeckung;Test-Review etc.), Build, Datenbanken;
- Mitglied im Test-Team und dabei Generierung von Test-Daten für Intuitiv-Tests
und Evaluations-Tests / Abnahmetests;
- Einarbeitung in das komplette Datenmodell: Aufträge (einzeln, regelmäßig),
Transporte, Standorte, Leitstrukturen, Geschwindigkeitsprofile,
Kostenberechnungsmodelle, Bereiche, Transportprodukte, Transportmittel,
Benutzer und Benutzergruppen mit verschiedensten Rollen als
Zuständigkeitsprofile; weitere Stammdaten;
- Zuordnungstabellen diverser Stammdaten;
- hierarchische Datenstrukturen, z.B. ein hierarchisches Berechtigungskonzept
mit einer Vielzahl von Verantwortungarten: Verwendungs-, Verwaltungs-,
Planungs-, Umsetzungsverantwortung;
- Aufdecken vom Inkonsistenzen und Weiterentwicklung des Datenmodells in ARIS;
- Weiterentwicklung des Testdaten-Generators:
- Umsetzung des kompletten Datenmodells in ein XML-Schema;
- Transformation der EXCEL-Testdaten nach XML in das vordefinierte
XML-Schema z.B. mittels Java-Parsern unter Verwendung des Apache
POI Projekts (POI-HSSF und POI-XSSF) oder mittels Excel-Makros (in
einfacheren Fällen);
- Überprüfung der generierten Testdaten auf Schema-Konformität;
- Transformation der XML-Testdaten in ein Zwischenformat mittels der XML
Query Language (XQuery);
- Übersetzung der Testdaten im Zwischenformat in das Java-Objektmodell mit
Hilfe des Java Reflection - API;
- Persistierung der Testdaten mittels Hibernate-Mappings aus dem existierenden
Code der Transport-Informations-Plattform(TIP)-Anwendung heraus;
Technische Umsetzung:- Erstellung der Transport-Informations-Plattform als Rich Client-Anwendung
mit Eclipse RCP sowie mit einer serverseitigen Komponente (unter JBoss 5);
- automatisierter Datenbankabgleich zwischen der lokalen Derby-Datenbank
des Rich Clients sowie der Oracle-Datenbank des Servers; Zielsetzung
dabei: zentrale Datenhaltung der Daten, die für alle Anwender sichtbar
sein müssen, jedoch die möglich für einen Client, eine Zeit lang autonom
(d.h. ohne Netzwerkverbindung) arbeiten zu können;
- Eclipse RCP (Rich Client Platform)
- Eclipse Equinox als OSGi Implementierung zum Management der
Komponenten / Plug-Ins;
- Eclipse Plug-In Development: GUI Plug-Ins und Plug-Ins mit reiner Fachlogik;
Verwendete Tools:- Java 6
- Entwicklungsumgebung (IDE): Eclipse 3.4 (Ganymed) mit diversen Plug-Ins
z.B. zum Versionsmanagement mit Serena Dimensions;
- Eclipse Equinox als OSGi - Implementierung zur dynamischen
Komponentenverwaltung sowie zur Verwaltung ihrer Abhängigkeiten;
- GUI-Entwicklung mit Eclipse RCP (Rich Client Platform):
Standard Widget Toolkit(SWT)-Programmierung;
- Datenbanken: Oracle Server-seitig sowie Derby Client-seitig;
automatisierter Datenbankabgleich zwischen der Derby-Datenbank des
Rich-Client sowie der server-seitigen Oracle-Datenbank;
- Datenbanken-Anbindung (O/R-Mapper): Hibernate;
- Datenbank-Tools: Squirrel, TOAD, Oracle Developer;
- Application-Server: Server-seitige Komponente unter JBoss;
- Versionsmanagement (SCM): Serena Dimensions;
- Build-System: Ant 1.7.1;
- Unit-Tests: JUnit4 sowie Tools zum Bestimmen der Testabdeckung wie Cobertura;
mehrschichtigen J2EE - Awendungen; automatisierte Komponenten - Versionierung;
Konfiguration von Continuous Integration (CI) - Tools wie CruiseControl (CC);
Branch-Planung;
Fachlichkeit:- Software zum Betreiben einer Direktbank mit mehrschichtiger (multi-tiered)
J2EE- Architektur mit verschiedensten Clients z.B. für Internetanwendungen,
Call-Center, Beschwerde-Management ("Turn Friedly"), Middle-Tier mit
Fachlogik ("Middleware-Services (MWS)") und verschiedenste Backend-Systeme
wie relationale Datenbanken (Oacle 9i/10i), Schufa-Auskunftssysteme,
Kordoba ("Kundenorientiertes Dialog-system für Bankgeschäfte", nun Core24),
PIN-TAN etc.;
- Build-, Konfigurations-, Versionierungs-, Deployment- und Release-Management
vor allem für den Middle-Tier ("Middleware - Services (MWS)") in voll
automatisierter Form;
- Erstellung von Build-Tools zur Unterstützung der eben genannten Aspekte für
alle anderen Projekte, insbesondere für die verschiedenen Clients;
- Dokumentation, Pflege und Weiterentwicklung der bestehenden Systeme;
- Branch-Planung und -Durchführung zur Unterstützung des Release-Managements;
- Administration und Installation von Entwicklungs- und Testsystemen,
insbesondere der dortigen Anwendungsserver IBM Websphere 6.0.22 und
JBoss 4.3;
Projektaufgabe:- Pflege des XML " basierten Konfigurations-Repositories zur Darstellung aller
möglichen Kombinationen von Konfigurationen z.B. des Middle-Tiers und aller
möglicher Backend-Systeme für die verschiedenen SCM-Branches und Zielsysteme
als Grundlage für das vollautomatisierte Deployment und Archivierung /
Release mit dem Ziel der Revisionssicherheit;
- automatisiertes Erzeugen von Konifugrationsdaten anhand des Konfigurations-
Repositories mit dem Ziele des automatisierten Deployments wahlweise auf
IBM Websphere 6.0.22 oder auf JBoss 4.3. Anwendungsservern (wahlweise mit
mehreren Clustern, Nodes und / oder Profiles);
automatisiertes Generieren / Anpassen von JACL-Skripten zum Generieren von
Backend-Anbindungen unter IBM Websphere;
- automatisiertes Deployment auf verschiedenen Typen von Anwendungsservern und
automatisierte Erfolgskontrolle des Deployments (z.B. mit JACL-Skripten für
IBM WebSphere und MBeans/twiddle-Skript für JBoss oder einfacher durch
Abfrage von URLs der deployten Anwendung);
- Branching " Strategien zur Unterstützung des Release " Managements;
Aufsetzen von Branches und zugehörigen Software-Repositories für das
Dependency-Management (mittels Apache Ivy);
- Einrichtung und Konfiguration von Werkzeugen für die kontinuierliche
Integration ("Continuous Integration - CI") wie CruiseControl (CC);
Pflege dieser Tools wie z.B. Einrichtung von Cron-Jobs zum Archivieren von
Log-Dateien (automatisiertes Verhindern von Plattenübrläufen);
- Automatisierungsansätze bei der Qualitätskontrolle:
- JUnit-basierte Tests teilweise mit dem Charakter von Integrationstests;
- JUnit-Testabdeckung (test coverage) z.B. mit Cobertura;
- automatisiertes Ausführen von Defekt-Detektoren wie PMD;
- JavaDoc Generierung;
- automatisiertes regemäßiges Deployment wahlweise auf IBM WebSphere 6.0.22
oder auf JBoss 4.3;
- Verwendung von JDiff zur automaisierten Dokumentation von Unterschieden
zwischen Releases;
- Abhängigkeits-Management:
- Verwendung von Tools wie Apache Ivy zum atomatisierten
Dependency-Management des Middle-Tiers, der sich aus ca. 65 Teilkomponenten
und vielen Third-Party-Libs zusammensetzt;
- automatisierte Bestimmung der Kompilierungsreihenfolge (build order)
gemäß der vorgegebenen direkten Abhängigkeiten;
- automatisertes Erstellen von Abhängigkeitsgraphen (dependency graphs);
- automatisiertes Build der Middleware Services MWS gemäß verschiedenen
Entwickler-Rollen entsprechend den verschiedenen Typen von Komponenten
der MWS:
- Entwickler des technischen Kernsystems T-Core (technical core);
- Entwickler des fachlichen Kernsystems B-Core (business core);
- Entwickler von Backend - Adaptoren;
- Entwickler von Domänen wie z.B Kredit, Baufi, Spar;
- Unterstützung von Builds von Teilsystemen der Middleware Services z.B.
mit nur bestmmten Domänen;
- Publizerung und Archiverung der Ergebnisse des Build-Vorgangs:
- sowohl der deploybaren Artefakte wie .ear-Dateien,
- der umgebungsabhängigen Konfigarationsdateien je zulässiger Deployment-
Konfiguration und je Zielsystem
- als auch von Zusatzdaten wie JDiff - Reports zur Dokumentation des
jeweiligen Releases;
- Generierung und Publizierung von Artefakten nur für Clients der MWS;
- automisierte Auswertung von Doclets zur Zugriffskontrolle und Dokumentation,
welche Clients auf welche MWS - API Funktionen zugreifen dürfen;
Dokumentation in Form von generierten HTML-Dokumenten;
- Versions-Management: Erweiterung der automatiserten Versionierung:
- Major- und Minor-Version-Number des Gesamtprodukts Middleware Services
(MWS);
- Erhöhung der Major-Version-Number nur bei Schnittstellenänderungen für
die die MWS aufrufenden Clients-,
- bis zu vierstellige automatisierte Versionierung der Einzelkomponenten
der MWS:
- erste Stelle: Schnittstellen-Änderungen für Client-Zugriffe für
MWS-Client - Komponenten;
- zweite Stelle: sonstige Code-Änderungen;
- dritte Stelle: Äderungen in Konfigarationsdaten;
- vierte Stelle: Änderungen von direkten Abhängigkeiten oder in
Komponenten, zu denen (direkt oder transitiv) Abhängigkeiten bestehen;
- Erweiterung des Versionsmanagements mit dem Ziel der automatisierten
Berücksichtigung von Branches:
- Einführung Branch-unabhängiger, globaler Versionsnummern und damit
Einführung Branch-unabhängiger, globaler Versionsrepositories für das
Abhängigkeits-Managementsystem Apache Ivy;
- damit Ermöglichung eines wirklich komponentenbasierten Builds;
- Erstellung und Erweiterung von Build-Skripten für den Build-Server, die
den Gesamtprozess des Builds ohne weitere Benutzerinteraktion durchführen
können nach anfänglicher Eingabe aller Daten;
- Bestandteile des Gesamt-Build-Vorgangs:
- eigentlicher Build: Erstellung der deploybaren Artefakte gemäß
automatisiert bestimmter Build-Reihenfolge;
- Konfiguration: Erzeugung der umgebungsabhängigen Konfigurationsdateien
aus zugehörigen Templates für alle zulässigen Zielsysteme gemäß
Konfigurations-Repository für den gegebenen Branch, die gegebene
Anwendung etc.;
- Versionierung: automatisiertes Bstimmen der Versionsnummern für das
Gesamtsystem als auch für alle Einzelkomponenten in reproduzierbarer
und damit revisionssicherer Form;
- Release / Archivierung: Archivierung der erzeugten deploybaren Artefakte,
der Konfigurationsdaten für alle zulässigen Konfigurationen und
sämtlicher Metadaten wie automtisch generierten Release-Dokumentationen
(z.B JDiff zur Dokumentation der Differenzen zwischen zwei Releases);
- Deployment des Systems gemäß gegebenen Konfigurationsdaten auf den
entsprechenden Applikations-Servern; Erfolgskontrolle des Deployments;
- Pflege von Bibliotheksarchiven wie der "cmmonlib" und Unterstützung des
Zugriffs hierauf mttels Apache Ivy;
- Unterstützung der IDE wie Eclipse durch automatisiertes Generieren der
.classpath Files gemäß der Ergebnisse der Abhängigkeitsanalyse mit
Apache Ivy;
- Beratung und Unterstützung der Entwickler beim lokalen Build als auch
beim Build-Vorgang auf dem Build-Server;
- Koordinierung mit dem Betriebsteam von Praxis- und Qualitätssicherungs(QS)-
Servern zum Zwecke der Vereinheitlichung der Vorgehensweisen;
Technische Umsetzung:- reines Java/J2EE-Projekt mit Java 1.4.2 und Java 1.5.0.12;
- IDE: Eclipse 3.3 Europa und Rational Application Developer (RAD);
- SCM (Source Configuration Management): CVS (Concurrent Version System);
Wechsel auf SubVersion geplant; Tools wie Tortoise CVS;
- Backend-Systeme: relationale Datenbanken wie Oracle 9i / 10i;
TOAD (Tool for Oracle Application Developers);
- Application-Server: IBM WebSphere 6.0.22 (typischerweise mit einem Node,
zwei Clustern und je zwei Server-Instanzen je Cluster);
- JBoss 4.3 (typischerweise mit je zwei Profilen);
- unterschiedliche Profiltypen für Clients und für den Middle-Tier;
- Buildmanagement mit Ant 1.6.5 und Ant 1.7.1;
diverse Ant-Libraries wie Ant-Contrib;
- Dependency-Management mit Apache Ivy;
- JUnit zum Erstellen automatisierter Tests (auch mit Backend-Anbindung);
- Cobertura zum Bestimmen der Testabdeckung des Codes;
Mobilfunktarife anhand der Einzelverbindungsnachweise;;
Projektaufgabe:- Entwicklung von Parsern für Mobilfunk - Einzelverbindungsnachweise
im PDF - Format oder als CSV - Dateien (z.B. für nationale Provider wie
Debitel, E-Plus, Mobilcom, O2, Talkline, T-Mobile, Vodafone);
- Umwandlung der PDF - Daten in generische DataRecord - Formate zur
anschließenden Weitergabe an das Tarif - Optimierungsmodul;
- Erweiterung des internen Datenmodells zur Darstellung der verschiedensten
Verbindungstypen und Arten (z.B. ConnectionType; InvoiceConnectionType;
CallDetailRecord; DetailRecordType; ShortMessageType;
Abstract-, Call-, Data-, Messaging-DetailRecord);
Technische Umsetzung:- IDE: Eclipse 3.3 Europe; diverse Eclipse Plug-Ins wie z.B Codehaus
Maven Plug-In for Eclipse; Subclipse für SubVersion-Anbindung;
- Application-Server: JBoss mit EJB 3.0;
- Build-System: Ant, Maven;
- Datenbank: MySQL;
- Source Configuration Management (SCM): Subversion;
- Tools: PDF Toolbox und diverse andere PDF - Parsing - Tools (ICE-Parser);
Tata Consultancy Services (TCS);
Branche: Telekommunikation; Mobilfunk; Mobilfunknetze;komplexer Software zur Wartung heterogener Mobilfunknetze;
Test Driven Development (TDD); Continuous Integration (CI);
hierarchische Build-Systeme;Eclipse EMF zur Code-Generierung und Modell-Validierung;
Fachlichkeit:- komplexe Software zur Wartung von Mobilfunknetzen mit weltweitem
Einsatzbereich;
Herauslösung einer zugrunde liegenden Plattform (OES - Open EMS Suite)
aus dem Gesamtprodukt OSS, um diese getrennt vermarkten zu können;
- Teilbereiche unter anderem:
- Configuration Management (CM): Managed Objects Framework (MOF)
zum Management der Konfiguration komplexer heterogener (da historisch
gewachsener) Mobilfunktetze durch Metamodellierung des eigentlichen
Datenmodells und durch Erstellung von Adaptationen an die eigentliche
Netzwerktopologie (modellgetriebener Ansatz - Nodel Driven Architecture
(MDA));
- Configuration Management User Interface (CMUI):
Managed Objects Framework Desktop (MOF-D) zum Designen neuer
Netzwerktopologien bzw. von Adaptationen des Metamodels an die
physikalische Netzwerktopologie;
- Performance Management (PM)
- Fault Management (FM)
- Adaptation Manager (AM) als Top-Level Komponente, die alle anderen
vorgenannten Komponenten aufruft während eines Vorgangs des sogenannten
Adaptation Deployments, d.h. des Einspielens einer speziellen
Netzwerktopologie;
Architektur:- vielschichtige J2EE - Architektur (multi-tiered architecture) unter
Verwendung von stateful- und stateless Session-Beans, Message-Driven Beans
und Entity Beans nach EJB 2.1 und unter Benutzung des WebSphere /
Rational Application Servers (WAS, RAS);
- Generierungsansatz für Meta-Modelle aus dem UML-Modell in Rational Rose
mittels der Model-Driven Architecture (MDA);
- Code-Generierung mittels des Eclipse Modelling Framwork (EMF) aus dem
XMI-Fromat von Rational Rose;
- EMF.Edit zum Erzeugen eines Editors für das Datenmodell;
- EMF Validation Framework, um die Integrität des Modells zu jeder Zeit
gewährleisten zu können; Definition der Constraints in Rational Rose
(einfache Constraints mit Regular Expressions,
komplexe Constraints mit der Object Constraint Language (OCL));
- Weiterentwicklung, Wartung, Design und Refactoring einer komplexen
Software zur Wartung von Mobilfunknetzen (Open EMS Suite (OES));
- Dokumentation der Fachlogik und des Designs nach massivem Refactoring;
"Refactoring to patterns": Refactoring nach standardisierten J2EE-Musterns
und Architekturprinzipien wie der Trennung von Fachlichkeit und Technik,
Ausgliederung der Backend-Zugriffslogik, um z.B. eine Migration von
EJB-Entity Beans nach Hibernate erst zu ermöglichen;
Migration von JDBC / SQL - Datenbankzugriffen nach Entity-Beans und
Trennung von der Fachlogik;
- Schreiben automatisierter Tests auf allen Ebenen (Unit-Tests in JUnit4,
In-Container Integrationstests/ E2E-Tests; nach verbesserter Architektur
und Design zur Trennung von Fachlogik und Datenbankzugriffslogik
(Separation of Concerns / Trennung der Verantwortlichkeiten)
Erstellung von Off-Container Unit-Tests mit nahezu derselben
Funktionalität wie In-Container-Integrations-Tests (aber um einen Faktor
von ca. 100 schneller);
- Migrationen z.B. des Build-Prozesses von Ant nach Maven und des
Quellcode-Konfigurationsmanagements (SCM) von IBM/ Rational ClearCase UCM
nach Subversion; Anpassung des Test- und Delivery-Prozesses an die neue
Infrastruktur;
Aufgabenbereich:- Weiterentwicklung der Fachlichkeit des Configuration Management(CM)-
Deployment Controllers: Erweiterung um diverse Plausibilitätstests;
Refactoring mit dem Ziel der verbesserten Wartbarkeit und Testbarkeit
durch Einführung einer mehrschichtigen Architektur/ Designs unter
strikter Trennung von Fachlogik in POJOs (Plain Old Java Beans) und
von Infrastrukturlogik wie Datenbank- und Dateizugriffen;
Erstellung von Tests hierzu durch Einführung von nur wenigen
Dummy-Objekten (in der Regel keine Mock-Objekte) für die Infrastruktur-
komponenten;
- Dokumentation der Fachlogik als auch von Architektur und Design;
- Mitglied eines Maintenance Teams: testgetriebener Ansatz, indem vor der
Behebung von Fehlern - wenn immer möglich - zuerst ein End-to-End-Test
geschrieben wird, der den erkannten Fehler offen legt;
- Migration des Build-Systems von Ant nach Maven sowie des SCM von
IBM ClearCase (UCM) nach Subversion sowie Anpassung der zugehörigen
Delivery- und Test-Strategien: Erstellung von Maven - Projekt Objekt
Models (POMs); Testen von Branching Strategien in Subversion als
Ersatz/ Simulation von Developer-Streams (und nicht Integration-Streams)
in ClearCase;
- Integration des sogenannten O2ML-Toolkits in MOF:
Verkürzung des Zeitaufwands einer neuen Modellgenerierung des Metamodells
von mehreren Tagen auf wenige Stunden durch Erhöhung des Automatisierungs-
grades z.B. in der Code-Generierung;
- Umfangreiches Refactoring des Quellcodes und der Maven - POMs wegen
erheblich geänderter Projektabhängigkeiten; Versuch, diese sehr komplexe
Umstellung in kleinere Deliverables aufzuteilen durch Einführung
verschiedener Profile in den Project Object Models (POMs) von Maven;
- Automatisierte Überprüfung erstellter Adaptationen an physikalische und
logische Netzwerktopologien auf Plausibilitätsregeln und Konsistenzregeln
hin;
- teilweise Modellierung dieser Regeln in Rational Rose und
automatisierte Generierung des Codes hierzu;
- Benutzung des "Eclipse Modelling Frameworks (EMF)" zur automatisierten
Verifikation dieser Plausibilitätsregeln;
- Verifikation schon während des Generierungsvorgangs mittels des MOFD /
CMUI als auch später beim Deployment dieser Adaptationen mit
demselben Code;
Technische Umsetzung:- IDE: WebSphere Application Developer (WSAD) / Rational Application
Developer (RAD);
- Eclipse 3.3 Europe;
- diverse Eclipse Plug-Ins wie z.B Codehaus Maven Plug-In for Eclipse
von Polarion; Subversive SVN Team Provider; Ant 1.6.5;
Rational ClearCase Explorer;
- Application Server: IBM WebSphere / Rational Application Server
(WAS / RAS) 6.0.22; Remote Debugging;
Konfiguration skriptgesteuert (JACL) oder mittels WebSphere
Administrationskonsole;
- Design-Tool: Rational Rose;
- Datenbank: Oracle 9i; 10g Enterpreise Edition Rel. 10.2.0;
HSQLDB 1.8.0 (Hypersonic SQL DB) zum Testen;
- Datenbanktools: DbVisualizer 5.1.1;
Tool for Oracle Application Developers (TOAD);
- Datenbankzugriff: JDBC / SQL; PL/SQL; EJB 2.1 Entity Beans; Hibernate;
- Source Configuration Management (SCM):
- IBM Rational ClearCase; ClearCase UCM (Unified Change Management);
- Subversion; Tortoise SVN 1.4.4;
- Build Management Tool: Ant 1.6.5; Maven 2.0.8;
- Test Driven Development (TDD) / Test First Development (TFD):
- JUnit für Unit-Tests;
- Robot für Intgration-Tests (vergleichbar mit FIT/Fitness - Framework
for Integrated Tests, jedoch Nokia-proprietär bis 10/2007,
basierend auf Python und Jython);
- Continuous Integration: Hierarchical Build Systems mit
Bamboo, CruiseControl;
- Unit-Test Coverage Measurement: z.B. Verwendung von
Cobertura 1.9; djUnit 0.8.2;
- Skripting mit Python 2.5 und Jython 2.2;
verschiedenartigste Versicherungsprodukte;
Architektur eines "Generierungsansatzes" für diese Web Services
Aufgabenbereich:- Architektur und Implementierung von Web Services für verschiedenartigste
Versicherungsprodukte unter Verwendung des Apache Axis Frameworks;
unter anderem für ein Versicherungskombiprodukt, welches bis zu sieben
verschiedene und voneinander unabhängige Versicherungssparten beinhaltet
(BOX plus);
- Spezifikation, Definition und Implementierung eines Standard Web Service
für verschiedene Versicherungsprodukte basierend auf der Dokumentation
des zugrunde liegenden Tarifierungskerns mit einem generischen,
reproduzierbaren, und halbautomatischem Ansatz;
- automatische Generierung von XML Schemadefinitionen und WSDLs für Standard
Web Services basierend auf der Dokumentation des Tarifierungskerns unter
Beachtung bestimmter Regeln für die Geschäftslogik; Herleitung/Extraktion,
Spezifizierung und Implementierung dieser Geschäftsregeln als Bestandteil
eines neu entwickelten Werkzeugs zur Generierung von XML Schemata;
- Spezifizierung und Implementierung der verschiedenen Anwendungsfälle
(Use Cases) für die Standard Web Services wie zum Beispiel
"Angebot berechnen", "Versicherungsantrag/ Deckungsaufgabe prüfen",
"Deckungsaufgabe senden" und "Status eines Versicherungsantrags erfragen";
- Spezifizierung und Implementierung weitere Geschäftsregeln wie zum Beispiel
"Vergleich von Versicherungstarifen" oder "Überprüfung der Nutzerrechte in
Hinsicht auf verschiedene Tarifvarianten";
- Vielschichtiger Ansatz (Multi - tiered approach):
- in erster Linie Errichtung des Schicht des Web Service Anbieters im
Rahmen einer vielschichtigen J2EE-Architektur;
- aber auch Durchführung Web Service spezifischer Änderungen und
Erweiterung in der Geschäftslogikschicht (Olan Business Tier/ Layer)
wie zum Beispiel
- Web Service spezifische Benutzerauthentifizierung und -authorisierung,
oder
- Entwerfen und Befüllen von Datenbanktabellen mit geschäftspartner-
spezifischen Inhalten für jeden Versicherungsantrag;
- Entwicklung Swing-basierter and HTML-basierter Test Clients (HttpUnit);
- Anbindung dieser Standard Web Services an eine Vielzahl von
Geschäftspartnern mit verschiedenartigsten Schnittstellen, die durch
unterschiedlichste WSDLs beschrieben werden;
- Transformation der eingehenden SOAP - Requests und der ausgehenden SOAP -
Responses der verschiedenen Geschäftspartner auf die Standard-Schnittstelle
unter Benutzung von XSL Style Sheets zur Durchführung von
XML Transformationen;
- Benutzung von Web Service Handlern, um diese XML-Transformationsskripte
zur Abbildung der SOAP - Requests und - Responses aufzurufen;
- automatisierte Entscheidungslogik zur Identifizierung des geeigneten
XSLT Transformationsskripts in Abhängigkeit des Geschäftspartners,
des Anwendungsfalls, der benutzten Schnittstellenversion etc.;
- Analyse der Anforderungen der verschiedenen Geschäftspartner, die zum
Beispiel Vergleichssoftware für Versicherungstarife zur Verfügung stellen
(z.B. Morgen & Morgen) mit dem Ziel, deren Web Service-Anfragen an unseren
Standard Web Service anbinden zu können;
- Objektorientierte Analyse und Design;
- automatisiertes Testen der verschiedenen Module; JUnit Tests;
Integrationstest;
- Multi - Tiered Architektur: Web Service Konsument; Web Service Anbieter;
Olan Business-Schicht; Olan Service mit Datenbankzugriffsschicht;
Benutzer-Authorisierungs- Service / Kompetenzservice (und andere Dienste);
Tarifierungskern; Host / RAS;
- Mehrere Umgebungen / Stages:
- lokale Entwicklungsumgebung;
- Testumgebung für Entwickler (mit / ohne SOAP Firewall);
- Testumgebung für Abnahmetests;
- Produktionsumgebung;
- Kommunikation zwischen den Schichten / Layers:
- QSM (quasi - synchroner Modus mit Queues, über die die Dienste
angesprochen werden);
- EJB;
- RMI;
- Werkzeuge für Web Service Entwicklung:
- Apache Axis Framework 1.1, 1.3, 2.0;
- Werkzeuge zur Anbindung der Schnittstellen der Geschäftspartner:
- Apache Axis Handlers and Handler Chains;
- Werkzeuge für XML Transformationen: XSLT 2.0; XML Spy;
- Anwendungsserver: JBoss 4.0; Jakarta Tomcat 5.1;
- Datenbanken: Oracle 9;
- Datenbankwerkzeuge: Tool for Oracle Application Developers (TOAD) 8.3;
- IDE: Eclipse 3.1;
- Versionierungstool:
- CVS, Eclipse-Version, Kommandozeilenversion und WinCVS 1.3;
- Java Swing API für GUI Entwicklung der Web Service Test-Clients;
- Build Management mit ANT (Apache Ant 1.5);
- (halb-)automatisches Testen und Simulation mittels JUnit und HttpUnit;
- Methodiken: Test-Driven Development (TDD); Test-First Development (TFD);
- JUnit; HttpUnit (für SOAP-Test Client); EasyMock;
Erweiterung bestehender Software, die von Patentprüfern und
Formalprüfern verwendet wird
("SEA" - "Suite of Examiner Applications";
"CASEX" - "Computer Assisted Search and Examination";
"MADRAS" - "Mother of all dossier-related applications",
"CSXPRIMA" - "CASEX Print Manager",
"DAISY" - Tool für Formalprüfer zur Administration von
Tätigkeiten der Patentprüfer (Examiner Actions),
die in Backend-Systemen wie der CASTEL Datenbank
abgelegt worden sind).
Aufgabenbereich:- Analyse der Geschäftslogik, Architektur and Implementierung von
front end und von middle tier;
- Analyse und Implementierung von Änderungen im Geschäftsablauf
und von Change Requests;
- Code Refactoring hin zu einer objektorientierten und auf
Software-Patterns aufbauenden Architektur;
- Wartung; Performanceoptimierung;
- (semi-automatisiertes) Testen der verschiedenen Module;
- neben technischer Implementierung vor allem Analyse und
Modellierung der bestehenden Fachlogik; Vereinfachung und
Dokumentation derselben;
- Softwarearchitektur und -entwicklung von Front End und Middle Tier;
Code Refactoring; Change Requests; Bug Fixing;
- Coaching ehemaliger COBOL-Entwickler in Richtung J2EE-Entwicklung;
- Analyse von Änderungsanforderugen wie der "Extended European Search
Report (EESR)" oder die "European Search Opinion (ESOP)";
- Mitautorschaft und Analyse funktionaler Spezifikationen für Änderungs-
anforderungen in enger Zusammenarbeit mit Vertretern der Software-Benutzer;
- Analyse funktionaler Änderungswünsche mit Hinsicht auf Selsbtkonsistenz
und mit Hinsicht auf Konsistenz mit der übrigen Geschäftslogik wie im
Europäischen Patentübereinkommens (European Patent Convention - EPC)
spezifiziert;
- Definition von "Entschediungsbäumen" zur Bestimmung der Spezialfälle
komplexer Erweiterungen im Geschäftsablauf wie dem ESOP
(z.B.. waiver/non-waiver Fall, unity/non-unity Fall,
positive/negative Meinung des Patentprüfers,
Anwendbarkeit spezieller Regeln des Europäischen Patentübereinkommens
(European Patent Convention - EPC), ...);
- Übersetzung der funktionellen Spezifikationen in technische Spezifikationen
die mit der exisitierenden Softwarearchitektur vereinbar sind;
- schließlich Implementation der Änderungen im Geschäftsablauf und der
Change Requests im Quellcode;
- Testen der Änderungen in dem Quellcode;
Code Refactoring:
- Verbesserung der Lesbarkeit und der Wartbarkeit des Quellcodes durch
seine Restrukturierung und sorgfältige Dokumentation
(JavaDoc, Analyse-Dokumente);
- Trennung von Fachlogik und Darstellungslogik (GUI Logik) gemäß z.B.
dem "Model-View-Controller (MVC)"-Modell;
- Einführung von Software-Mustern/Patterns wie den "Gang-of-Four (GoF)"
Patterns;
- dadurch Vorbereitung des CASEX Quellcodes um die beiden Tools für
Patentprüfer, CAESAR für die Recherchephase und CASEX für die daran
anschließende Examination-Phase, zusammenzuführen im Rahmen des neuen
EPODOS Projekts;
- Refactoring and Neu-Design des gesamten Send & Replace Logik in CASEX
für das Kodieren und Senden von Examiner Actions:
- Analyse des bestehenden Codes, (Rückwärts-)Spezifikation der zugrunde-
liegenden Geschäftslogik,
- Refactoring und Neu-schreiben des bestehenden Codes, um ihn
objektorientiert zu gestalten, wartbarer, und transaktionssicherer
(z.B. im Fall von Datenbankkonnektierungsproblemen);
- Definition der Reihenfolge von Datenbankzugriffen wie z.B. MUSE/POEM,
EPASYS/PIPS, SPDB/SDMS, CASTEL;
- Definition von Statusmodellen und Modellen für Statusübergänge z.B.
für Aktions-Stati (wie ACTIVE, ACTIVE_CODED, PRINTED; CHECKED, READY,
SENT, SENT_NOT_CODED, BEING_PROCESSED, ARCHIVED, PURGED, WAITING, ...)
und "send-to-assistant (STA)" Stati, Spezifikation der zugehörigen
erlaubten Statusübergänge als Teil der Spezifikation der zugrunde-
liegenden Geschäftslogik;
- Design & Implementation eines "File Synchronizers" für automatisiertes
Update, Versionierung und Administration einer großen Anzahl von Ressourcen
wie Formularvorlagen oder Action-Description-Files auf den Client-PCs;
- Reines Java/J2EE-Projekt; Multi-Tiered Approach;
- DB: Anbindung mind. 4 verschiedener IBM DB2 Datenbanken mittels CICS (IBM);
- DB-Tool: iSeries Navigator;
- IDE: Eclipse 3.0; IBM WebSphere Application Developer 5.0/5.1 (WSAD 5.0/5.1)
- Versionierungstool: CVS, Kommandozeilenversion und WinCVS 1.3;
- Sonstige: Java Swing API für GUI;
- Buildmanagement mit ANT (Apache Ant 1.5);
- Automatisiertes Testen mit JUnit und HtmlUnit;
- Projektmanagement Techniken: Prince2
Printus Versandhandel Offenburg;
Branche: Logistik, VersandhandelLogistik-Zentrum; Softwarearchitektur und -entwicklung;
Vor allem serverseitige Architektur und Entwicklung der Paketplanung und -optimierung,
der Reihenfolgeoptimierung, der Pickplanung, der Kommissionierung,
der Bestands- und Bedarfsrechnung sowie der Transport- und Nachschubsteuerung;
serverseitige Funktionalität für PDAs/MDAs (z.B. auf Gabelstaplern);
Performanceoptimierung; Testen der verschiedenen Module;
Technische Umsetzung: Reines Java/J2EE-Projekt basierend auf dem EJB2.0 Standard,
d.h. Verwendung von Stateless Session Beans (Session Facades und Manager Beans),
CMP-Entity-Beans zur objektrelationalen Abbildung der DB2-Datenbank und
Message-Driven Beans zur Anbindung der Fremdsysteme wie MFR (Materialflußrechner)
und KAF (Kaufmannisches System);
Zerlegung zeitlich längerer Optimierungsalgorithmen in atomare Transaktionen;
Vermeidung von Locks; Performanceoptimierung;
Wiederaufsetzbarkeit der Algorithmen (z.B. nach Serverabsturz o.ä.);
Cross-Platform-Development, d.h. Entwicklung auf Windows 2000-PCs und Deployment auf
IBM-iSeries/AS400-Servern;
Java Swing GUI-Programmierung;
Application Server: IBM WebSphere 5.0.2;
CASE-Tool: Innovator 8.0 von MID;
Model Driven-Architecture (MDA)-Ansatz.
DB: DB2 auf iSeries/AS400 und auf Microsoft Windows Servern; MS-SQL-Server
DB-Tool: iSeries Navigator; WinSQL;
IDE: IBM WebSphere Application Developer 5.0 (WSAD5.0);
JBuilder 8.0.
Versionierungstool: CVS, Kommandozeilenversion und WinCVS 1.3;
Sonstige: Java Swing API für GUI; Velocity(v1.3)-Framework vom Apache Jakarta Projekt
für Model-View-Controller (MVC)-Web Entwicklung; Servlet API 2.2;
Buildmanagement mit ANT (Apache Ant 1.5);
Automatisiertes Testen mit JUnit und HtmlUnit;
für den Versandhandel; Teilgebiete:
Auftragsmanagement (AM),
Customer Relationship Management (CRM),
Katalog- und Sortimentsplanung (KS),
Debitorenbuchhaltung (DBH),
Lagerverwaltungssystem (LVS)
Vor allem Entwicklung des Auftragsmanagers unter Java/J2EE.
CASE-Tool: OOA/OOD und ER/OO-Mapping mittels des Innovators 6.0 von MID
mit einem Plug-In namens iQgen 1.0 von innoQ;
Model Driven-Architecture (MDA)-Ansatz.
DB: Microsoft SQL Server.
DB-Tool: iSeries Navigator; WinSQL;
IDE: JBuilder.
Versionierungstool: CVS, Kommandozeilenversion und WinCVS 1.3;
Sonstige: Performance Analysing & Tuning mit Sitraka JProbe 4.0;
Java Swing API für CRM-GUI;
Bulidmanagement mit ANT (Apache Ant 1.5);
Automatisiertes Testen mit JUnit;
Automatisierte Generierung von PDF-Dokumenten mittels FOP 0.20.4
(XSL Formatting Object Processor in Java vom Jakarta XML-Projekt);
Zeitraum: 09/2002
Methoden, objektorientiertem Design, Grundzüge von UML und Java
für einen Kunden im Bereich der mobilen Kommunikation;
Erstellung der Softwarearchitektur;
zeitweilig technische Projektleitung;
Technische Umsetzung: J2EE (Java 2 Enterprise Edition) basierte Applikation mitIMAP4/SMTP- und LDAP-Unterstützung Unterstützung (LDAP-Benutzerverwaltung);
Anbindung eines E-Link Systems mit Tuxedo von BEA Systems (Middleware);
LDAP-Konnektoren mit automatisiertem Mapping zwischen LDAP-Object classes
und Java-Objekten (JNDI API 1.2; Netscape Directory SDK 4.1 for Java API);
Performanceoptimierung des Directory Zugriffs;
Oracle-Konnektoren (JDBC API 3.0); JDBC API 3.0, SQL;
Verwendung von Java-Servlets, JSP und Tag-Libraries im MVC-Modell;
JavaMail API; XML/JAXB; diverse Design Patterns; Multithreading und
Thread-Safety; Lasttests; Tcl/Tk; Verwendung diverser Java Design Patterns;
Objektorientierte Modellierung und Design mit UML (Together 4.2);
Design der LDAP-Schemata; ER - Modellierung;
Entwicklungsumgebung (IDE): Forte for Java 3.0 Enterprise Edition
mit J2EE/EJB/JSP-Unterstützung;
Realisierung und Installation auf Sun Solaris 8, iPlanet WebServer 6,
iPlanet Messaging Server 5, iPlanet Application Server 6 und
iPlanet Directory Server 5.1 (LDAP-Server);
Wertpapiertrans-aktionen über die Trademiles Kooperationspartner
Bonuspunkte gutgeschriebenwerden, die gegen Prämien eingelöst
werden können.
Entwicklungsumgebung: JBuilder;
Realisierung in Java; JavaMailAPI und Installation auf Sun Solaris 8.
Beratung des Kunden;
Erstellung eines E-Commerce WebSite für Bucher-Reisen, welche dem
Einzelkunden u.a. ein Reiseinformations- und Buchngssystem zur Verfügung
stellt (URL: http://www.bucher-reisen.de);
Technische Umsetzung: Anbindung eines Buchungssystem (PHOENIX) und
einer Reisedatenbank auf AS/400 mittels der IBM JavaToolBox (jetzt
JTOpen2.0.2); erste Version mittels Java-Servlets, PHP3 und JavaScript
(online 11/99), danach mittels WebObjects-Application Server und
RMI - IIOP (online 4/01) unter Java;
Realisierung und Installation auf Sun Solaris 7/8 und
WebObjects 4.5.1 mit Apache Jserv/Tomcat und PHP3;
Hintergrundprozesse (UNIX-daemons) in Java;
Durchgeführte Datenbankmigrationen von Oracle nach DB2 und MySQL.
Management Systems für Internet Portale und Intranets.
Version 1 und 2 mit PHP und Servlets, Versionen 3 und 4 mit Java
unter WebObjects 4.0 - 5.0; Frontend-Funktionaltät für Version 2
(Darstellung von Foldern und Links in Baumstruktur mittels
Java-Servlets, JavaScript); Administrationstool für Versionen
3 und 4 (Benutzer-/Gruppenverwaltung) unter Benutzung von
WebObjects 4.5 und dem dort integrierten EOModeller zur
objektorientierten Modellierung von Datanbanken;
mit Monte-Carlo-Simulationen (z.B.Hypothesentests zur Feststellung
von Mischungsverteilungen); optimale Versuchsplanung im Bereich der
statistischen Qualitätskontrolle; hierbei Verwendung ausschließlich
von Unix-Maschinen (Linux-PC (dual CPU; Redhat-Linux); Sun Ultra
Sparc-WorkStations; Parallelrechner von HP mit vier Knoten zu je
vier Prozessoren (HPSPP-Hewlett Packard Scalable Parallel Processing);
Implementierung komplexer statistischer und numerischer Algorithmen
in Fortran/ C++; umfangreiche Nutzung von Unix-Skripten und des NQS
zur Ablauf-steuerung der Simulationsrechnungen
mit/ohne Treibhauseffekt; Analyse von ca. 0.2 Terabyte an
Klimadatenfeldern auf den Simulationsrechnern und Fileservern des
Deutschen Klimarechenzentrums (DKRZ) unter Nutzung des
"Network Queuing Systems (NQS)";
UNIX-Shell-Programmierung (tc-shell); Fortran-Programmierung;
graphische Datenaus-wertung;
am Fachbereich Informatik, Uni Hamburg, Arbeitsgruppe kognitive Systeme;
Titel: [auf Anfrage]
im Bereich math. Statistik und medizinischer Bildverarbeitung;
und internationalen Behörden;
- Prince2 Projektmanagement-Methodikenunter Benutzung von CASE_Tools wie Argo/UML, Together,
Innovator 8.0 von MID (mit iQgen Plug-Ins); Rational Rose;
zur UML-Modellierung und Erstellung von UML-Diagrammen
(UML: Unified Modelling Language);
- Multi-Tier-Architektur und Entwicklung:MVC-Modell (Model-View-Controller); Java EE; Java Server Faces (JSF);
Java-Servlets, EJB und Java Server Pages (JSP) oder WebObjects 5.0;
Struts, Velocity und ähnliche Frameworks;
- Model Driven Architecture (MDA)- EMF (Core) zur Code-Generierung aus dem XMI-Modell
(letzteres z.B. aus Rational Rose exportiert);
- EMF.Edit zum Erzeugen eines Editors für das Datenmodell
- EMF Validation Framework, um die Integrität des Modells zu jeder Zeit
gewährleisten zu können; Definition der Constraints in Rational Rose
(einfache Constraints mit Regular Expressions, komplexe Constraints
mit der Object Constraint Language (OCL));
- Eclipse Rich client Platform (RCP);Servlets, Applets; J2EE, JSP, EJB, Tag-Libraries;
RMI over IIOP, CORBA, CORBA-IDL (open OMG-standards);
Verzeichnisdienste (z.B. LDAP) mittels JNDI 1.2 API oder
Netscape Directory SDK 4.1 for Java API;
Enterprise Objects Framework (EOF),
Regular Expressions unter Unix, Java und Perl;
Network Queuing System (NQS);
Source Configuration Management (SCM) Systems:
- CVS (Concurrent Version System; z.B. WinCVS),
- SubVersion,
- ClearCase (UCM),
- Serena Dimensions;
Objekt/Relationales-Mapping- und Persistenz-Frameworks wie
Hibernate, EJB-CMP unter J2EE, Java Data Objects (JDO),
Java Persistence API (JPA),
Castor JDO,
Enterprise Objects Framework (EOF) von WebObjects etc.;
Transaktionsmanagement; Zerlegung komplexer, langlaufender
und zeitkritischer serverseitiger Algorithmen in einzelne
Transaktionen mit dem Ziel der Performance-Optimierung,
der Wiederaufsetzbarkeit und der Deadlock-Vemeidung;
UseCase-Modellierung mit UML2.0;
Applikationsserver:IBM (Rational) WebSphere WAS;
JBoss;
Oracle/BEA WebLogic Server;
Sun GlassFish Enterprise Server;
iPlanet / SunONE Application Server;
WebObjects; JServ/Tomcat;
weitere Server-Software:diverse SunONE / iPlanet Server
(SunONE / iPlanet WebServer,
SunONE / iPlanet Messaging Server,
SunONE / iPlanet Application Server und
SunONE / iPlanet Directory Server (LDAP-Server));
Tomcat/JServ;
Skript/Shell-Programmierung;
Systemprogrammierung in C;
Verwendung als Web-, Application-, Mail-, LDAP- oder DB-Server;
Deployment von serverseitigen Anwendungen;
Abrufen von Services oder zur Produktion komplexer serverseitiger
Algorithmen auf einem Applikations-Server wie IBM WebSphere 5.0;
Verwendung v.a. als Entwicklungs- und Testbetriebssyteme für
Cross-Platform-Development;
Deployment i.d.R. auf UNIX-Maschinen oder IBM-iSeries;
z.B. für komplexe serverseitige und/oder webbasierte Anwendungen;
diverse APIs (JavaMail 1.2 API; RMI-Server/Clients);
Servlets (Servlet 2.2 API; Servlet-basierte Internetdienste und Portale);
Applets; JFC, AWT (Abstract Windowing Toolkit), Swing;
J2EE v. 1.4 / J2SE v. 1.4.0;
EJB 2.3 (BMP/CMP Entity Beans, stateful/stateless Session Beans,
Message-driven Beans); EJB Design Patterns nach Marinescu;
JSP, Tag-Libraries, Custom Tags;
XML/JAXP 1.1 API (Java API for XML Processing);
XML/SOAP (Simple Object Access Protocol);
SAX2 (Simple API for XML);
XSLT (Extensible Stylesheet Transformations);
Datenbankzugriff mittels JDBC 3.0 API;
Directoryzugriff (LDAP) mittels JNDI 1.2 API
(Java Naming and Directory Interface) oder
Netscape Directory SDK 4.1 for Java API;
JMS 1.02 API (Java Message Service);
JINI 1.1 API (Java Intelligent Network Interface); JavaSpaces;
MVC-Modell (Model-View-Controller);
Mehrschichtige Architekturen (Multi-tiered approach); EAI;
(Creational, Behavioral, Structural) Design-Patterns;
Struts-Bibliothek vom jakarta-Projekt;
Multithreading, Thread-Synchronization und Thread-Safety;
Application-Server wie IBW WebSphere 5.1 / IDE: WSAD 5.0,
WebObjects 5.0, SunONE / iPlanet Application Server 6.0,
JBoss 3.0;
Transaktionsmanagement; Zerlegung komplexer, langlaufender
und zeitkritischer serverseitiger Algorithmen in einzelne
Transaktionen mit dem Ziel der Performance-Optimierung,
der Wiederaufsetzbarkeit und der Deadlock-Vemeidung;
JProbe (Java Profiling Tool);
JUnit (XUnit testing framework for Extreme Programming (XP));
Javadoc (Java API Documentation Generator);
RMI over IIOP; CORBA; CORBA-IDL (open OMG-standards);
u.a.;
C/C++: akademischer Schwerpunkt in medizinischer Bildverarbeitung;UNIX-Schnittstelle und UNIX-Systemprogrammierung in C;
Pascal, Fortran:wissenschaftliche Programmierung an der Uni;
statistische Qualtitätskontrolle;
Entwicklung statistischer Testverfahren;
Auswertung von globalen Klimamodellen über einen Simulations-
zeitraum von 100 Jahren;
HTML, PHP 3 und 4, CGI Programierung mit PERL und mod_perl, JavaScript,bash, tcsh, csh, korn-/bourne-shell (v.a. unter Solaris);
weitere Tools: PERL, Tcl/Tk; yacc/lex, Python;Visual-C++; (Visual-)Basic;
Stored Procedures unter Oracle;
Tools: Tool for Oracle Application Developers (TOAD);
iSeries Navigator; WinSQL;
Enterprise Objects Framework (EOF) von WebObjects,
Hibernate, EJB-CMP unter J2EE, Java Data Objects (JDO),
Castor JDO etc.;
selbst geschriebene Datenbankkonnektoren unter JDBC;
OO-Modellierung von Datenmodellen einer Datenbankmittels des EOModellers von WebObjects oder selbst geschriebener
Datenbankkonnektoren unter JDBC;
Benutzung von Directory Servern wie dem SunONE / iPlanet Directory
Server 5.1 (IDS 5.1);
Datenkommunikation;
von AS/400-Zugriffen vom Web-/Applicationserver auf die AS/400 selbst;
Übergabe von Java-Objekten von der AS/400 an Web-/Application-Server
(Sun e250), die als RMI-Client fungieren (RMI over IIOP).
von AS400 mit anderen Rechnern und zum Abrufen von Diensten auf einer
AS400/iSeries, z.B. (Keyed)DataQueues.
und Internet-MailServern.
Web-, Application-, Message-, LDAP- oder Datenbank-Server;
Wartung entsprechender Dienste;
Skriptprogrammierung (cron-Daemon);
wie z.B. (Keyed)DataQueues;
E-Mail-Zugangsdienst für Handys, MDAs, PDAs;
Europäische I-Mode Implementation;
Managementsysteme für Mobilfunknetze;
Online Mobilfunk-Tarifvergleichsysteme;
Touristik: Last-Minute-Anbieter, Internetreiseanbieter;Pauschalreiseanbieter;
Banken: Wertpapierhandels- und Bonussystem; Finanzmathematik;Middleware für Online-Banken, Direktbanken;
Schweizer Privatbank im SMI;
Logistik, Versandhandel: Lagerverwaltungssystem (LVS);Entwicklung einer Versandhandels-Komplettlösung;
Frachtkostenoptimierung; Transportwegoptimierung;
Reihenfolgeoptimierung; Transport- und Nachschubsteuerung;
Bestands- und Bedarfsrechnung; Kommissionierung;
Auftragsmanagement; Customer Relationship Management (CRM);
Katalog- und Sortimentsplanung (KS); Debitorenbuchhaltung (DBH);
Logistik / Auftragsbearbeitung und Transportplanung:Transport-Informations-Plattform (TIP);
Versicherungen, KFZ-Leistungabteilung, Krankenvers.-Leistungsabteilung:z.B. Datenbank mit allen LKW-Schadensfällen der EDEKA-Kette;
Versicherungsmathematik, Versicherungsstatistik;
WebServices / SOA für Versicherungsanträge;
Bildverarbeitung: medizinische Bildverarbeitung, Bildregistrierung,Merkmalsextraktion, spez. Landmarkenextraktion;
Kantendetektion; Anpassung parametrischer deformierbarer Modelle;
lokale vs. globaler Optimierung;
Qualitätskontrolle: statistische Testverfahren, Hypothesentests,Test auf Vorliegen von Mischungsverteilungen;
Monte-Carlo-Simulation; Erzeugung von Pseudo-Zufallszahlen;
Meteorolgie, Klimaforschung: Auswertung von globalen Klimamodellenüber ca. 100 Jahre zur Vorhersage des Treibhauseffekts;
Datenmodellierung; graphische Auswertung;
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.
"Der Consultant war als Senior Developer für zwei Projekte im Bereich Enterprise Java (J2EE) bei einem unserer Kunden aus der mobilen Telekommunikationsbranche tätig. Diese Projekte hat er gleichzeitig betreut. Er hat maßgeblich an der Gesamtarchitektur mitgewirkt und die Kernfunktionalität der beiden Projekte implementiert. Außerdem stand er dem Kunden als technischer Ansprechpartner zur Verfügung. Durch die gründliche objektorientierte Modellierung und die strukturierte Herangehensweise sowie durch seine hohe fachliche Qualifikation konnten die Projekte vorzeitig und zu unserer vollsten Zufriedenheit abgeschlossen werden. Hervorzuheben ist außerdem die hervorragende Zusammenarbeit mit dem Team und seine hohe persönliche Einsatzbereitschaft."
— Projekt Entwicklung Portalanwendung/E-Mail-Zugangsdienstes für Kunden (mobile Kommunikation), 08/01-12/01
Referenz durch Projektleiter der Softlab GmbH RSC Nord vom 28.11.01