Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

04.09.1987 - 

4GL- Geschäft geht auch weiterhin steil aufwärts, aber:

Traditionelle Konzepte müssen mitwachsen

Hohe Erwartungen und Skepsis halten sich bei den Anwendern die Waage, wenn es um die Sprachen der vierten Generation geht, Verweisen die Befürworter der 4GL-Systeme auf Produktivitätssteigerungen und mehr Motivation bei den Mitarbeitern, so warnen die Kritiker vor einer "softwaretechnischen Sackgasse". Für Bernd Kahlbrand* ist ein Erfolg im 4GL-Bereich eng verknüpft mit dem weiteren Ausbau traditioneller SW-Umgebungen.

Sprachen der Vierten Generation wurden mit einem hohen Anspruch auf den Markt gebracht. Schlagworte wie "zehnfache Produktivitätssteigerung" oder "in drei Tagen erlernbar" weckten nicht nur große, Erwartungen, sondern auch eine gesunde Skepsis. Die Ankündigungen der Anbieter reichen vom "Ersatz für Cobol" bis zur "Programmiersprache für Endanwender" und versprechen den Abbau des "Anwendungsstaus". Erreicht werden soll dies durch Steigerung der Qualität - Erhöhung der Produktivität des professionellen Programmierers - und Quantität Eigenentwicklung durch die Mitarbeiter der Fachabteilung - der Mitarbeiter.

Die Verwirklichung dieses Anspruches setzt eine Weiterentwicklung traditioneller Software-Konzepte voraus, die in ihrer, Gesamtheit den Begriff einer neuen Generation rechtfertigen. Die Entwicklung dieser Umgebungen geht im Augenblick schnell voran und wird in den nächsten Jahren zur weiteren Qualitätserhöhung in der Software-Entwicklung beitragen.

Bisher fehlen allerdings Umgebungen, die die Entwicklung einer Anwendung von der Informationsanalyse bis zur Wartung nahtlos unterstützen. Existierende Sprachen der Vierten Generation können aber bereits wirkungsvoll bei Beginn der Programmspezifikation eingesetzt werden. Die mächtigen Sprachelemente eignen sich zur direkten Erstellung der Vorgaben, statt diese separat in einem Pseudo-Code zu formulieren. Bei konsequentem Einsatz dieser Möglichkeit erhält man so bereits frühzeitig einen lauffähigen Prototyp.

Die Weiterentwicklung eines solchen Prototyps zur fertigen Version wird bereits gut unterstützt (Data Dictionary, Versions- und Statuskonzept). Die Kodierungsphase, in der häufig die Produktivitätssteigerungen der 4GL-Systeme angesiedelt werden, verursacht aber nur einen Teil der Entwicklungskosten - unter Umständen nur 10 bis 20 Prozent.

Über die Qualität des Codes entscheiden indes bereits die ersten Designphasen. Ein wichtiger Zweig der Weiterentwicklung beschäftigt sich deshalb mit der Abbildung des gesamten Entwicklungsprozesses in einer Umgebung. Die Basiselemente dafür sind unter anderem in Form aktiver, umfassender Data Dictionaries bereits vorhanden, so daß sich marktreife Produkte in naher Zukunft erwarten lassen.

Von der Programmlogik unabhängige, einmalige Spezifikationen externer Ressourcen führen zu verbesserter Übersicht und effizienterer Programmierung (Vermeiden von Redundanz). Dazu gehört die Definition von Datensichten, Bildschirm- und Report-Layouts.

Unbefriedigend ist heute allerdings noch, daß für die Konsistenz der Anwendung wesentliche Elemente in den einzelnen Programmen spezifiziert werden müssen. So sind diese Komponenten selbst bei modularem Design unter Umständen redundant vorhanden und nur aus dem aktuellen Code ersichtlich. Die Weiterentwicklung von Data-Dictiohary- und Datenbank-Systemen zielt deshalb auch darauf ab, logische Integritätsbedingungen zwischen verschiedenen Feldern und Tabellen im Data Dictionary, also außerhalb der Anwendung, zu definieren und damit zu einer weiteren Modularisierung beizutragen.

Die verfügbaren Sprachen der Vierten Generation erlauben bereits sehr einfache Dateizugriffe. Sie erreichen dies meist durch die Beschränkung auf ein Datenbanksystem. Im Rahmen dieser Vorgehensweise wird auch der Zugriff über beliebige Felder erlaubt, unabhängig von der Schlüsselstruktur.

Voraussetzung für derartige Zugriffe ist ein Datenbanksystem mit so vielen relationalen Elementen, daß ein Zugriff ohne Kenntnis von Schlüsseln durch einfache Qualifikation von Feldern erfolgen kann. Um die verwendbare Datenbasis zu vergrößern, sind verschiedene Wege gangbar. Zum einen bieten die Hersteller mit ihren Programmen die Möglichkeit, Daten aus einem System in das andere zu überführen. Diese Software erlaubt es, bestehen de Anwendungen unverändert weiter einzusetzen und andere Applikationen mit den Produkten des jeweiligen Herstellers zu schreiben.

Als weitere Ansätze zur Lösung von einem Datenbanksystem zeichnen sich drei Tendenzen ab, die aber alle darauf bauen, daß sich SQL als De-facto-Standard durchsetzen wird:

- Erzeugung von SQL-Befehlen aus den bestehenden Sprachkonstrukten;

- Einbettung von SQL-Befehlen als zusätzliche Möglichkeit zu den bestehenden Konstrukten;

- Schaffung eines SQL-Interfaces zu den jeweiligen Datenbanksystemen,

