Zukunftskonzept: Relationales DB-System plus 4GL

3GL-Puristen haben gegen den 4GL-Boom keine Chance

12.10.1990

Eine relationale Datenbank- und Software-Entwicklungsumgebung mit Werkzeugen der vierten Generation unterscheidet sich von typischen CASE-Tools in mehrfacher Hinsicht. Annette Autrata* erläutert die Unterschiede und stellt einige Diagnosen über den Markt an.

Die Verfügbarkeit von Software, also die sinnvolle Umsetzung von Technologie in Lösung, hat sich in den zurückliegenden Jahren häufig als "Engpaßfaktor" erwiesen. Anwenderorientierte Software zu erstellen ist und bleibt zeitaufwendig. Was mit "Softwarenotstand" umschrieben wird, bezeichnet nichts anderes als die zeitlichen und personellen Probleme der Anwendungsentwickler.

Zweistellige Zuwachsraten vermelden in der einst so goldenen Computerbranche nur noch Teilmärkte. Dabei liegt die Software-Entwicklung ganz vorn. Der Wandel kommt nicht von ungefähr - bei steigender Leistungsfähigkeit fallen die Hardwarepreise seit Jahren in den Keller. Aus Sicht des Anwenders unterscheiden sich Computerhersteller nur noch durch Qualität und Quantität der verfügbaren Software.

RDBMS haben am Markt absoluten Vorrang

So ist denn auch der Anteil der Softwarekosten einer Computeranwendung in den letzten zehn Jahren von 20 auf 80 Prozent gestiegen. Ein deutliches Indiz dafür, daß die Techniken der Software Entwicklung nicht mit denen im Hardwarebereich schritt halten konnte. Allein die Tatsache, daß heute etwa 70 Prozent der weltweit rund zwei Millionen Programmierer damit beschäftigt sind, vorhandene Software zu modifizieren der zu erweitern, signalisiert, in welchem Ausmaß Ressourcen gebunden sind, die eigentlich benötigt würden, um den angesprochenen Softwarenotstand abzubauen.

Die Rolle, die ein relationales Datenbankmanagement-System (RDBMS) bei der Anwendungsentwicklung spielt, wird ihm heute von keinem anderem Datenbankmodell mehr streitig gemacht. Das wird auch deutlich an der Vorrangstellung, die diese Gattung im

Markt hat. Weit auseinander gehen allerdings die Meinungen darüber, in welches Software-Entwicklungssystem solch ein RDBMS eingebettet sein sollte.

Tatsächlich ist das relationale Konzept nur ein Punkt auf der Checkliste für sichere, anwenderfreundliche, schnelle und portable Anwendungen. Natürlich gibt es Entwickler, die ausschließlich auf Programmiersprachen beziehungsweise auf über Jahre

aufgebaute Programmbüchereien der dritten Generation als Programmierumgebung bauen. Diese Puristen werden aber langfristig die Nachteile zu spüren bekommen.

Fortran-, PL/1- oder Cobol-Anwendungen mit ihren langen Entwicklungszeiten, der schlechten Portierbarkeit, dem hohen Wartungsaufwand und dem niedrigen Sicherheitsstandard können dafür nicht die Grundlage sein. Als Konsequenz dieser Erkenntnis bieten Hersteller relationaler Datenbanksysteme Tools an, die den Entwickler bei der Anwendungsentwicklung unterstützen.

Darunter fallen Masken, Report-, Menü- und Programmgeneratoren sowie Beschreibungssprachen. Die Zielgruppen dieser Hilfsmittel sind unterschiedlich. Die einen wenden sich an Endanwender, die mit diesen Produkten ein Auswertungssystem für individuelle Datenverarbeitung erhalten sollen, andere richten sich eindeutig an den Entwickler von DV-Systemen. Leider weisen noch viele dieser Werkzeuge gravierende Mängel auf.

So sind die meisten dieser Tools nicht integriert oder haben keine einheitlichen Benutzeroberflächen - selbst wenn sie vom gleichen Hersteller kommen. Das Funktionsangebot dieser Werkzeuge ist zum Teil von der Hardware abhängig und oft unvollständig, so daß bei Anforderungen, die auch nur geringfügig vom Standard abweichen, auf Sprachen der dritten Generation zurückgegriffen werden muß.

Ähnliche Probleme ergeben sich, wenn bestehende Applikationen auf einem neuen System installiert werden sollen. Eines scheinen alle diese Hilfsmittel allerdings gemeinsam zu haben: Sie nennen sich Sprache, Werkzeug oder Technik der "4. Generation" (4GL). Diese Bezeichnung wird sehr breit für alle Tools verwendet, die sich einerseits nicht wie die Sprachen der dritten Generation mit der "Wie"-, sondern ausschließlich mit der "Was"- Programmierung beschäftigen.

