Dr. Gerald Schröder: A Life of Learning, (Re-)Searching, Teaching and Consulting
My interest in computers started in school, beginning with Basic, Turbo-Pascal and Z80-Assembler on TRS-80 and several CP/M-
computers. Digging deep into the machine and programming at the hardware and operating system level was my pleasure.
Studying at the University of Hamburg from 1986 till 1993 with the major computer science and the minor sociology, my special
interests were operating systems, compilers, data bases, software ergonomics and new urban sociology (quite a strange mix, I
know). My studies included the debugging and extension of the more or less famous Modula-2/DBPL-VAX-compiler. In my master's
thesis the exploration of syntactic language extensions attracted me so that I introduced a syntax extension facility in the
Tycoon system (now called Tycoon-1 since the even more famous Tycoon-2 system succeeded). While studying I worked part-time as
operator at the computing centre of the department of computer science (where else do you get the opportunity to play around with
such expensive toys?); and I embarrassed generations of students as tutor at the Technical University of Hamburg-Harburg and the
University of Hamburg - they will never believe anyone again, I suspect; sorry for that.
Preparing a PhD thesis and working for a living and started October 1993 as research assistent at Hamburg University, department of Databases and Information Systems
(DBIS). From January 1997 I was (once again) employed by the Technical University of Hamburg-Harburg, Software Systems Institute
(STS). My main responsibility lied in the management of analysis and programming teams, in the Tycoon project in the area of
persistent programming language environments (R.I.P.), and in several projects in the Internet Information Systems and SAP area.
In the context of my PhD thesis and of several projects I was involved in the supervision of about 20 student projects and
master's theses ("my" students are now earning much more money than I am, such a pity). Beside this raising of young geniuses I
prepared and gave several courses, mostly at the graduate level, in the area of software development (object-oriented languages,
i.e, Java), database design (object-relational databases, i.e., Oracle), and analysis (object-oriented modelling, i.e., UML).
I defended successfully my PhD thesis about management and development of cooperating persistent object systems in April 1999.
From October 1999 till March 2001 I worked for the DAK, a health-insurance company (11,000 employees) in Hamburg, Germany,
as a specialist for software engineering methods and tools. We were developing a new generation of the internal software using
object-oriented client-server techniques, i.e., J2EE architecture, component modeling using UML. But when management heard that
SAP would maybe, under certain circumstances, in several years ... develop an industry solution for health insurance, they quit
the project. I love managers for these decisions, as you may guess.
So I moved on to itelligence, an IT consultancy company
with about 1,500 consultants (at that time). From April 2001 till December 2001 I joined a team of 10 Java experts. We explored,
exploited, and coached modern software technologies, i.e., Java J2EE, JMS, XML, JUnit, etc. Until itelligence concluded that SAP
is a much more intesting area to gain money than Java. Now you know why I love SAP, also.
We felt that we had to move on to
a new surrounding, because we were caught by Open Source. We believe that Open Source software in the Java community shows a
maturity that enables commercial use. Our contribution (and means to gain a living) is offering consultancy and services for Open
Source technologies and tools. Sure, we do not use Open Source software only, but together with successful commercial
software components as, e.g., IBM DB2 or Oracle.
My focus lies on the development of Java application frameworks and
persistence layers, especially at the server side and and for batch-oriented applications. I strongly recommend test-driven development using
JUnit and integation testing using our framework iValidator.
Beside that I am a non-believer in anything religious as CORBA, J2EE or other "standards", but a strong believer in well-
crafted frameworks and their helpful creators.
- since 04/2009 Planning and development of a prototype at Dakosy (BPE)
- Keywords: SOA, ESB, Java, Portlets, Spring, JSF, JMS, MDA/MDD, EnterpriseArchitect, openArchitectureWare
- Project size: >7 Person Years (up to 15 project members)
- My focus: Senior Developer
-
- 06/2008-12/2008 Development of a component at HPC (TerminalStar)
- Keywords: Java, Spring, JMS, JUnit, MDA/MDD, MagicDraw, openArchitectureWare
- Project size: >150 Person Years (up to 50 project members)
- My focus: Senior Developer
-
- 07/2004-04/2008 Persistence layer for J2EE application at Thales (GAST)
- Keywords: Java, J2EE, JUnit, MDA, IBM WebSphere, TopLink, Oracle
- Project size: >300 Person Years (up to 100 project members)
- My focus: Architect and Senior Developer
-
- 01/2004-06/2004 Re-engineering of logistics application at BP/Aral (Frachtensystem)
- Keywords: Java, JUnit, PL/1, IBM DB2, Oracle
- Project size: ~6 Person Years (up to 6 project members)
- My focus: Coach and Senior Developer
-
- 07/2003-12/2003 Application framework for batch-oriented Java applications at BP/Aral
- Keywords: Java, JUnit, JMS, timer-driven beans, persistence layer, JORAM, Oracle
- Project size: ~3 Person Months
- My focus: Architect and Senior Developer
-
- 01/2003-06/2004 Support and maintenance of an EAI-platform in oil industry at BP/Aral (EMMA)
- Keywords: Java, JMS, JORAM, Oracle
- Project size: ~12 Person Months
- My focus: Senior Developer
-
- 04/2002-12/2002 Development of an EAI-platform in oil industry at BP (EMMA)
- Keywords: Java, JUnit, application framework, JMS, XML, Xerces, ECS, configurable file parsing and unparsing, Oracle
- Project size: ~5 Person Years (up to 6 project members)
- My focus: Architect and Senior Developer
-
- 10/2001-11/2001 Three-tiered Intranet banking application at Commerzbank
- Keywords: HTML, JavaScript, ActiveX, Microsoft Transaction Server, VisualBasic, SQL-Server, Oracle
- Project size: ~3 Person Months (2 project members)
- My focus: Senior Developer
-
- 08/2001-09/2001 Embedded message converter between JMS and HTTP/XML at HPC
- Keywords: Java, JMS, Tomcat, HTTP, JUnit, XML, Xerces, ECS
- Project size: ~2 Person Months (2 project members)
- My focus: Architect
-
- 01/2001-03/2001 Exploring directions for a strategic redirection of the computer department of the DAK
- Keywords: SAP R/3 and mySAP.com, J2EE, .NET, XP, UML
- Project size: ~3 Person Years (6 project members)
- My focus: Evaluation of development environment and process
-
- 02/2000-12/2000 Defining a development environment for a >10,000-user J2EE application at S/E/E (architecture, modeling style guide, development process, tools, training)
- Keywords: Components, J2EE, CORBA, UML, Unified Process/OEP, CMM, objectiF, PVCS Dimensions
- Project size: ~15 Person Years (up to 25 project members); planned project size: >500 Person Years
- My focus: Development and customization process, knowledge transfer
-
- 10/1999-01/2000 Development of a Java application for a rent management system at DAK (~20 users)
- Keywords: Three-tier-architecture, Java, Swing, Servlets/JSPs, UML, JDBC, DB/2, TopLink, VisualAge, Innovator, JUnit
- Project size: ~3 Person Years (up to 5 project members)
- My focus: Analysis and design using UML, development of a UML-to-Java-generator, definition of an application frameworks
-
- 1999 Development of a Java application for a course management system at TUHH
- Keywords: Java, Swing, Servlets, UML, JDBC, Oracle, Rational Rose
- Project size: ~1 Person Year (up to 10 project members)
- My focus: Architecture development, prototyping, configuration management, coaching
-
- 1998/1999 Development of a Java application for course evaluation at TUHH
- Keywords: Java, Swing, Servlets, UML, JDBC, Oracle, Rational Rose
- Project size: ~1 Person Year (up to 10 project members)
- My focus: Architecture development, prototyping, configuration management, coaching
-
- 1998/1999 Gap analysis for SAP R/3 Public Sector at the finance department of Hamburg
- Project size: ~5 Person Years (up to 15 project members)
- My focus: Consulting, knowledge transfer, modeling
-
- 1992-1997 Development and maintenance of the polymorphic programming language Tycoon and
a persistent virtual machine; development of frameworks, module libraries and applications in this environment
- Keywords: Virtual machine, parametric polymorphism, persistence, reflection, C, Solaris, NSE/TeamWare
- Project size: ~20 Person Years (up to 20 project members)
- My focus: Compiler development, system programming, maintenance, development of frameworks and
reusable module libraries, configuration management, coaching
-
- 1991-1992 Maintenance of compiler and runtime environment for the persistent programming language DBPL
- Keywords: Modula-2, persistence, VAX/VMS
- Project size: ~2 Person Years (2 project members)
- My focus : Compiler development, system programming, bootstrapping
- PhD thesis: Cooperating Object Systems: Management and Development (published in German: Kooperierende Objektsysteme: Betrieb und Entwicklung, VDI Verlag, 1999).
- Master's Thesis: Syntax extensions (in German: Syntaxerweiterungen)
- Student Project: The Modula-2 Standard (in German: Standardisierung von Modula-2)
- Papers:
- Co-Author of the Information and Communication Dictionary (published in German: Lexikon für Informations- und Kommunikationstechnik), VDI Verlag, 1998.
- Advanced Java (since 2001)
- Enterprise Java Beans (EJB) (since 2000)
- CORBA and Java (since 2000)
- Java Servlets and Java Server Pages (JSP) (since 2000)
- Java JDBC (since 2000)
- Introduction into client/server (since 2000)
- Capability Maturity Model (CMM) (since 2000)
- Design Patterns (since 2000)
- Unified Process (since 2000)
- Internet and document formatting standards (WWW, HTML, XML) (since 1999)
- Introduction into UML (since 1999)
- Introduction into Java (since 1999)
- Software development projects (since 1998)
- Object-oriented analysis and design (since 1997)
- Development of interactive software systems (since 1998)
- SQL and data modeling (since 1995)
- Polymorphic persistent programing (since 1994)
- Tool-oriented data modeling and software development (since 1994)
- Referenzmodelle für Standardsoftware: Anforderungen,
Nutzung und methodische Grundlagen (Diplomarbeit)
- Modelle für das Hochschulcontrolling - Unterstützung
durch Informations- und Kommunikationssysteme (Diplomarbeit)
- Anwendung von UML unter Nutzung von Entwurfsmustern
(Studienarbeit)
- Konzepte und Techniken zur Adaption von
betriebswirtschaftlicher Standardsoftware am Beispiel von SAP R/3
(Diplomarbeit)
- Adaptionstechniken von SAP R/3 (Studienarbeit)
- Hochschulcontrolling - Anforderungen an Informations-
und Kommunikationssysteme (Studienarbeit)
- Versionierung in kooperierenden persistenten
Objektsystemen (Diplomarbeit)
- Das WWW als Informationssystem: Konzepte, Dienste,
Defizite, Entwicklungen (Diplomarbeit)
- Entwicklungsunterstützung für persistente,
strukturierte Systeme (Diplomarbeit)
- Entwicklung unternehmensweiter
Client/Server-Anwendungen mit 4GL-Technologie (Diplomarbeit)
- Modellierung und Validierung dynamischen
Systemverhaltens am Beispiel von Tycoon und StP/OMT (Diplomarbeit)
- Generische Visualisierungsdienste am Beispiel von
StarView und Tycoon (Studienarbeit)
- Die Anbindung des Tycoon-Systems an die CASE-Umgebung
StP über ein Repository (Studienarbeit)
- Integration von Information Retrieval Funktionalität
in eine offene, persistente Programmierumgebung (Studienarbeit)
- Hypertextbasierte Visualisierung von
Tycoon-Bibliotheken in Netzwerken (Studienarbeit)
- Modernes Informationsmanagement zur Gestaltung
betrieblicher Informationssysteme - Eine Fallstudie (Diplomarbeit; zusammen
mit Florian Matthes)
- Synchronisation langlebiger Aktivitäten in
persistenten Objektsystemen (Diplomarbeit; Endbetreuung)
- POLITICON: Entwurf einer Bilddatenbank für den Index
zur politischen Ikonographie (Studienarbeit; zusammen mit Florian Matthes)
- Generisches und typsicheres Modulmanagement
(Studienarbeit)
- Softwarebibliotheken: Entwurf und Dokumentation am
Beispiel von Tycoon (Diplomarbeit)
- Typüberprüfung in polymorphen Programmiersprachen:
Aufgaben und Lösungsansätze (Diplomarbeit; zusammen mit Florian Matthes)
- Objektorientierte Datenmodellierung: Strukturierte
Generatoren zur Codeerzeugung (Studienarbeit; Endbetreuung)
- List Comprehensions (Diplomarbeit; Endbetreuung)
- Ein Graphikeditor für objektorientiertes Modellieren
(Diplomarbeit; Endbetreuung)
- Objektorientierte Datenmodellierung: Generierung statisch typisierter Repräsentationen (Diplomarbeit; Endbetreuung)