-
Erstellung einer auf Python/Django basierenden Online-Marketing-Plattform. Modellierung der Gewinnverteilung mit Excel. Transformation der Anwendungsfälle in Komponententests. Design, Implementierung und Durchführung eines Lasttests, der die Benutzung über mehrere Monate in wenigen Minuten simuliert. Implementierung von Prozessen, die Logdateien zwischen auf Amazon EC2 (Elastic Compute Cloud) laufenden Servern via Amazon S3 and SQS transferieren. Entwicklung des Datenbankimports von Logdateien und Aggregation der Logdaten. Generierung von PDF-Rechnungen mit PDF Formularen. Documentation des Systems mit Sphinx.
-
Erweiterung des automatischen Deployment-Prozesses in einer WebSphere 6.1/AIX-Umgebung durch Erstellung von Jython und Shell-Skripts. Die Themen waren Installation von Ressourcenadaptern und Datenquellen, Traceerstellung und Protokollierung, Sitzungsverwaltung und Behandlung von Patches.
-
Migration von J2EE-Anwendungen von ATG Dynamo 6/7 nach IBM WebSphere 6. Zur Bestandsaufnahme der aus über achtzig Applikationen bestehenden Anwendungslandschaft wurde mit Django/Python eine Datenbank aller verwendeten Server, Applikationen, Bibliotheken und Abhängigheiten aufgebaut und ausgewertet. Für die Einrichtung der WebSphere-Server, Datenbank-Anbindungen und Anwendungsinstallationen habe ich einige Shell-, Perl- und Jython-Skripte erstellt. Zur Aufwandsabschätzung der Gesamtmigration habe ich mehrere Applikationen von ATG Dynamo/Solaris nach WebSphere/AIX migriert.
-
Durchführung von Lasttests mit Grinder 3 für mehrere Web-Anwendungen. Entwicklung von Jython-Scripts zur Synchronisaton vieler Lasttest-Clients und Parametrierung mit Testdaten. Profiling von Web-Applikationen unter Tomcat 4.1.x und JBoss 4.0.x mit YourKit. Erstellung einiger Shell- und Perl-Skripte zum Debugging von Web-Applikationen unter Solaris 8. Implementierung von Filetransfer-Prozessen mit SSH. Bereitstellung einer dauerhaften Lösung zur Weblog-Analyse mit Sawmill 7.2.x.
-
Weiterentwicklung der technischen Architektur einer Webapplikation zur Baufinanzierung. Konfiguration und gelegentliche Administration der Applikationsserver (JBoss 3.2.x und IBM WebSphere 5.1). Fehleranalyse in Bereichen von Cookies, HTTP/S (mit Zertifikaten), Browserinkompatibilitäten, Datenbank-Deadlocks (IBM DB2 Universal Database), Netzwerkverkehr, Java-Performance, Versionskonflikten und allen umgebungsabhängigen Unterschieden. Beratung zur Einbindung sicherheitsbeschränkter Java-Applets im Internet-Explorer nach Konzern-Richtlinien.
-
Build, Konfiguration, Deployment und Administration komplexer J2EE-Applikationen zum Online-Banking. Verwendeter Applikationsserver ist ATG Dynamo. Beratung zur sicheren nahtlosen Integration der Webapplikation einer weiteren Bank über das Internet.
-
Entwicklung diverser GIS-Anwendungen auf Basis von Python und OpenGL. Zielplatform ist Windows, der Schwerpunkt liegt dabei auf der professionellen Auslieferung der Programme als installierbares Executable. Dazu wurde ein vollautomatischer Buildprozeß erstellt.
-
Erstellung einer Applikation zur Berechnung der licht- und strahlungstechnischen Werte von Scheibenaufbauten. Die Realisierung erfolgte mit Python. Native Look&Feel der GUI auf jeweils Windows und Linux wurde durch wxPython erreicht. Professionelles Deployment unter Windows mit InnoSetup. Die Installation und Beschriftungstexte der Anwendung ist vollständig internationalisiert (Deutsch, Englisch, Französisch). Ansicht und Ausdruck der berechneten Datenblätter in ansehnlicher Form wurde durch den Einsatz des PDF-Formats erzielt. Client-Server Kommunikation über das HTTP-Protokoll wobei alle gängigen Proxy-Typen unterstützt werden.
-
Einführung einer Groupware-Anwendung (Wiki) zur Erstellung und Pflege der Dokumentation im Bereich Build, Deployment und Administration komplexer J2EE-Applikationen zum Online-Banking. Erstellung robuster und wartbarer Shell- und Perlskripte unter Solaris zur Konfiguration, Installation und Administration einer J2EE-Anwendung unter Berücksichtigung komplexer Thematiken wie CPU binding. CLASSPATH-Analyse der laufenden J2EE-Anwendung durch ein selbsterstelltes Perl-Skript. Entwicklung und Integration eines J2EE-Webmoduls zur Einsicht der Logdateien auf Entwicklungs- und Stagingsystemen mit Hilfe von Eclipse und Intellij IDEA. Schlüsselfertige Bereitstellung der Java-Profiler OptimizeIt, JProbe und JProfiler für das Remote-Profiling der J2EE-Anwendung unter Solaris von Windows NT aus. Beratung zu notwendigen Tätigkeiten, Möglichkeiten und Auswirkungen der Umstellung einer monolithischen J2EE-Anwendung auf unabhängige Web-Services.
-
Profiling einer Java-Swing-Applikation zur Bearbeitung von Finanzierungsverträgen mit OptimizeIt. Erarbeitung und Implementierung von Maßnahmen zur Steigerung der Performance und der Responsivität des Clients (z.B. Object Pooling). Anpassung eines Client-Programms zur Lasterzeugung auf dem in Java geschriebenen Applikationsserver. Implementierung performanceverbessernder Maßnahmen (z.B. Caching berechneter Werte) im Serverteil der Anwendung. Vergleich der Oracle-JDBC-Treiber (thin, OCI) unter verschiedenen Konfigurationsmöglichkeiten des objekt-relationalen Mapping Tools TopLink (z.B. BatchWriting, ParameterBinding). Analyse protokollierter SQL-Skripte mit selbsterstellten Python-Skripten und Dokumentation der zeitkritischen Statements. Transformation protokollierter SQL-Statements in eine JDBC-Anwendung und in ein ausführbares SQL-Skript zur Messung des Overheads von CORBA, Netzwerk und des JDBC-Treibers.
-
Portierung einer J2EE-Applikation für Online-Brokerage von IBM Websphere auf ATG Dynamo. Erstellung J2EE-konformer Deployment-Deskriptoren von Servlets und EJBs (Enterprise Java Beans) und Konfiguration der zugehörigen Datenbankverbindungen. Implementierung eines Entwicklungs- und Build-Prozesses mit Einweisung der Softwareentwickler in Debugging-Tools und die IDE Kawa. Entwicklersupport für technische Probleme im Umgang mit dem Entwicklungsprozeß, Entwicklungswerkzeugen und dem Versionskontrollsystem Continuus. Konfiguration, Durchführung und Deployment von Applikationsbuilds.
-
Einführung von Methoden und Tools zur Verbesserung des Softwareentwicklungsprozesses sowie Coaching der Mitarbeiter. Untersuchung und Veränderung von Java-Programmen und Batch-Skripten zur Erleichterung des Deployments. Analyse der ODBMS-basierten (ObjectStore) Persistenzschicht mit Know-How-Transfer an weitere Entwickler. Weiterentwicklung des automatischen Build-Vorgangs mit dem XML-basierten Make-Tool Jakarta-Ant und der Windows NT-Batchskripte. Evaluation mehrerer Tools zum Konfigurationsmanagement sowie Einführung und Administration eines SCM-Tools (StarTeam). Schulung der Mitarbeiter im Umgang mit StarTeam. Konfiguration von StarTeam für den Zugriff durch die Entwickler mehrerer Standorte. Erstellung eines automatisierten Batch-Builds von Visual C++ 6.0-Projekten. Erweiterung von 'InstallShield für Windows Installer'-Setups für das Deployment der Software unter Windows 2000. Erstellung von Dokumentation über Build, Deployment und Test der Software mit MS Word 2000.
-
Refaktorierung teilweise generierter Java-Programme zum Import des Datenbestands in eine Oracle8-Datenbank mit VisualAge (über JDBC und SQL*Loader). Erstellung einer Ablaufsteuerung zur Koordination mehrerer SQL-Skripte und Java-Programme mit der ksh-Shell. Performance-Tuning durch Parallelisierung teilweise abhängiger Datenimporte durch eine dynamische Jobsteuerung mit der ksh-Shell. Installation eines Sun Enterprise Servers mit Plattenpartitionierung, Einrichten von Usern, Konfiguration von NFS. Installation und Konfiguration von System- und Netzwerküberwachungswerkzeugen. Automatische Überprüfung der PL/SQL-Migrationsprogramme auf Vollständigkeit der transformierten Attribute mit selbsterstellten Perl-Skripten. Debugging von PL/SQL-Programmen. Profiling des in Java geschriebenen Applikationsservers mit JProbe auf Solaris und Windows NT in Bezug auf Performance und Speicherbedarf. Beschleunigung der Anwendung durch Portierung von JDK 1.1 auf JDK 1.3.
-
Pflege und Weiterentwicklung einer Java/Oracle7-basierten Call-Center-Software. Erstellung eines Konzepts zur Erweiterung des vorhandenen Java-Frameworks um CRM-Ansätze. Umwandlung mehrerer MSIE-Applets in eine zusammenhängende Pure Java-Applikation. Integration von DCOM und Java zur Generierung von Serienbriefen mit Word97. Einsatz eines Pure Java-Webbrowsers zur Anzeige von HTML-Seiten aus der Java-Applikation. Konzeption und Implementierung von Java-Regressionstests basierend auf JUnit. Erstellung mehrerer Unix-Shell-Skripte zum Import von Daten in Oracle7 (Einsatz des SQL*Loaders). Erweiterung eines C++-Programms (in Verbindung mit Oracle Pro*C) zur Listengenerierung. Erweiterung von Word97-Dokumenten mit Auswertung von Datenbankfeldern durch Makros. Implementierung von Perl-Skripten zur Dokumentation der hierarchischen Abhängigkeit von Word97-Dokumenten mit Ausgabe in HTML.
-
Erstellung des Datenmodells und Datenbankschemas einer Auswertungsdatenbank unter Informix sowie Implementierung der SQL-Abfragen in ESQL/C zur Bonitaetspruefung mit ungenauen Informationsquellen. Implementierung von Perl-Skripten zum Reverse Engineering der bestehenden Programme und des zugehoerigen Datenmodells.
-
Objektorientierte Analyse, Design und Implementierung eines Kommunikationsframeworks in Java 1.1 für eine verteilte Anwendung im Bereich Teleservice zur Überwachung und Steuerung von Druckplatten-Belichtungsmaschinen über schmalbandige Verbindungen. (Arbeitsproben in Form von Quelltext und Dokumentation dieses Projekts sind auf Anfrage erhältlich.)
-
Entwicklung eines Client-Server Systems mit Datenbankanbindung (Informix) zur dynamischen Generierung personalisierter Werbeeinblendungen in Webseiten mehrerer Kunden (Werbeschaltsystem). Die Implementierung ist in C unter Verwendung von Unix-Sockets, POSIX-Threads, Informix Datablade Modulen sowie in ESQL/C für die SQL-Abfragen erfolgt. Spontane Erstellung von Apache und Squid-Hacks, um die Datenbankserver vor dem Ansturm zur Spitzenzeit der Mittagspause zu retten.
-
Erstellung mehrerer grafischer Anwendungen als Java-Applets. Grafische Darstellung von Vektorkarten (GIS) mehrerer Formate (2D und 3D) im Airbrush-Stil.