CI/CD-Umgebung
Bereits 1998 realisierten wir eine vollautomatisierte Build-, Test- und Deployment-Umgebung — lange bevor Jenkins oder GitLab CI existierten. POC-Evaluierung von Websphere und Weblogic, Unit-Tests und kontinuierliche Integration mit Perl und Java.
1998
Projektjahr
Software
Branche
Java / Perl
Technologie
Entwicklung
Rolle
Ausgangslage
Ein Softwareunternehmen betrieb Ende der 1990er-Jahre eine proprietäre Client-Server-Lösung, die sowohl im B2B- als auch im B2C-Bereich eingesetzt wurde. Die bestehende Architektur war monolithisch aufgebaut und ließ sich nur schwer erweitern. Gleichzeitig wuchs der Bedarf an webbasierten Applikationen, die über einen Browser erreichbar sein sollten.
Im Rahmen einer Neuausrichtung sollten zwei neue Webapplikationsserver eingeführt werden, um die proprietäre Client-Lösung schrittweise abzulösen. Damit einher ging die Notwendigkeit, eine vollständige Build- und Installationsumgebung aufzubauen, die automatisierte Tests und kontinuierliche Integration ermöglichte.
Herausforderung & Ansatz
Herausforderung
- Ablösung einer proprietären Client-Lösung ohne Betriebsunterbrechung
- Evaluierung geeigneter Applikationsserver (Websphere vs. Weblogic)
- Fehlende Build-Automatisierung und Testinfrastruktur
- Frühe Java-Versionen (JDK 1.1/1.2) mit eingeschränktem Ökosystem
Ansatz
- Proof of Concept mit IBM Websphere 4 und BEA Weblogic
- Aufbau einer automatisierten Build-Umgebung mit Perl-Skripten
- Einführung von Unit Tests als fester Bestandteil des Entwicklungsprozesses
- Schrittweise Migration der Geschäftslogik in die neue Architektur
Umsetzung
Evaluierung der Applikationsserver
Im ersten Schritt wurde ein Proof of Concept durchgeführt, um die beiden führenden Applikationsserver der damaligen Zeit zu vergleichen: IBM Websphere 4 und BEA Weblogic. Beide Plattformen wurden hinsichtlich Performance, Deployment-Prozesse, Konfigurierbarkeit und Kompatibilität mit den bestehenden Java-Komponenten evaluiert. Auf Basis der Ergebnisse fiel die Entscheidung für die Plattform, die sich am besten in die vorhandene Infrastruktur integrieren ließ.
Build- und Installationsumgebung
Die Build-Umgebung wurde mit Perl 5 realisiert, da zu diesem Zeitpunkt spezialisierte Build-Tools wie Apache Ant oder Maven noch nicht verbreitet waren. Die Perl-Skripte übernahmen das Kompilieren der Java-Quelldateien, das Erstellen der Deployment-Artefakte und die Installation auf den Applikationsservern. Jeder Build-Vorgang erzeugte reproduzierbare Ergebnisse und konnte über die Kommandozeile parametrisiert werden.
Automatisierte Tests und CI/CD
Parallel zum Build-Prozess wurden Unit Tests eingeführt, die bei jedem Build-Durchlauf automatisch ausgeführt wurden. Diese Tests prüften die Kernfunktionalität der Geschäftslogik und stellten sicher, dass Regressionen frühzeitig erkannt wurden. Das Zusammenspiel aus automatisiertem Build, Testausführung und Deployment bildete eine frühe Form der kontinuierlichen Integration, die den Entwicklungszyklus erheblich beschleunigte.
Historischer Kontext
CI/CD-Konzepte wie Jenkins, GitLab CI oder GitHub Actions existierten Ende der 1990er-Jahre noch nicht. Die hier aufgebaute Pipeline war eine individuelle Eigenentwicklung, die bereits die Grundprinzipien moderner Continuous Integration vorwegnahm.
Kenntnisse
Entwicklung
- Perl 5
- Java JDK 1.1 / 1.2
- Unit Testing
Infrastruktur
- IBM Websphere 4
- BEA Weblogic
- Build-Automatisierung
Ergebnis & Fazit
Ergebnis
- Vollständig automatisierte Build- und Deployment-Pipeline
- Erfolgreiche Ablösung der proprietären Client-Lösung
- Reproduzierbare Builds mit integrierter Testausführung
- Fundierte Evaluierung von Websphere und Weblogic
Fazit
Das Projekt demonstrierte bereits Ende der 1990er-Jahre den Wert automatisierter Build- und Testprozesse. Die mit Perl realisierte Pipeline bildete das Rückgrat der Softwareentwicklung und ermöglichte einen strukturierten Übergang von der proprietären Welt hin zu standardisierten Webapplikationsservern. Die dabei gewonnenen Erkenntnisse zu CI/CD-Prinzipien waren wegweisend für alle folgenden Projekte.
