November 2002
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Schulung »Profilierung und Optimierung von Java-Anwendungen«
Java-Anwendungen, die fehlerfrei laufen, sind nicht automatisch optimal in puncto Zeit- und Speicherbedarf. Die Schulung erklärt zunächst, welche Probleme auftreten können und wie man Performance-Problemen und Speicherlecks (Memory leaks) mit Hilfe von Java-Profilern auf die Schliche kommen kann. Teilnehmer und Tutor setzen nach dem theoretischen Teil das Gelernte praktisch ein mit dem Ziel, eine konkrete Web-Anwendung zu optimieren.
Aufgaben:
Tools/Betriebssysteme:
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Sicherheitsanalyse
Der Kunde betreibt eine Web-Anwendung, die unter anderem dem Transfer sensibler Daten über das Internet per SSL dienen soll. Web-Infrastruktur und -Anwendung müssen sicherstellen, daß dabei ausschließlich starke kryptographische Verfahren zum Einsatz kommen und schwache Verschlüsselungsverfahren außen vor bleiben. Dies kann nur auf der Server-Seite erfolgen, da die Kommunikationspartner des Kunden keine Computer- oder Sicherheitsexperten sind.
»Abfallsprodukt« dieses Projekts ist eine Untersuchung der Sicherheit mehrerer nicht repräsentativ ausgewählter Banken sowie eine Demo-Anwendung, die serverseitig die Sicherheitseinstellungen des Browsers prüft und eine entsprechende Meldung anzeigt.
Rollen: IT-Berater, Entwickler
Aufgaben:
Tools/Betriebssysteme:
Fern-Fachhochschule Hamburg
Lehrauftrag im Fach Wirtschaftsinformatik
Aufgaben:
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Integration von Web-Anwendungen
Aufgaben:
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Web-Anwendung »Übermittlung von Abrechnungsdaten«
Aufgaben:
Eingesetzte Kenntnisse und Fähigkeiten:
Tools/Betriebssysteme:
Universität Dortmund, Fachbereich Informatik
Vorlesung »Web-Anwendungen mit Java«
Wie im Vorjahr unterrichtete ich auch 2002 Informatikstudenten der Universität Dortmund in weiterführenden Java-Themen. Schwerpunkt der Vorlesung ist der Einsatz von Java im Server und das Erstellen von Web-Applikationen.
Aufgaben:
Tools/Betriebssysteme:
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Web-Portal
Der Auftraggeber möchte in sein Web-Angebot externe
(Web-)Anwendungen integrieren können, die technisch und
ggf. auch organisatorisch eigenständig sind und über
eine jeweils unabhängige Benutzerverwaltung verfügen.
Eine zentrale Anforderung ist das Single Sign-on: Ein
in der Web-Umgebung des Auftraggebers registrierter
Benutzer kann auch bei externen Anwendungen bekannt
sein, dort jedoch im allgemeinen mit anderen
Anmeldedaten. Der Anwender soll ohne erneute
Kennworteingabe die externe Anwendung nutzen können.
Die Web-Umgebung des Auftraggebers basiert auf Apache
1.3 mit Tomcat 3.3 als JSP- und Servlet-Container,
Oracle als DBMS und Solaris als Betriebssystem. Ein
J2EE-konformer Applikationsserver ist nicht vorgesehen.
Aufgaben:
* Erstellen einer Portal-Architektur. Das Portal ist
in der Lage, pro Benutzer-Session Verbindungen zu
externen Web- oder anderen Anwendungen aufzubauen
und dort jeweils eine Sitzung im Namen des
Benutzers zu starten und zu führen. Das Portal
verwaltet dazu die Anmeldedaten des Benutzers für
jede externe Anwendung.
* Implementierung eines Teils der Portal-Architektur
für eine konkrete externe Anwendung.
* Allgemeine Beratung zu Web-Anwendungen
Tools/Betriebssysteme:
* Linux 2.4.10 (Entwicklung), Sun Microsystems
Solaris 2.8 (Einsatz), Jakarta Tomcat 4
(JSP-Container), PostgreSQL 7.2 (Entwicklung),
Oracle 8 (Einsatz), wird ergänzt.
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Bewertung von Content-Management-Systemen (CMS)
Aufgaben:
* Recherche nach für den Auftraggeber geeigneten, in Java
implementierten und erweiterbaren Open-Source-CMS. Bewertung der
einzelnen Systeme und Aussprechen einer Empfehlung.
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Web-Verzeichnisse mit Microsoft-Office- und PDF-Dateien
Der Auftraggeber möchte in sein Web-Angebot Verzeichnisansichten
integrieren. Eine Verzeichnisansicht soll neben den üblichen
Dateieigenschaften wie Name, Größe, Zeitpunkt der letzten Änderung
usw. auch jeweils den Titel von Dateien in den Formaten Microsoft
Office (Word, Excel, Powerpoint usw.) und PDF enthalten.
Aufgaben:
* Implementierung eines Servlets mit der gewünschten Funktionalität.
Die Architektur des "Index-Servlets" ermöglicht eine vollständige
Trennung von Funktion und Design, da die Darstellung über eine
unabhängige JSP-Seite erfolgt.
* Realisierung des Zugriffs auf Microsoft-Office-Dateien mit Hilfe
der Java-Klassenbibliothek POI. POI fehlte zum Zeitpunkt dieses
Projekts jedoch die Fähigkeit, die Metadaten von Office-Dokumenten
(Titel, Autor usw.) zu lesen. Der Consultant ergänzte diese
Funktionalität und brachte sie in das Jakarta-Projekt POI ein
(siehe http://jakarta.apache.org/poi/). Der Consultant erlangte
durch seinen Beitrag den Status eines "Committers" im POI-Projekt.
* Realisierung des Zugriffs auf PDF-Dateien mit Hilfe der
Java-Klassenbibliothek PJ (Open Source).
* Implementierung eines Caching-Verfahrens. Das Öffnen der
Microsoft-Office- und der PDF-Dateien sowie das Ermitteln der
Titel ist vergleichsweise aufwendig. Der Cache speichert die
einmal ermittelten Daten und gewährleistet, daß das Index-Servlet
nur geänderte oder neue Dateien öffnet.
* Dokumentation
* Allgemeine Beratung zu Web-Anwendungen
Tools/Betriebssysteme:
* Linux 2.4.10 (Entwicklung), Sun Microsystems Solaris 2.8
(Einsatz), Jakarta Tomcat 3.3 (JSP-Container), Jakarta POI 1.2.0
(Java-Klassenbibliothek für den Zugriff auf
Microsoft-Office-Dokumente, erweitert um eigene Funktionen für den
Zugriff auf Metadaten), Etymon Systems, Inc. PJ 1.10
(Java-Klassenbibliothek für den Zugriff auf PDF-Dateien)
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Benutzerverwaltung mit Tomcat
Der öffentliche Auftraggeber, der ungenannt bleiben möchte, betreibt
ein Web-Angebot unter Apache 1.3.12 und Tomcat 3.2 unter Solaris in
einer vom Consultant konzipierten Laufzeitarchitektur. Hier war
eine Benutzerverwaltung und -authentifizierung einzurichten, die mit
dem JSP-Container Tomcat arbeitet. Dabei waren Anwenderdaten zu
nutzen, die bereits in Datenbanktabellen einer bestehenden
Legacy-Anwendung vorlagen.
Aufgaben:
* Upgrade von Tomcat 3.2 auf Version 3.3, um die JDBCRealm (s.u.)
nutzen zu können.
* Anbindung von Tomcat 3.3 an Apache 1.3.12.
* Konfiguration von Tomcat 3.3 zur Benutzerauthentifizierung mit
Hilfe des spezifischen Datenbankadapter JDBCRealm. Tomcat greift
darüber auf die in Datenbanktabellen gespeicherten Benutzerdaten
zu. Anpassung von JDBCRealm an die Datenbank des Auftraggebers.
* Implementierung einer Web-Anwendung (Java Servlets, JSP), mit
deren Hilfe Mitglieder der geschlossenen Benutzergruppe ihre
Kennwörte ändern können. Verhinderung "einfacher" Kennwörter.
* Allgemeine Beratung zu Web-Anwendungen
Tools/Betriebssysteme:
* Linux 2.4.10 (Entwicklung), Sun Microsystems Solaris 2.8
(Einsatz), Jakarta Tomcat 3.3 (JSP-Container), PostgreSQL 7.1.3
(Entwicklung), Oracle 8 (Einsatz)
Hypovereinsbank AG (im Auftrag der Redqueen Technologies GmbH)
Business Gate
Das »Business Gate« ist ein Web-Portal für Firmenkunden der Bank. Es
besteht aus zwei Teilen: den Anwendungen, die innerhalb des Portals
ablaufen, und dem Portal an sich. Das Portal integriert die
Anwendungen technisch und visuell. Außerdem stellt es Dienste zur
Verfügung, die alle Anwendungen brauchen.
Aufgaben:
* Erstellung eines »Blue Prints« des Business Gates mit einer
Überblicksdokumentation der Gesamtarchitektur.
* Konzeption und Implementierung eines »Builders«. Dieses spezielle
Stück Software erstellt zur Laufzeit die komplexe,
anwendungsspezifische Web-Oberfläche des Business Gates aus
Einzelkomponenten. Die Implementierung des Business-Gates-Builders
basiert auf einer »Early Adopters«-Version des WebApp-Frameworks
der Abaxx AG, die Abaxx im Projektverlauf in ihre E-Business-Suite
integrierte.
* Entwicklung eines Distributionssystems für Software und Inhalte.
Das Distributionssystem installiert und konfiguriert eine neue
oder frühere Version der Business-Gate-Software in verschiedenen
Laufzeitumgebungen für Test, Qualitätssicherung und Produktion.
Geänderte Inhalte werden nach Freigabe vom Redaktionssystem
(RedDot unter Windows 2000) über einen Staging-Server (Solaris) in
die Produktionsumgebung (Solaris) gespielt. Meine Aufgabe war die
Leitung des Distributionsteams und die Implementierung der
Verteilung der Inhalte (im Unterschied zur Software). Dazu habe
ich unter anderem eine Java-Anwendung entwickelt, die über ein
entsprechendes API auf das Versionsmanagementsystem CVS zugreift,
Inhalte einstellt, herausholt und mit Tags versieht.
Tools/Betriebssysteme:
* Java 2 SDK 1.3.0, Abaxx E-Business Suite, Cygwin 1.3.2
(Unix-Umgebung unter Windows), OpenSSH
(Open-Source-Implementierung des SSH-Protokolls (Secure Shell)),
CVS 1.11 (Concurrent Versions System (Versionsmanagementsystem))
Universität Dortmund, Fachbereich Informatik
Vorlesung »Java für Fortgeschrittene«
Im Sommersemester 2001 unterrichtete ich Informatikstudenten
der Universität Dortmund in weiterführenden Java-Themen. Schwerpunkt
war der Einsatz von Java im Server und das Erstellen von
Web-Applikationen. Die Vorlesung vermittelt zunächst einen umfassenden
Überblick über die in Java 2 vorhandenen Pakete (Klassenbibliotheken)
und über die als Standarderweiterungen verfügbaren Pakete. Eine
Auswahl davon wird anschließend vertieft, z.B. Servlets, Java Server
Pages (JSP), Remote Method Invocation (RMI), Datenbankzugriff mit JDBC
und Sicherheit. Beispiele, einige Designmuster und nützliche Klassen
wie die in java.util enthaltenen Collections runden den Kurs ab.
Aufgaben:
* Konzeption von Vorlesung und Übungen
* Durchführung (2 Semesterwochenstunden (SWS) Vorlesung + 1 SWS
Übungen)
Tools/Betriebssysteme:
* Java 2 SDK 1.3, Java Server Pages (JSP) 1.1, Java Servlets 1.2,
JDBC 2.0, Open Source PostgreSQL 7.1.3
(Datenbankmanagementsystem), Sun Microsystems StarOffice 5.2
Deutsche Börse Systems AG (im Auftrag der Sun Microsystems
Deutschland GmbH)
Weiterentwicklung des Exchange Application Frameworks (Version 2)
Für das »Eurex Trading Java GUI« wurde ein Framework entwickelt, das
grundlegende Ablaufstrukturen, Klassen und Komponenten für
Börsenanwendungen zur Verfügung stellt. Für den Einsatz dieses
Frameworks in weiteren Börsenanwendungen gilt es, das Framework zu
konsolidieren und weiterzuentwickeln.
Aufgaben:
* Software-Design allgemein (UML)
* Multibörsenfähigkeit für Xetra
* Dokumentation
* Ausbildung von Framework-Nutzern (Entwicklern)
* Pflege, Dokumentation und WeiterDatentypen
Tools/Betriebssysteme:
* Together J 4.0, Java 2 SDK 1.3.0, Borland JBuilder 4.0, Swing, Cygwin
1.1.8 (Unix-Umgebung unter Windows)
Deutsche Börse Systems AG (im Auftrag der Sun Microsystems
Deutschland GmbH)
Dokumentation des Eurex-Trading-Frameworks
Erstellung der Dokumentation eines Großteils der Software-Architektur
und der -Komponenten des Eurex-Trading-Frameworks (siehe oben). Die
Dokumentation richtet sich an Entwickler, die mit der »Pflege des
Eurex Trading Java GUI« betraut sind.
Aufgaben:
* Dokumentation der Framework-Architektur (Gesamtüberblick).
* Dokumentation der wesentlichen Komponenten.
* Dokumentation der im Framework eingesetzten Entwurfsmuster (Design
patterns), soweit es sich um neue Pattern handelt.
* Sämtliche Dokumentationen wurden in Englisch erstellt.
* Entwicklung einer Document Type Definition (DTD) für die
Pattern-Dokumentation.
* Entwicklung eines XSL-Stylesheets zur Generierung der
HTML-Dokumentation aus den XML-Quellen.
Eingesetzte Kenntnisse und Fähigkeiten:
* XML (inkl. DTD-Entwicklung)
* XSL
* HTML
Tools/Betriebssysteme:
* Emacs (mit PSGML als XML-Editor), Xalan 1.2 (XSL-Prozessor), Swing
Knipp Medien und Kommunikation GmbH
Prototypische JSP-Oberfläche für EJB-Anwendung
Für einen Knipp-Kunden war eine Web-Anwendung zum Bestellen von
Abfallcontainern zu entwickeln. Die Fachkomponenten wurden als
Enterprise Java Beans (EJB) ausgeführt, die Web-Oberfläche mit Hilfe
von Java Server Pages (JSP) realisiert. Dies erfolgte zunächst als
Prototyp.
Aufgaben:
* Software-Architektur
* Realisierung der auf die EJB zugreifenden JSP-Seiten
* Implementierung von Dummy-EJBs mit Prototypfunktionalität, da die
»echten« EJBs zu diesem Zeitpunkt noch nicht zur Verfügung
standen.
Tools/Betriebssysteme:
* Tomcat 3.1 (JSP-Container), J2EE, Bea Weblogic 5.1, Windows NT
4.0, Linux
Knipp Medien und Kommunikation GmbH
Web-Oberflächenkomponenten für das Domain Name Registration System (DRS)
Aufgaben:
* Design applikationsunabhängiger Java-Komponenten zum Generieren
von HTML-Eingabeformularen mit Sprachunabhängigkeit, Validierung,
Hilfetexten, Navigation usw.
* Anbindung der Web-Oberfläche an das bestehende Domain Name
Registration System
Eingesetzte Kenntnisse und Fähigkeiten:
* Java
* HTML
* Linux
Tools/Betriebssysteme:
* Java Server Pages, Sybase
Deutsche Börse Systems AG (im Auftrag der Sun Microsystems
Deutschland GmbH)
Eurex Trading 4.1 Java GUI
Aufgaben:
* Konzeption und Implementierung applikationsunabhängiger
Java-Komponenten:
+ Universelle Texteingabekomponenten (»common component«) mit
Validierung, Shortcut-Ersetzung, Ansicht- und Editiermodus.
+ »Action Trigger« zur leichteren Modellierung und
Implementierung des Verhaltens komplexer Komponenten mit
vielen Zuständen. Im Eurex Trading kommt der Action Trigger
bei Business- und GUI-Komponenten zum Einsatz.
+ Konfigurationssystem zum Speichern der Konfiguration einer
Java-Anwendung als XML-Datei bzw. Laden der Konfiguration aus
dieser Datei. Integration dieses Systems in Eurex Trading.
+ Verbesserter Fokusmanager.
+ Export von Tabellen im CSV-Format.
* Fachspezifische Java-Entwicklungen:
+ Initiale Implementierung der »ProfileList«.
+ Implementierung des »OTC Block Trade Entry« inkl.
Benutzeroberfläche, Anwendungslogik, Backend-Kommunikation und Multibörsenfähigkeit (Eurex, Chicago Board of Trade). + Common components: Buy/Sell-Button, Datumseingabe mit Validierung * Mitarbeit beim Software-Design (UML). * Einsatz als »Allzweckwaffe« während der Korrekturphase von Eurex-Trading: Fehlerkorrekturen und Optimierungen in zahlreichen unterschiedlichen Programmteilen. * Implementierung eines auf GNU-Make basierenden Verfahrens zur Unterstützung der Programmentwicklung ohne IDE. Tools/Betriebssysteme: * Together J 3.2, Sun-Micrsystems Java 2 SDK 1.2.2 (diverse Sub-Versionen), Sun-Micrsystems Java 2 SDK 1.3 (diverse Sub-Versionen), Oracle JDeveloper 3.0, Oracle JDeveloper 3.1, JProbe, OptimizeIt, Cygwin B20 (Unix-Umgebung unter Windows), Apache (Open Source) Xerces (XML-Toolkit) Industrieverband Motorrad (IVM) (im Auftrag der NADS GmbH) Extranet für die Verbandsmitglieder Ziel des Projekts war der Aufbau einer Infrastruktur, über die der IVM seine Mitglieder mit Verbandsinformationen über E-Mails erreichen kann. Zentrale Komponente ist ein Lotus-Domino-Server (früher: Notes-Server), auf dem Workflow-Komponenten zunächst die redaktionelle Arbeit beim Erstellen und Freigeben neuer Dokumente begleiten. Die Zusammenfassung eines freigegebenes Dokuments wird per E-Mail an die Verbandsmitglieder verschickt. Diese können das vollständige Dokument auf dem Server mittels Browser in einer verschlüsselten Verbindung einsehen. Eine Authentifizierung ist erforderlich. Aufgaben: * Design der Software-Architektur * Entwicklung spezifischer Komponenten und Realisierung als Java-Agenten innerhalb des Domino-Servers * Entwicklung eines Verfahrens zum Hochladen beliebiger Dateien zum Domino-Server (in Java). Eingesetzte Kenntnisse und Fähigkeiten: * Administration des Domino-Servers * Entwicklung von Agenten in Java Tools/Betriebssysteme: * Lotus Domino Server R5 (5.03), Lotus Domino Designer R5 (5.03), Linux (Plattform des Domino-Servers während der Entwicklung), Windows NT/95 (Plattform für Domino Designer) Watermann GmbH, Dortmund (im Auftrag der NADS GmbH) Backup-System für Linux Konzeption und Realisierung einer kundenspezifischen Datensicherungslösung. Zu sichern sind Dateien und Informix-Datenbanken. Aufgaben: * Analyse * Realisierung einer allgemeinen Backup-Lösung (in Java) * Integration der Backup-Lösung in die Umgebung des Kunden (Skript) Tools/Betriebssysteme: * Sun Microsystems Java 2, Linux (Suse-Linux 6.2) Watermann GmbH, Dortmund (im Auftrag der NADS GmbH) Internet-Anbindung mit Firewall Die Anbindung der Watermann GmbH an das Internet war über eine auf Linux basierende Firewall zu realisieren. Dienste wie WWW, E-Mail und FTP sollten im Intranet verfügbar sein. Die Verbindung zum Internet erfolgt nicht über eine feste IP-Adresse, sondern es wird bei jedem Verbindungsaufbau dynamisch eine neue IP-Adresse vergeben. Aufgaben: * Bedarfsanalyse * Einrichtung einer aus zwei Linux-Rechnern bestehenden DMZ * Automatische Rekonfiguration der Firewall-Regeln an die jeweils dynamisch vom Provider vergebene IP-Adresse * Konfiguration des SMTP-Servers »sendmail«, des WWW-Proxies »squid« und des POP3-Clients »fetchmail«. Letzterer holt alle beim Provider aufgelaufenen E-Mails ab und verteilt sie via SMTP an die lokalen Empfänger Tools/Betriebssysteme: * Linux (Suse-Linux 6.2), ipchains (kernel-basierter Paketfilter), sendmail (SMTP-Server), squid (WWW- und FTP-Proxy), fetchmail (POP3-Client) Deutsche Börse Systems AG (im Auftrag der Sun Microsystems Deutschland GmbH) Eurex Clearing 4.1 Java GUI Im Jahr 1999 entwickelte die Deutsche Börse erstmals eine Java-Oberfläche für eine Börsenanwendung als Ablösung für die bestehende C++-Anwendung. Seit Mai 2000 ist die neue Anwendung in Produktion. Aufgaben: * (Weiter-)Entwicklung, Pflege und Dokumentation applikationsunabhängiger GUI-Komponenten (»Common Components«) zur komfortablen Texteingabe mit Validierung. * Konzeption und Entwicklung eines Java-Pakets zur interaktiven Analyse und Validierung von Texten anhand regulärer Ausdrücke. Der Java-Quellcode zur Analyse regulärer Ausdrücke wird mit Hilfe des Parsergenerators JavaCC erzeugt. * Nachträgliche Sicherstellung der Rückwärtskompatibilität der Anwendung mit JDK 1.1.8. Dazu Implementierung eines Tools zur Generierung von Sourcecode-Varianten für JDK 1.1.8 und JDK 1.2 aus einer gemeinsamen Quelle. Eingesetzte Kenntnisse und Fähigkeiten: * Diverse Java-Skills, insbesondere Swing. Tools/Betriebssysteme: * Java 2 SDK 1.2.2, JavaCC (Parsergenerator), Windows NT 4.0, Solaris, Linux Deutsche Bahn AG (im Auftrag der Sun Microsystems Deutschland GmbH) Aufbau eines Intranets Im Rahmen des Aufbau eines Intranets wurde ich als Java-Experte für die DB Informatik-Dienste GmbH (Erfurt) tätig. Aufgaben: * Integration des Java-Plugins und der Hotspot-JVM von Sun Microsystems in das Umfeld der »Bürokommunikation unternehmensweit« (BKU) der DB AG. * Beratung zur IT-Sicherheit, speziell im Hinblick auf Java. * Konzeption einer Public-Key-Infrastruktur (PKI) zum Einsatz digital signierter Java-Anwendungen und -Applets im Intranet. * Design und Implementierung einer graphischen Java-Anwendung auf Basis Swing zur komfortablen Verwaltung von Schlüsseln und Zertifikaten. Tools/Betriebssysteme: * Sun Microsystems Java 2 SDK 1.2, Swing, Microsoft Certificate Server, Windows NT 4.0, Linux
-------
Januar bis März 2000
-------
Januar 2000
-------
November bis Dezember 1999
-------
Dezember 1999 bis März 2000
-------
September bis Dezember 1999
-------
Weiter zurückliegende Projekte habe ich nicht aufgeführt.
Früher verwendete und sonstige Tools:
Früher verwendete Betriebssysteme: AIX, BS2000, HPUX, MS-DOS, Sun OS, Solaris, Unix
Früher verwendete Programmiersprachen: Ada, Algol 60, Algol 68, Assembler, C, Elan, Lotus Notes Script, Pascal, Simula
Lehraufträge:
Workshops:
Pressearbeit
Banken
Bildung & Training
Energie- und Wasserversorgung & Entsorgung
Fahrzeugbau/-zulieferer
Finanzdienstleister
Gross- und Einzelhandel
IT & Internet
Öffentlicher Dienst & Verbände
Sanitär- und Heizungstechnik
Telekommunikation
Transport & Logistik
Versicherungen
November 2002
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Schulung »Profilierung und Optimierung von Java-Anwendungen«
Java-Anwendungen, die fehlerfrei laufen, sind nicht automatisch optimal in puncto Zeit- und Speicherbedarf. Die Schulung erklärt zunächst, welche Probleme auftreten können und wie man Performance-Problemen und Speicherlecks (Memory leaks) mit Hilfe von Java-Profilern auf die Schliche kommen kann. Teilnehmer und Tutor setzen nach dem theoretischen Teil das Gelernte praktisch ein mit dem Ziel, eine konkrete Web-Anwendung zu optimieren.
Aufgaben:
Tools/Betriebssysteme:
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Sicherheitsanalyse
Der Kunde betreibt eine Web-Anwendung, die unter anderem dem Transfer sensibler Daten über das Internet per SSL dienen soll. Web-Infrastruktur und -Anwendung müssen sicherstellen, daß dabei ausschließlich starke kryptographische Verfahren zum Einsatz kommen und schwache Verschlüsselungsverfahren außen vor bleiben. Dies kann nur auf der Server-Seite erfolgen, da die Kommunikationspartner des Kunden keine Computer- oder Sicherheitsexperten sind.
»Abfallsprodukt« dieses Projekts ist eine Untersuchung der Sicherheit mehrerer nicht repräsentativ ausgewählter Banken sowie eine Demo-Anwendung, die serverseitig die Sicherheitseinstellungen des Browsers prüft und eine entsprechende Meldung anzeigt.
Rollen: IT-Berater, Entwickler
Aufgaben:
Tools/Betriebssysteme:
Fern-Fachhochschule Hamburg
Lehrauftrag im Fach Wirtschaftsinformatik
Aufgaben:
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Integration von Web-Anwendungen
Aufgaben:
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Web-Anwendung »Übermittlung von Abrechnungsdaten«
Aufgaben:
Eingesetzte Kenntnisse und Fähigkeiten:
Tools/Betriebssysteme:
Universität Dortmund, Fachbereich Informatik
Vorlesung »Web-Anwendungen mit Java«
Wie im Vorjahr unterrichtete ich auch 2002 Informatikstudenten der Universität Dortmund in weiterführenden Java-Themen. Schwerpunkt der Vorlesung ist der Einsatz von Java im Server und das Erstellen von Web-Applikationen.
Aufgaben:
Tools/Betriebssysteme:
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Web-Portal
Der Auftraggeber möchte in sein Web-Angebot externe
(Web-)Anwendungen integrieren können, die technisch und
ggf. auch organisatorisch eigenständig sind und über
eine jeweils unabhängige Benutzerverwaltung verfügen.
Eine zentrale Anforderung ist das Single Sign-on: Ein
in der Web-Umgebung des Auftraggebers registrierter
Benutzer kann auch bei externen Anwendungen bekannt
sein, dort jedoch im allgemeinen mit anderen
Anmeldedaten. Der Anwender soll ohne erneute
Kennworteingabe die externe Anwendung nutzen können.
Die Web-Umgebung des Auftraggebers basiert auf Apache
1.3 mit Tomcat 3.3 als JSP- und Servlet-Container,
Oracle als DBMS und Solaris als Betriebssystem. Ein
J2EE-konformer Applikationsserver ist nicht vorgesehen.
Aufgaben:
* Erstellen einer Portal-Architektur. Das Portal ist
in der Lage, pro Benutzer-Session Verbindungen zu
externen Web- oder anderen Anwendungen aufzubauen
und dort jeweils eine Sitzung im Namen des
Benutzers zu starten und zu führen. Das Portal
verwaltet dazu die Anmeldedaten des Benutzers für
jede externe Anwendung.
* Implementierung eines Teils der Portal-Architektur
für eine konkrete externe Anwendung.
* Allgemeine Beratung zu Web-Anwendungen
Tools/Betriebssysteme:
* Linux 2.4.10 (Entwicklung), Sun Microsystems
Solaris 2.8 (Einsatz), Jakarta Tomcat 4
(JSP-Container), PostgreSQL 7.2 (Entwicklung),
Oracle 8 (Einsatz), wird ergänzt.
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Bewertung von Content-Management-Systemen (CMS)
Aufgaben:
* Recherche nach für den Auftraggeber geeigneten, in Java
implementierten und erweiterbaren Open-Source-CMS. Bewertung der
einzelnen Systeme und Aussprechen einer Empfehlung.
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Web-Verzeichnisse mit Microsoft-Office- und PDF-Dateien
Der Auftraggeber möchte in sein Web-Angebot Verzeichnisansichten
integrieren. Eine Verzeichnisansicht soll neben den üblichen
Dateieigenschaften wie Name, Größe, Zeitpunkt der letzten Änderung
usw. auch jeweils den Titel von Dateien in den Formaten Microsoft
Office (Word, Excel, Powerpoint usw.) und PDF enthalten.
Aufgaben:
* Implementierung eines Servlets mit der gewünschten Funktionalität.
Die Architektur des "Index-Servlets" ermöglicht eine vollständige
Trennung von Funktion und Design, da die Darstellung über eine
unabhängige JSP-Seite erfolgt.
* Realisierung des Zugriffs auf Microsoft-Office-Dateien mit Hilfe
der Java-Klassenbibliothek POI. POI fehlte zum Zeitpunkt dieses
Projekts jedoch die Fähigkeit, die Metadaten von Office-Dokumenten
(Titel, Autor usw.) zu lesen. Der Consultant ergänzte diese
Funktionalität und brachte sie in das Jakarta-Projekt POI ein
(siehe http://jakarta.apache.org/poi/). Der Consultant erlangte
durch seinen Beitrag den Status eines "Committers" im POI-Projekt.
* Realisierung des Zugriffs auf PDF-Dateien mit Hilfe der
Java-Klassenbibliothek PJ (Open Source).
* Implementierung eines Caching-Verfahrens. Das Öffnen der
Microsoft-Office- und der PDF-Dateien sowie das Ermitteln der
Titel ist vergleichsweise aufwendig. Der Cache speichert die
einmal ermittelten Daten und gewährleistet, daß das Index-Servlet
nur geänderte oder neue Dateien öffnet.
* Dokumentation
* Allgemeine Beratung zu Web-Anwendungen
Tools/Betriebssysteme:
* Linux 2.4.10 (Entwicklung), Sun Microsystems Solaris 2.8
(Einsatz), Jakarta Tomcat 3.3 (JSP-Container), Jakarta POI 1.2.0
(Java-Klassenbibliothek für den Zugriff auf
Microsoft-Office-Dokumente, erweitert um eigene Funktionen für den
Zugriff auf Metadaten), Etymon Systems, Inc. PJ 1.10
(Java-Klassenbibliothek für den Zugriff auf PDF-Dateien)
Öffentlicher Auftraggeber im Gesundheitswesen (Dortmund)
Benutzerverwaltung mit Tomcat
Der öffentliche Auftraggeber, der ungenannt bleiben möchte, betreibt
ein Web-Angebot unter Apache 1.3.12 und Tomcat 3.2 unter Solaris in
einer vom Consultant konzipierten Laufzeitarchitektur. Hier war
eine Benutzerverwaltung und -authentifizierung einzurichten, die mit
dem JSP-Container Tomcat arbeitet. Dabei waren Anwenderdaten zu
nutzen, die bereits in Datenbanktabellen einer bestehenden
Legacy-Anwendung vorlagen.
Aufgaben:
* Upgrade von Tomcat 3.2 auf Version 3.3, um die JDBCRealm (s.u.)
nutzen zu können.
* Anbindung von Tomcat 3.3 an Apache 1.3.12.
* Konfiguration von Tomcat 3.3 zur Benutzerauthentifizierung mit
Hilfe des spezifischen Datenbankadapter JDBCRealm. Tomcat greift
darüber auf die in Datenbanktabellen gespeicherten Benutzerdaten
zu. Anpassung von JDBCRealm an die Datenbank des Auftraggebers.
* Implementierung einer Web-Anwendung (Java Servlets, JSP), mit
deren Hilfe Mitglieder der geschlossenen Benutzergruppe ihre
Kennwörte ändern können. Verhinderung "einfacher" Kennwörter.
* Allgemeine Beratung zu Web-Anwendungen
Tools/Betriebssysteme:
* Linux 2.4.10 (Entwicklung), Sun Microsystems Solaris 2.8
(Einsatz), Jakarta Tomcat 3.3 (JSP-Container), PostgreSQL 7.1.3
(Entwicklung), Oracle 8 (Einsatz)
Hypovereinsbank AG (im Auftrag der Redqueen Technologies GmbH)
Business Gate
Das »Business Gate« ist ein Web-Portal für Firmenkunden der Bank. Es
besteht aus zwei Teilen: den Anwendungen, die innerhalb des Portals
ablaufen, und dem Portal an sich. Das Portal integriert die
Anwendungen technisch und visuell. Außerdem stellt es Dienste zur
Verfügung, die alle Anwendungen brauchen.
Aufgaben:
* Erstellung eines »Blue Prints« des Business Gates mit einer
Überblicksdokumentation der Gesamtarchitektur.
* Konzeption und Implementierung eines »Builders«. Dieses spezielle
Stück Software erstellt zur Laufzeit die komplexe,
anwendungsspezifische Web-Oberfläche des Business Gates aus
Einzelkomponenten. Die Implementierung des Business-Gates-Builders
basiert auf einer »Early Adopters«-Version des WebApp-Frameworks
der Abaxx AG, die Abaxx im Projektverlauf in ihre E-Business-Suite
integrierte.
* Entwicklung eines Distributionssystems für Software und Inhalte.
Das Distributionssystem installiert und konfiguriert eine neue
oder frühere Version der Business-Gate-Software in verschiedenen
Laufzeitumgebungen für Test, Qualitätssicherung und Produktion.
Geänderte Inhalte werden nach Freigabe vom Redaktionssystem
(RedDot unter Windows 2000) über einen Staging-Server (Solaris) in
die Produktionsumgebung (Solaris) gespielt. Meine Aufgabe war die
Leitung des Distributionsteams und die Implementierung der
Verteilung der Inhalte (im Unterschied zur Software). Dazu habe
ich unter anderem eine Java-Anwendung entwickelt, die über ein
entsprechendes API auf das Versionsmanagementsystem CVS zugreift,
Inhalte einstellt, herausholt und mit Tags versieht.
Tools/Betriebssysteme:
* Java 2 SDK 1.3.0, Abaxx E-Business Suite, Cygwin 1.3.2
(Unix-Umgebung unter Windows), OpenSSH
(Open-Source-Implementierung des SSH-Protokolls (Secure Shell)),
CVS 1.11 (Concurrent Versions System (Versionsmanagementsystem))
Universität Dortmund, Fachbereich Informatik
Vorlesung »Java für Fortgeschrittene«
Im Sommersemester 2001 unterrichtete ich Informatikstudenten
der Universität Dortmund in weiterführenden Java-Themen. Schwerpunkt
war der Einsatz von Java im Server und das Erstellen von
Web-Applikationen. Die Vorlesung vermittelt zunächst einen umfassenden
Überblick über die in Java 2 vorhandenen Pakete (Klassenbibliotheken)
und über die als Standarderweiterungen verfügbaren Pakete. Eine
Auswahl davon wird anschließend vertieft, z.B. Servlets, Java Server
Pages (JSP), Remote Method Invocation (RMI), Datenbankzugriff mit JDBC
und Sicherheit. Beispiele, einige Designmuster und nützliche Klassen
wie die in java.util enthaltenen Collections runden den Kurs ab.
Aufgaben:
* Konzeption von Vorlesung und Übungen
* Durchführung (2 Semesterwochenstunden (SWS) Vorlesung + 1 SWS
Übungen)
Tools/Betriebssysteme:
* Java 2 SDK 1.3, Java Server Pages (JSP) 1.1, Java Servlets 1.2,
JDBC 2.0, Open Source PostgreSQL 7.1.3
(Datenbankmanagementsystem), Sun Microsystems StarOffice 5.2
Deutsche Börse Systems AG (im Auftrag der Sun Microsystems
Deutschland GmbH)
Weiterentwicklung des Exchange Application Frameworks (Version 2)
Für das »Eurex Trading Java GUI« wurde ein Framework entwickelt, das
grundlegende Ablaufstrukturen, Klassen und Komponenten für
Börsenanwendungen zur Verfügung stellt. Für den Einsatz dieses
Frameworks in weiteren Börsenanwendungen gilt es, das Framework zu
konsolidieren und weiterzuentwickeln.
Aufgaben:
* Software-Design allgemein (UML)
* Multibörsenfähigkeit für Xetra
* Dokumentation
* Ausbildung von Framework-Nutzern (Entwicklern)
* Pflege, Dokumentation und WeiterDatentypen
Tools/Betriebssysteme:
* Together J 4.0, Java 2 SDK 1.3.0, Borland JBuilder 4.0, Swing, Cygwin
1.1.8 (Unix-Umgebung unter Windows)
Deutsche Börse Systems AG (im Auftrag der Sun Microsystems
Deutschland GmbH)
Dokumentation des Eurex-Trading-Frameworks
Erstellung der Dokumentation eines Großteils der Software-Architektur
und der -Komponenten des Eurex-Trading-Frameworks (siehe oben). Die
Dokumentation richtet sich an Entwickler, die mit der »Pflege des
Eurex Trading Java GUI« betraut sind.
Aufgaben:
* Dokumentation der Framework-Architektur (Gesamtüberblick).
* Dokumentation der wesentlichen Komponenten.
* Dokumentation der im Framework eingesetzten Entwurfsmuster (Design
patterns), soweit es sich um neue Pattern handelt.
* Sämtliche Dokumentationen wurden in Englisch erstellt.
* Entwicklung einer Document Type Definition (DTD) für die
Pattern-Dokumentation.
* Entwicklung eines XSL-Stylesheets zur Generierung der
HTML-Dokumentation aus den XML-Quellen.
Eingesetzte Kenntnisse und Fähigkeiten:
* XML (inkl. DTD-Entwicklung)
* XSL
* HTML
Tools/Betriebssysteme:
* Emacs (mit PSGML als XML-Editor), Xalan 1.2 (XSL-Prozessor), Swing
Knipp Medien und Kommunikation GmbH
Prototypische JSP-Oberfläche für EJB-Anwendung
Für einen Knipp-Kunden war eine Web-Anwendung zum Bestellen von
Abfallcontainern zu entwickeln. Die Fachkomponenten wurden als
Enterprise Java Beans (EJB) ausgeführt, die Web-Oberfläche mit Hilfe
von Java Server Pages (JSP) realisiert. Dies erfolgte zunächst als
Prototyp.
Aufgaben:
* Software-Architektur
* Realisierung der auf die EJB zugreifenden JSP-Seiten
* Implementierung von Dummy-EJBs mit Prototypfunktionalität, da die
»echten« EJBs zu diesem Zeitpunkt noch nicht zur Verfügung
standen.
Tools/Betriebssysteme:
* Tomcat 3.1 (JSP-Container), J2EE, Bea Weblogic 5.1, Windows NT
4.0, Linux
Knipp Medien und Kommunikation GmbH
Web-Oberflächenkomponenten für das Domain Name Registration System (DRS)
Aufgaben:
* Design applikationsunabhängiger Java-Komponenten zum Generieren
von HTML-Eingabeformularen mit Sprachunabhängigkeit, Validierung,
Hilfetexten, Navigation usw.
* Anbindung der Web-Oberfläche an das bestehende Domain Name
Registration System
Eingesetzte Kenntnisse und Fähigkeiten:
* Java
* HTML
* Linux
Tools/Betriebssysteme:
* Java Server Pages, Sybase
Deutsche Börse Systems AG (im Auftrag der Sun Microsystems
Deutschland GmbH)
Eurex Trading 4.1 Java GUI
Aufgaben:
* Konzeption und Implementierung applikationsunabhängiger
Java-Komponenten:
+ Universelle Texteingabekomponenten (»common component«) mit
Validierung, Shortcut-Ersetzung, Ansicht- und Editiermodus.
+ »Action Trigger« zur leichteren Modellierung und
Implementierung des Verhaltens komplexer Komponenten mit
vielen Zuständen. Im Eurex Trading kommt der Action Trigger
bei Business- und GUI-Komponenten zum Einsatz.
+ Konfigurationssystem zum Speichern der Konfiguration einer
Java-Anwendung als XML-Datei bzw. Laden der Konfiguration aus
dieser Datei. Integration dieses Systems in Eurex Trading.
+ Verbesserter Fokusmanager.
+ Export von Tabellen im CSV-Format.
* Fachspezifische Java-Entwicklungen:
+ Initiale Implementierung der »ProfileList«.
+ Implementierung des »OTC Block Trade Entry« inkl.
Benutzeroberfläche, Anwendungslogik, Backend-Kommunikation und Multibörsenfähigkeit (Eurex, Chicago Board of Trade). + Common components: Buy/Sell-Button, Datumseingabe mit Validierung * Mitarbeit beim Software-Design (UML). * Einsatz als »Allzweckwaffe« während der Korrekturphase von Eurex-Trading: Fehlerkorrekturen und Optimierungen in zahlreichen unterschiedlichen Programmteilen. * Implementierung eines auf GNU-Make basierenden Verfahrens zur Unterstützung der Programmentwicklung ohne IDE. Tools/Betriebssysteme: * Together J 3.2, Sun-Micrsystems Java 2 SDK 1.2.2 (diverse Sub-Versionen), Sun-Micrsystems Java 2 SDK 1.3 (diverse Sub-Versionen), Oracle JDeveloper 3.0, Oracle JDeveloper 3.1, JProbe, OptimizeIt, Cygwin B20 (Unix-Umgebung unter Windows), Apache (Open Source) Xerces (XML-Toolkit) Industrieverband Motorrad (IVM) (im Auftrag der NADS GmbH) Extranet für die Verbandsmitglieder Ziel des Projekts war der Aufbau einer Infrastruktur, über die der IVM seine Mitglieder mit Verbandsinformationen über E-Mails erreichen kann. Zentrale Komponente ist ein Lotus-Domino-Server (früher: Notes-Server), auf dem Workflow-Komponenten zunächst die redaktionelle Arbeit beim Erstellen und Freigeben neuer Dokumente begleiten. Die Zusammenfassung eines freigegebenes Dokuments wird per E-Mail an die Verbandsmitglieder verschickt. Diese können das vollständige Dokument auf dem Server mittels Browser in einer verschlüsselten Verbindung einsehen. Eine Authentifizierung ist erforderlich. Aufgaben: * Design der Software-Architektur * Entwicklung spezifischer Komponenten und Realisierung als Java-Agenten innerhalb des Domino-Servers * Entwicklung eines Verfahrens zum Hochladen beliebiger Dateien zum Domino-Server (in Java). Eingesetzte Kenntnisse und Fähigkeiten: * Administration des Domino-Servers * Entwicklung von Agenten in Java Tools/Betriebssysteme: * Lotus Domino Server R5 (5.03), Lotus Domino Designer R5 (5.03), Linux (Plattform des Domino-Servers während der Entwicklung), Windows NT/95 (Plattform für Domino Designer) Watermann GmbH, Dortmund (im Auftrag der NADS GmbH) Backup-System für Linux Konzeption und Realisierung einer kundenspezifischen Datensicherungslösung. Zu sichern sind Dateien und Informix-Datenbanken. Aufgaben: * Analyse * Realisierung einer allgemeinen Backup-Lösung (in Java) * Integration der Backup-Lösung in die Umgebung des Kunden (Skript) Tools/Betriebssysteme: * Sun Microsystems Java 2, Linux (Suse-Linux 6.2) Watermann GmbH, Dortmund (im Auftrag der NADS GmbH) Internet-Anbindung mit Firewall Die Anbindung der Watermann GmbH an das Internet war über eine auf Linux basierende Firewall zu realisieren. Dienste wie WWW, E-Mail und FTP sollten im Intranet verfügbar sein. Die Verbindung zum Internet erfolgt nicht über eine feste IP-Adresse, sondern es wird bei jedem Verbindungsaufbau dynamisch eine neue IP-Adresse vergeben. Aufgaben: * Bedarfsanalyse * Einrichtung einer aus zwei Linux-Rechnern bestehenden DMZ * Automatische Rekonfiguration der Firewall-Regeln an die jeweils dynamisch vom Provider vergebene IP-Adresse * Konfiguration des SMTP-Servers »sendmail«, des WWW-Proxies »squid« und des POP3-Clients »fetchmail«. Letzterer holt alle beim Provider aufgelaufenen E-Mails ab und verteilt sie via SMTP an die lokalen Empfänger Tools/Betriebssysteme: * Linux (Suse-Linux 6.2), ipchains (kernel-basierter Paketfilter), sendmail (SMTP-Server), squid (WWW- und FTP-Proxy), fetchmail (POP3-Client) Deutsche Börse Systems AG (im Auftrag der Sun Microsystems Deutschland GmbH) Eurex Clearing 4.1 Java GUI Im Jahr 1999 entwickelte die Deutsche Börse erstmals eine Java-Oberfläche für eine Börsenanwendung als Ablösung für die bestehende C++-Anwendung. Seit Mai 2000 ist die neue Anwendung in Produktion. Aufgaben: * (Weiter-)Entwicklung, Pflege und Dokumentation applikationsunabhängiger GUI-Komponenten (»Common Components«) zur komfortablen Texteingabe mit Validierung. * Konzeption und Entwicklung eines Java-Pakets zur interaktiven Analyse und Validierung von Texten anhand regulärer Ausdrücke. Der Java-Quellcode zur Analyse regulärer Ausdrücke wird mit Hilfe des Parsergenerators JavaCC erzeugt. * Nachträgliche Sicherstellung der Rückwärtskompatibilität der Anwendung mit JDK 1.1.8. Dazu Implementierung eines Tools zur Generierung von Sourcecode-Varianten für JDK 1.1.8 und JDK 1.2 aus einer gemeinsamen Quelle. Eingesetzte Kenntnisse und Fähigkeiten: * Diverse Java-Skills, insbesondere Swing. Tools/Betriebssysteme: * Java 2 SDK 1.2.2, JavaCC (Parsergenerator), Windows NT 4.0, Solaris, Linux Deutsche Bahn AG (im Auftrag der Sun Microsystems Deutschland GmbH) Aufbau eines Intranets Im Rahmen des Aufbau eines Intranets wurde ich als Java-Experte für die DB Informatik-Dienste GmbH (Erfurt) tätig. Aufgaben: * Integration des Java-Plugins und der Hotspot-JVM von Sun Microsystems in das Umfeld der »Bürokommunikation unternehmensweit« (BKU) der DB AG. * Beratung zur IT-Sicherheit, speziell im Hinblick auf Java. * Konzeption einer Public-Key-Infrastruktur (PKI) zum Einsatz digital signierter Java-Anwendungen und -Applets im Intranet. * Design und Implementierung einer graphischen Java-Anwendung auf Basis Swing zur komfortablen Verwaltung von Schlüsseln und Zertifikaten. Tools/Betriebssysteme: * Sun Microsystems Java 2 SDK 1.2, Swing, Microsoft Certificate Server, Windows NT 4.0, Linux
-------
Januar bis März 2000
-------
Januar 2000
-------
November bis Dezember 1999
-------
Dezember 1999 bis März 2000
-------
September bis Dezember 1999
-------
Weiter zurückliegende Projekte habe ich nicht aufgeführt.
Früher verwendete und sonstige Tools:
Früher verwendete Betriebssysteme: AIX, BS2000, HPUX, MS-DOS, Sun OS, Solaris, Unix
Früher verwendete Programmiersprachen: Ada, Algol 60, Algol 68, Assembler, C, Elan, Lotus Notes Script, Pascal, Simula
Lehraufträge:
Workshops:
Pressearbeit
Banken
Bildung & Training
Energie- und Wasserversorgung & Entsorgung
Fahrzeugbau/-zulieferer
Finanzdienstleister
Gross- und Einzelhandel
IT & Internet
Öffentlicher Dienst & Verbände
Sanitär- und Heizungstechnik
Telekommunikation
Transport & Logistik
Versicherungen
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.
"Der Consultant zeichnete sich durch hervorragende Sachkenntnis in den Bereichen Unix und Java aus. Er arbeitete von der Konzeption bis zur Umsetzung und Dokumentation in hervorragender Qualität eigenverantwortlich. An vielen Stellen konnte er dem Team Hilfestellungen geben. Wir werdenjederzeit gern wieder mit ihm zusammen arbeiten."
— Projekt Java-Anwendung zur SSL-Schlüsselverwaltung, 09/99 - 12/99
Referenz durch Abteilungsleiter INet bei der DB AG vom 20.12.01
"Der Consultant verfügt über ein tiefes und breit gefächertes Wissen im Bereich UNIX, Internet und Java. Er trug mit seiner Kompetenz wesentlich dazu bei, dass in unserem Unternehmen seit November "99 auschließlich Linux eingesetzt wird. Er half uns mit seiner Erfahrung bei der Konzeptionierung und Aufbau der IT-Struktur, der Auswahl der Hardware und den Sicherheitskonzepten. Der Consultant konfigurierte diverse Dienste wie www, eMail und ftp. Es gab uns ein sicheres Gefühl, dass seine Firewall aufgesetzt wurde. Der Consultant weckte unser Interesse an Java, JSP und Tomcat, den Grundlagen unseres heute weit entwickelten Intranets. Kommt man trotz API und News-Groups bei einem Javaproblem nicht weiter, es gibt ja immer noch dieses Consultant."
— Projekt Internet-Anbindung mit Firewall, 11/99 - 12/99
Referenz durch Miarbeiter der Watermann GmbH & Co KG Dortmund vom 08.11.01