Als Werkzeuge für eine effiziente und kostensparende Softwareentwicklung haben sich 4GL-Systeme längst etabliert. Mit neuen Features lassen sich ihre Vorzüge auch beim Erstellen von Web-Anwendungen nutzen. Ein Beispiel zeigt, wie einfach man dabei den Centura Team Developer von Gupta einsetzen kann. Alles, was um e-Business, e-Commerce, digitale Marktplätze, SCM oder CRM diskutiert wird, führt irgendwann auch zu dem Punkt, an dem für die neuen Geschäftsprozesse neue Applikationen benötigt werden. Was sich das Management dabei ausgedacht hat, funktioniert erst, wenn Entwickler die entsprechenden Web-Anwendungen zur Verfügung stellen können. Die Umwälzungen, die in diesem Bereich stattfinden, führen dazu, dass sich die Softwareentwicklung mit einem permanenten Anwendungsstau konfrontiert sieht: Es werden immer mehr Lösungen benötigt, als fertiggestellt werden können. Aus diesem Grund ist der Einsatz von hocheffizienten Werkzeugen, die auf die jeweiligen Aufgaben genau abgestimmt sind, unerlässlich.

4GL-Entwicklung – wozu?

Die Grundlage moderner Web-Anwendungen bildet das Modell mehrschichtiger Anwendungen, in dem für jede Schicht ein spezieller Server existiert: Ein Webserver sorgt für die Bereitstellung der HTML-Seiten an die Browser, ein – oder mehrere – Anwendungsserver dienen zur Ausführung der Programmlogik, während Datenbankserver die Daten auf Anfrage der Anwendungssoftware zur Verfügung stellen.

Die Anwendungsschicht kann dabei sehr komplex sein. Es können komplette ERP-Systeme wie SAP R/3 eingebunden werden, Host-Anwendungen unter CICS, Module unter Windows und Unix-Komponenten zusammenarbeiten. Auch die Einbindung von Datenbanken unterschiedlicher Hersteller in eine Anwendung stellt heutzutage kein Problem mehr dar; neben nativen Verbindungen lassen sich dafür Standards wie JDBC, OLEDB, ODBC einsetzen und Anwendungsserver wie der Microsoft-Transaction-Server MTS sind in der Lage, verteilte Transaktionen über Datenbanken verschiedener Hersteller auszuführen. Die Connectivity zwischen den unterschiedlichen Systemen ist heute kein Thema mehr, nicht zuletzt aufgrund der Verbreitung von Internet-Standards wie TCP/IP.

Besondere Anforderungen stellen Web-Anwendungen an die Skalierbarkeit der Anwendungsarchitektur. Im Voraus eine einigermaßen genaue Schätzung der Lastverteilung abzugeben, ist oft nicht möglich. Deswegen müssen sich die Leistungswerte einer Anwendung bei Kapazitätsengpässen leicht erhöhen lassen, zum Beispiel durch die Erweiterung der Serverfarm um zusätzliche Server oder durch den Einsatz leistungsfähigerer Hardware. Die Erweiterung einer Serverfarm ist sicher die elegantere Lösung, weil der Leistungsfähigkeit eines einzelnen Computers relativ enge Grenzen gesetzt sind, die sich durch Parallelisierung in einer Serverfarm überschreiten lassen. Dafür muss natürlich das Betriebssystem die entsprechende Funktionalität bieten. Außerdem sind Managementwerkzeuge für den Betrieb einer Serverfarm erforderlich. Neben den üblichen Unix-Systemen bietet auch Microsoft Windows 2000 alle Voraussetzungen für den Einsatz solcher Systeme; Lastverteilung, Managementwerkzeuge und Internetdienste sind in dieser Plattform vorbildlich vereinigt.

Die Frage, die Software-Entwickler seit über 10 Jahren mehr oder weniger intensiv beschäftigt – 3GL- oder 4GL-Systeme? – stellt sich bei der Entwicklung von Web-Anwendungen erneut. 4GL-Werkzeuge sind in der Regel produktiver, weil das Tool zahlreiche Aufgaben automatisch übernehmen kann, die sonst der Programmierer codieren muss. 4GL entlastet den Entwickler vor allem bei systemnahen Vorgängen; so muss beispielsweise nicht mehr explizit Speicherplatz für Programme und Daten beim Betriebssystem angefordert und reserviert werden, und auch Garbage Collection, das Aufräumen nicht mehr benutzten Speicherplatzes, erfolgt hier automatisch. Die 4GL-Systeme beinhalten normalerweise auch Vereinfachungen der Datentypen. Außerdem werden Sperr- und Sicherheitsmechanismen für die Datenbanken automatisch implementiert. Demgegenüber kann man mit 3GL-Sprachen tiefer in die Systeme eindringen und daher in der Regel performantere Anwendungen erstellen. Die Frage ist nur, ob das ausgerechnet bei Web-Anwendungen immer notwendig ist, da hier die beim User effektiv ankommende Performance nur zu einem geringen Teil von den Interna einer Applikation abhängt.

In den Anfängen des Web mussten die entsprechenden Anwendungen mit Java oder C++ erstellt werden, weil 4GL-Systeme noch nicht über die notwendige Connectivity verfügten. Das hat sich mittlerweile grundlegend geändert. So unterstützen die führenden 4GL-Entwicklungswerkzeuge heute in der Regel nicht nur HTML und CGI, sondern mindestens eine der gängigen Komponenten-Architekturen wie COM+. Ebenso wird bei allen Systemen die automatische Implementierung von Sicherheitsmechanismen für Datenbanksysteme und Web-Anwendungen unterstützt.

Solche Dinge beherrschen Java oder C++ natürlich immer schon, aber für 4GL-Systeme sprechen letztlich nicht technische, sondern vor allem wirtschaftliche Gründe. Solange es nicht um systemnahe Prozesse geht, sind 4GLs einfach effizienter. Dies wird gerade bei kommerziellen Anwendungen mit vielen Datenbanktransaktionen deutlich: So ist zum Beispiel beim Centura Team Developer nur eine Programmzeile nötig, um eine dargestellte Tabelle mit Daten aus einer Abfrage zu füllen. Mit einer modernen 4GL-Entwicklungsumgebung kann man im Vergleich zu Java oder C++ um viele Faktoren schneller entwickeln – und damit lassen sich die Kosten eines Softwareprojektes deutlich reduzieren. Auch bei der Wartung existierender Anwendungen haben 4GL-Systeme die Nase vorn: Weil der Programmcode viel kompakter und klarer strukturiert ist, ist die Einarbeitungszeit in vorhandenen Code für neue Entwickler erheblich kürzer als bei 3GL-Systemen.

Gupta Technologies

D–80992 München

Tel. (+49) 089/748121-0

www.centurasoft.de