Die Integration mit dem Data Dictionary des jeweiligen Herstellers ist die Basis für die externe Datendefinition (Catalog-Funktion). Darüber hinaus wird sie zur Verknüpfung der einzelnen Komponenten verwendet und dient der Dokumentation und Änderungskontrolle (Definition) von Anwendungssystemen und deren Ressourcen). Wie bereits ausgeführt, wird sich die Weiterentwicklung von Data-Dictionary-Systemen zu "Repositorien", die alle relevanten Informationen für das Unternehmen enthalten, als entscheidender Punkt in der Entwicklung von 4GL-Systemen erweisen. So, wie jetzt bereits eine gesamte Anwendung im Rahmen eines integrierten Anwendungs- und Datenmodells im Data Dictionary dokumentiert ist, werden künftig auch komplexe "Business Rules" hier ihren Platz finden.

Die Sprachkonstrukte in dem jetzigen Ted einer Sprache der vierten Generation, der mit der Procedure Division eines Cobol-Programms vergleichbar ist, entsprechen den Grundsätzen der strukturierten Programmierung. Derartige Sprachkonstrukte bieten dem Entwickler die Möglichkeit, sehr übersichtlichen, wartungsfreundlichen Code zu erzeugen. Aus der Sicht des Herstellers vereinfachen sie die Struktur des Compilers und beschleunigen dessen Ablauf, da Teile des kompilierten Codes vorgeneriert werden können Durch den Druck der Anwender werden diese Konstrukte inzwischen auch durch prozedurale Möglichkeiten ergänzt, etwa durch (wenn auch verklausulierte) GOTO-Anweisungen oder Einbettungsmöglichkeiten von SQL-Code.

Programmierer wird vom TP-Monitor abgeschirmt

Bestandteil der Sprache sind normalerweise auch einfache Befehle zur Terminalein- und -ausgabe, so daß der Programmierer von den Besonderheiten des TP-Monitors abgeschirmt ist. Er hat nur noch die Ausgabe des Bildschirms zu veranlassen; von der Logik der Anwendung unabhängige Verwaltungsaufgaben, wie beispielsweise das Sichern von Daten über Transaktionsgrenzen auf Temporary Storage bei CICS, werden vom System erledigt.

Das Ergebnis der Programmierung ist meist nicht direkt unter dem Monitor oder Betriebssystem lauffähig, sondern erfordert eine Komponente, die den so erzeugten Code zur Laufzeit ganz oder teilweise interpretiert und in ausführbare Instruktionen umsetzt. Erreicht wird hierdurch ein hohes Maß an Stabilität des Gesamtsystems sowie die Portabilität zwischen verschiedenen Betriebssystemen.

Alle Funktionen sind in einer Umgebung verfügbar

In konventionellen Entwicklungsumgebungen muß der Softwerker oft das System wechseln. Sprachen der Vierten Generation erlauben demgegenüber alle diese Funktionen in einer Umgebung. Der eigentliche Code ist dabei entweder interpretativ oder wird online "kompiliert".

Die skizzierten Entwicklungstendenzen legen die Basis für eine Teilung der heutigen Sprachen der Vierten Generation in einen Zweig, der auf die professionelle Entwicklung abzielt, und einen weiteren, der auf die Bedürfnisse von programmierenden Endanwendern ausgerichtet ist.

Die Tendenz einer globalen Erfassung des ganzen Entwicklungsprozesses wird nicht nur die Qualität in der Software-Entwicklung weiter verbessern, sondern legt auch die Basis für Werkzeuge, die in die Hand der Fachabteilung gegeben werden können. Um zu verhindern, daß bei der Verteilung der Daten und der Anwendungen auf viele Abteilungen und Rechner ein totales Chaos entsteht, ist allerdings eine Einbindung in die jeweiligen Unternehmensstandards notwendig.

James Martin wird der Ausdruck zugeschrieben, "Distributed Data Processing" sei "Distributed Anarchy". Um dies zu verhindern, sind nicht nur zentrale Datenbeschreibungen und "Business Rules" notwendig, sondern auch die Datenadministration muß im Unternehmen verankert sein. Sind diese Voraussetzungen gegeben, so kann auch auf Abteilungsrechnern und in LANs sicher entwickelt werden. Bei entsprechender Gestaltung der Benutzeroberflächen kann auf dieser Basis auch die anfangs angesprochene Produktivitätssteigerung durch Erhöhung der Entwicklungskapazität bei den Fachabteilungsmitarbeitern Wirklichkeit werden. Das gegenwärtige Tempo der Entwicklung läßt hier in den nächsten zwei bis fünf Jahren wesentliche Fortschritte erwarten.

Konzentrationsprozeß bei Anbietern ist abzusehen

Aufgrund der hohen Entwicklungskosten ist damit zu rechnen, daß sich das Feld der Anbieter weiter konzentrieren wird. Für eine formale Standardisierung moderner Entwicklungsumgebungen ist es sicher noch zu früh. Es scheint aber nicht als ausgeschlossen, daß zumindest nichtprozedurale Sprachelemente Eingang in den Cobol-Standard finden.

Zusammen mit einem als Standard akzeptierten SQL-Kern hat der Anwender künftig beispielsweise die Möglichkeit, seine Software-Umgebung entsprechend den individuellen Bedürfnissen zusammenzustellen und die Abhängigkeit von einem Hersteller in Grenzen zu halten. Die Entscheidung für eine SW-Umgebung ist schon deshalb langfristig, da die Folgekosten, beispielsweise Schulung der Mitarbeiter, die reinen Anschaffungs- und Wartungskosten um ein Vielfaches übersteigen.