Wohnort 20xxx, Deutschland EDV-Erfahrung seit 1995 Verfügbar ab 01.07.12 zu 100%, Vor-Ort-Einsatz 100% möglich
am Fachbereich Informatik, Uni Hamburg, Arbeitsgruppe kognitive Systeme;
Titel: [auf Anfrage]
im Bereich math. Statistik und medizinischer Bildverarbeitung;
| Deutsch | Muttersprache |
| Englisch | verhandlungssicher |
| Französisch | fortgeschritten |
| Latein | Hobby |
| Niederländisch | fortgeschritten |
| Ascii/X - Terminals | |
| AS/400 | nun iSeries; Host-Rechner für diverse Java/J2EE-Anwendungen; |
| Cray | wissenschaftl. Simulationsrechnungen in der Klimaforschung; |
| HP | HP-Server unter HPUX (UNIX-Deivat); |
| PC | (s.u.) |
| SUN | (s.u.) |
Web-, Application-, Message-, LDAP- oder Datenbank-Server;
Wartung entsprechender Dienste;
Skriptprogrammierung (cron-Daemon);
wie z.B. (Keyed)DataQueues;
| HPUX | (s.u.) |
| Mac OS | |
| MS-DOS | (s.u.) |
| OS/400 | (s. u.) |
| SUN OS, Solaris | (s.u.) |
| Unix | (s.u.) |
| Windows | (s.u.) |
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;
| ABAP4 | |
| Assembler | |
| Basic | (s.u.) |
| C | (s.u.) |
| C++ | (s.u.) |
| CORBA IDL | (s.u.) |
| Delphi | (s.u.) |
| Emacs | |
| Fortran | v.a. wissenschaftl. Programmierung; |
| Java | (s.u.) |
| JavaScript | (s.u.) |
| Lisp | |
| MATLAB / Simulink | |
| Modula-2 | |
| Objective C | v.a. für WebObjects 3.5, 4.0, 5.0 (Objective-C to Java-Bridge); |
| Pascal | (s.u.) |
| Perl | (s.u.) |
| PHP | (s.u.) |
| PL/SQL | (s.u.) |
| Prolog | |
| Python | Skriptsprache v.a. von mir verwendet zur Analyse großer Datenmenge und zur Datenaufbereitung; |
| Scriptsprachen | (s.u.) |
| Shell | (s.u.) |
| Tcl/Tk | (s.u.) |
| TeX, LaTeX | |
| yacc/lex | (s.u.) |
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;
| DB2 | (s.u.) |
| DB/400 | |
| JDBC | (s.u.) |
| MS SQL Server | |
| MySQL | (s.u.) |
| ODBC | (s.u.) |
| Oracle | (s.u.) |
| SQL | (s.u.) |
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);
| CORBA | CORBA/IIOP |
| Internet, Intranet | jahrelange Erfahrung als e-Commerce Entwickler |
| ISO/OSI | |
| Message Queuing | |
| RPC | |
| SMTP | SMTP und IMAP4; insb. JavaMail 1.2 API |
| TCP/IP | |
| Windows Netzwerk |
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.
| Rapid Control Prototyping (RCP) |
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;
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;
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;
- 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;
Mehr als 3.000 Kunden, 75.000 eingetragene IT-Experten, davon 10.500 mit Schwerpunkt Engineering, und über 1.000.000 abgewickelte Projektanfragen: GULP Information Services ist die wichtigste Quelle für die Besetzung von IT-/Engineering-Projekten mit externen Spezialisten im deutschsprachigen Raum.
© Copyright GULP Information Services GmbH, Ridlerstraße 37, D-80339 München
Tel. +49-89-500316-300, Fax +49-89-500316-999, E-Mail: info@gulp.de
Deutschland: bevorzugt Bereich D2, insb. Hamburg;