Arbeitsinhalte 01.04.00 - 05.08.00
-
BEA Weblogic Application Server Schulung
Teilnahme
-
Softwareentwicklungs-Arbeitsplatz
Einrichtung; Borland JBuilder an Informix SQL Datenbank
-
Kundendatenbank GUIs
-
Datenbank-Test-GUIs
-
XML Datenbank Input Beispiel
-
Softwareentwicklungs-Arbeitsplatz
Einrichtung: VisualAge for Java mit Weblogic
-
Logging Systeme
Vergleich 1.: LogAdapter-Hierarchie (Testplattform)
-
Logging Systeme
Vergleich 2.: Featurebeschreibung (IBM log4j u.a.)
-
Features
integrierter Software-Entwicklungsumgebungen - Vortrag
-
ULTF 1.: Syslog Klassen
-
ULTF 2.: XMLFormatter
-
ULTF 3.: Facade Test
-
Zusammenfassung
Nebenprodukt: Aufnahme in die Liste der Contributing Authors als Entdecker eines Fehlers in der * SUN-XML-Dokumentation.
Die Beschreibungen sind gegliedert nach:
Thema
- Ziel
- Beschreibung der Arbeit und Resultate
- Plattform bzw. Werkzeuge
- Umfang in kB (Code, ASCII-Texte)
- Zeitaufwand
Verweise auf (Teile von) Ergebnisse(n) sollen einen Eindruck der Arbeitsinhalte
ermöglichen.
Arbeitsproben ohne HTML-Format sind mit (TXT) gekennzeichnet.
1. BEA WeblogicApplication
Server Schulung Teilnahme
-
Kursteilnahme, ganztags
-
Übungen in EJB, JMS, JNDI, JSP, JDBC, Servlets
-
BEA Weblogic Application Server 5.1, Java 2
-
-
-
Fünf Tage (plus weitere drei Tage eigene Übungen danach)
2. Softwareentwicklungs-Arbeitsplatz
Einrichtung: JBuilder
-
Hard- und Software-Installation, Einarbeitung in die nötigen Arbeitswerkzeuge
-
Als Entwicklungsumgebung konnte nicht, wie zuerst installiert, JBuilder
3.0 verwendet werden, da er die benötigten DB-Anbindungsklassen nicht
mehr verwendet. Der in dieser Hinsicht passende JBuilder 2.5 ließ
mit JDK 1.1.8 keine Verwendung des Debuggers zu, war aber letztlich das
Werkzeug der Wahl (siehe z.B. JBuilder und JDK1.1.8
Probleme (TXT)).
-
Borland JBuilder 2.5 und 3.0, JDK 1.1.8, Borland SQL Explorer
-
-
-
Zwei Tage (zusammengefasst)
3. Kundendatenbank GUIs
-
Debugging, Ausbau und Korrekturen nach Kundenwünschen ("Bugliste").
-
80 % der Fehler und Wünsche der Liste sowie neu entdeckte bugs waren
(zusammengefasst) innerhalb weniger Tage bearbeitet. Ca. eine Woche wurde
insgesamt für weitere ca. 10% der Liste verwendet. Die übrigen
20 Tage wurden benötigt, um für eine zusammenhängende Gruppe
von bugs, deren Ursache schließlich außerhalb der Applikation
nachgeweisen werden konnte, Lösungen zu finden (siehe Datenbank-Test-GUIs).
Auslieferung war Ende Mai, bis zu meiner Entlassung (Ende Juli) kamen vom
Kunden keine neuen Fehlermeldungen.
-
Borland JBuilder 2,5 (mit JDK 1.1.8) an Informix SQL Server.
-
Zu/innerhalb ca. 500 kB existierendem GUI-Code vermutlich einige kB.
-
30 Tage (wie vorausgesagt)
4. Datenbank-Test-GUIs
-
Test-GUIs zur Lokalisation von Datenbank-Anbindungs-Fehlern.
-
Um zu prüfen, ob die Ursache einer Bug-Gruppe ("error code 5123")
im Java Code der Applikation lag, oder - wie vermutet - in der Interaktion
zwischen Borland Datenbank-Anbindungsklassen (z.B.borland.jbcl.util.Variant),
DB-Treiber und der DB, implementierte ich diverse Test-GUIs. Die Annahme
erwies sich als richtig. Mit Hilfe der Test-GUIs wurden Lösungen (workarounds)
erprobt, um diese bugs zu umgehen (z.B. die Vermeidung, Leerstrings an
DB zu schicken, die dort aber als NULL eingetragen wurden) bzw. ihr Auftreten
zu verhindern (z.B. die generelle Ersetzung des Datentyps DOUBLE durch
BIGDECIMAL). Leider gab es für die Borland-Datenbank-Klassen (die
in JBuilder 3.0 keine Verwendung mehr finden) keine updates und nur drei
Treiber waren zur Auswahl vorhanden, die aber alle diese bugs mehr oder
weniger zeigten.
-
Borland JBuilder 2.5 (mit JDK 1.1.8) an Informix SQL Server.
-
Einige kB.
-
innerhalb der o.g. 30 Tage
5. XML Datenbank Input
Beispiel
-
Implementierung einer Lösungsidee als Muster für ein SPM-internes
tool.
-
Sehr große Datendateien im XML-Format (> 10 MB) konnten von Oracle
OracleXMLSave nicht im Ganzen verarbeitet werden. Die (Not-) Lösung
bestand darin, aus der XML-Datei jeweils nur einzelne Records (anhand der
tags) zu lesen und an die ORACLE Routine weiterzugeben. Mein Einfall (exemplarisch
implementiert zusammen mit dem Datenbank-Spezialisten, bei dessen Arbeit
das Problem aufgetaucht war) wurde von der Arbeitsgruppe übernommen
und - neu und gründlich von einem anderen Java-Programmierer implementiert
- im Betrieb benutzt.
-
Borland JBuilder 2.5 (mit JDK 1.1.8) an Oracle Klasse OracleXMLSave.java
-
3,4 kB
-
2 Stunden
6. Softwareentwicklungs-Arbeitsplatz
Einrichtung: VisualAge
-
Installation der / Einarbeitung in die nötigen Arbeitswerkzeuge, Tools,
Systeme, Basis-Packages
-
Funktionsfähige, die Basis-Sources benutzende Entwicklungs-Plattformen
in VisualAge und auf Promptebene.
-
Identifikation der Basis-Sources (welche und wo liegen sie) (siehe z.B.
Konfigurationsliste (TXT)).
-
Downloads benötigter Packages (JAXP, WLS-Integration Kit).
-
Mitarbeit an der Klärung der offenen Frage des
Konfigurations-Managements (wo und wie in SourceSafe Arbeitsergebnisse
künftig liegen sollen),
-
Tests zur VisualAge-SourceSafe-Anbindung.
-
Tests zur VisualAge-Weblogic-Integration (TXT).
-
IBM VisualAge for Java 3.0, BEA Weblogic 5.1 Integration Kit, Sun Java
XML package, NMake, MS VisualSourceSafe, Rational Rose
-
-
-
Drei Tage
7. Logging
Systeme Vergleich 1.: Testplattform
-
Implementierung einer kleinen Testplattform.
-
Beliebige Loggingsysteme können per subclassing der Klasse LogAdapter
entsprechend dem LogAdapterInterface angebunden und ausgelöst durch
Client-Calls von einer stateless EJB benutzt / getestet
werden (siehe LogAdapter-Klassenhierarchie (TXT)).
-
IBM VisualAge for Java 3.0 mit BEA Weblogic 5.1 Integration Kit
-
Sieben Klassen, ein Interface, 44 kB [plus generierte Interfaces]
-
Acht Tage
8. Logging
Systeme Vergleich 2.: Featurebeschreibung
-
Materialsammlung für eine Evaluation mehrerer Loggingsysteme
-
Ergebnisse:
-
Erfassung vorhandener und geplanter Features von drei Loggingsystemen anhand
der Dokumentationen (soweit vorhanden) oder durch Code-Analyse (z.B.Log4J
usage by EJB (TXT)).
-
Test der Grundfunktionen (Logging in Console, File, Syslog) mithilfe der
o.g. Testplattform. (z.B. Weblogic_Logging_Cookbook (TXT)).
-
Beschreibung der Funktionen Logging-Systeme-Vergleich (TXT).
-
WORD-Doc-Beitrag: drei Kapitel und eine Tabelle; als ASCII draft siehe
Logging-Systeme-Evaluation (TXT).
-
Erstellung einer Javadoc des SPM Loggingsystems nach (provisorischer) Anpassung
in der Entwicklung befindlicher Packages.
-
IBM VisualAge for Java 3.0 mit BEA WebLogic 5.1 Integration Kit
-
ASCII ca. 18 kB, integriert in das WORD Dokument eines Kollegen.
-
Sieben Tage
9. Features
integrierter Software-Entwicklungsumgebungen
-
Vortrag innerhalb der SPM internen Vortragsreihe zur Mitarbeiter-Fortbildung
-
Schilderung der Eigenschaften und Plädoyer für repositorybasierte/r
Entwicklungssysteme wie VisualWorks for Smalltalk unter OTI-ENVY und VisualAge
for Java.
- IBM VisualAge for Java 3.0, Microsoft Office 97
-
10 Folien, (siehe z.B. Vortrag Folien im
HTML Format).
-
Zwei Tage
10. ULTF 1.: Syslog Klassen
-
Implementierung der Syslog Funktion
-
Erweiterung des SPM ULTF um die Möglichkeit, UNIX und NT Syslog als
Ziel zu benutzen. Wurde während des o.g. Vortrags als Beispiel aus
VisualAge heraus demonstriert.
-
IBM VisualAge for Java 3.0
-
Zwei Klassen: SyslogWriter.java 6,4 kB, SyslogLogger.java 4,9 kB
-
Sechs Tage
11. ULTF 2.: XMLFormatter
-
XMLFormatter Methoden zur Freitextaufbereitung als CDATA
-
Erweiterung der Klasse XMLFormatter um Methoden, die Logging-Texte (z.B.
Exceptionmessages) so aufarbeiten, daß sie innerhalb der XML-Output-Datei
entweder als CDATA oder als bereinigtes Element-Attribut erscheinen können
(ohne daß evtl. kritische Zeichen als XML tags erkannt / geparst
werden).
-
Ergebnisse:
-
Diverse Methoden in XMLFormatter.java
-
Korrektur/Anpassung der zur XML-Output Datei gehörigen DTD Datei.
-
Test und Dokumentation der (in der XML-Spec mißverständlich
dargestellten) Anwendung des CDATA flags (siehe Lösungsvorschlag (TXT)).
-
IBM VisualAge for Java 3.0, XMLSpy
-
Code: ca 1 bis 2 kB
-
Fünf Tage
12. ULTF 3.: Facade Test
-
Test der neuen Logging Facade- und XML-Config-Klassen
-
Ergebnisse:
-
Test und Dokumentation der unterschiedlichen Ergebnisse bei der Verwendung
von Methoden wie Class.getResourceAsStream(filename) aus der Promptebene
(Java) oder aus VisualAge heraus, die sowohl das Lesen von XML-Konfigurationsdateien
als auch das Schreiben von XML-Logdateien betreffen (siehe Suchpfade in VisualAge und auf der DOS-Prompt-Ebene (TXT)),
-
Innerhalb des xml packages fand ich bugs bzw. noch nicht bereinigte Folgen
der vom Architekten vorgenommenen package-Umstellungen, konnte sie aber
vor meiner Entlassung nicht mehr beseitigen.
-
IBM VisualAge for Java 3.0
-
Ca. 1 kB Testklassen
-
Vier Tage
Zusammenfassung
Innerhalb von 75 Arbeitstagen
- nahm ich 5 Tage an einem BEA Weblogic Kurs teil,
- besuchte drei SPM-interne Vorträge (CORBA, Introscope, KonfigurationsManagement),
- hielt einen Vortrag über Entwicklungsumgebungen,
- arbeitete mich in die Grundlagen von NMake, XML/DTD und dreier Loggingsysteme (IBM Log4J, SPM ULTF u.a.) ein und
- setzte dieses Wissen erfolgreich um,
- verfasste hausinterne ASCII Texte (Testresultate zu spezifischen Problemen),
- arbeitete mit an WORD Dokumenten und
- schrieb über 70 kB Code mit IBM VisualAge for Java und Borland JBuilder.
Dabei debuggte ich ein in unbrauchbarem Zustand befindliches Kundenverwaltungssystem
erfolgreich bis zur Auslieferung,
erweiterte das SPM ULTF um zwei Syslog-Klassen
und ergänzte die ULTF XMLFormatter Klasse um CDATA bezogene Methoden
(wozu auch die Anpassung der DTD Datei für XML-Logdateien gehörte).
|