Andererseits handelt es sich dabei auch nicht um wissensbasierte Systeme, die sogenannten Werkzeuge der 5. Generation. Von einem Standard bei den Sprachen der vierten Generation ist die Industrie noch weit entfernt. Wichtige Anforderungen an ein

solches Entwicklungssystem rund um ein RDBMS sind immerhin leicht zu definieren: Das zentrale Data Dictionary verwaltet die kompletten Strukturinformationen der Daten inklusive Integritätsbedingungen, Hilfsmechanismen und Ausgabevorgaben.

Programmieraufwand bei 4GL ist weniger

Die Programmiersprache ist vollständig und konsistent mit mächtigen Befehlen und der Möglichkeit, strukturierten, modularen und wiederverwendbaren Code für anspruchsvolle Anwendungen mit modernen Oberflächen zu erzeugen. Die 4GL operiert sowohl mit den Dateninhalten als auch mit den Strukturinformationen im Data Dictionary. Schnittstellen zum Betriebssystem, zu ASCII-Dateien und 3GLs sind vorhanden. Der Programmieraufwand kann auf ein Bruchteil des bei Sprachen der dritten Generation üblichen Aufwandes reduziert werden.

Die Oberfläche ist in der Regel einheitlich, die Umgebung integriert. Ein Prototyping mit schnellen Design-Code-Test-Zyklen ist möglich. Programmgeneratoren für Standardaufgaben wie Masken, Reports oder Menüs stehen zur Verfügung und generieren 4GL-Code der somit weiterbearbeitet werden kann. Standardmechanismen für Transaktionsverarbeitung, Fehlerbehandlung, Bildschirmverwaltung sowie Recovery- und Locking-Funktionen - aber auch Möglichkeiten, diese Automatismen feinzusteuern, stehen zur Verfügung.

Dem Entwickler von Datenbankanwendungen werden durch Hilfsmittel wie der Abfragesprache SQL, einer 4GL oder durch Listengeneratoren individuelle Auswertungen ermöglicht. Die fertige Anwendung ist Betriebssystem-, Netzwerk-, Rechner-, und Datenbank-unabhängig und nutzt alle verfügbaren Hard- und Software-Ressourcen. Dazu gehören zum Beispiel intelligente Frontends (zum Beispiel Personal Computer), verteilte Rechner-Kapazitäten oder parallel ansprechbare Festplatten und Prozessoren, aber auch fremde Datenbanksysteme.

Die Anwendung muß auch bei Änderungen der Umgebung wie zum Beispiel Erweiterung oder Austausch der Hardware uneingeschränkt lauffähig bleiben. Ein weiterer Punkt, der beim Thema Entwicklung von Datenbankanwendungen eine immer größere Rolle spielt, ist das Computer Aided Software Engineering (CASE). Auch die hierzu eingesetzte Software wird oft zu den 4GL-Tools gezählt. Allerdings können diese Produkte keinen Ersatz für eine gute Datenbank-Entwicklungsumgebung darstellen, denn die Ziele dieser

beiden Hilfsmittel sind verschieden. CASE- Tools sollen die Qualität einer Anwendung sicherstellen, indem sie - Analyse und Design einer Anwendung durch formale Prozeduren und grafische Mittel unterstützen und kontrollieren,

- die Erstellung eines Projektplans und die Kontrolle des Arbeitsablaufes ermöglichen,

- die Anfertigung von Dokumenten über die Analyse- und Design-Ergebnisse, Ablaufprotokolle und Programmdokumentationen sicherstellen und verwalten,

- die Ergebnisse des Designs in Datenbankdefinitionen, Programmrahmen und Gerüste für Bildschirmoberflächen umsetzen .

Damit liegt der Schwerpunkt bei dem CASE-Tool in den Phasen Analyse und Design, während die Datenbank-Entwicklungsumgebung mehr die Bereiche Programmierung, Test und Wartung abdeckt. CASE-Tools sind also eine sinnvolle Ergänzung zu den beschriebenen Datenbank-Entwicklungssystemen . Sie sind es um so mehr, wenn sie Datenbank-Definitionen direkt im Data Dictionary des RDBMS unterbringen, wenn die Programmgerüste in einer entsprechenden Datenbanksprache (4GL, SQL) verfaßt werden und wenn der vorgeschlagene Bildschirmaufbau direkt umgesetzt werden kann.

Die ideale Umgebung für einen Entwickler von Datenbankanwendungen ist daher die oben beschriebene relationale Software- und Datenbank-Entwicklungsumgebung der vierten Generation, für die ein CASE-Werkzeug mit dem oben beschriebenen Zuschnitt verfügbar ist.