Programmierwerkzeuge im Vergleich

4GL-Entwicklungs-Tools der Oberklasse

05.09.1997

Mit der Veränderung der DV-Landschaft in den Unternehmen in den letzten fünf bis zehn Jahren haben sich auch die Anforderungen an Entwicklungs-Tools geändert. Dominierten in den 70er und 80er Jahren noch reine Zentralrechnerarchitekturen mit angeschlossenen Terminals, wurde diese Infrastruktur vielerorts durch Unix-Konfigurationen und PC-LANs ergänzt - jedoch zunächst vorwiegend als Insellösungen, die kaum Anknüpfungspunkte untereinander kannten. Seit Beginn der 90er Jahre haben zunehmend Client-Server-Architekturen ihren Einzug in die Unternehmens-DV gehalten.

Im Rahmen von Client-Server-Architekturen der ersten Generation kamen PCs für operative Anwendungen zum Einsatz. Während die Server-Rechner eher grundlegende Verwaltungsaufgaben ausführten, erfolgte der Großteil der Verarbeitungsleistung auf den Arbeitsplatzrechnern - den sogenannten Fat Clients.

Mit dem Einsatz in der täglichen Praxis wuchsen jedoch auch die Anforderungen: Gleichbleibende Performance bei ständig steigenden Benutzerzahlen, steigende Datenvolumina, die Forderung nach durchgehender Skalierbarkeit bis in den Mainframe-Bereich und Plattformunabhängigkeit ließen sich mit den Client-Server-Tools der ersten Generation nicht mehr realisieren. Neue Werkzeuge mußten her - Client-Server-Tools der zweiten Generation, die in der Lage sind, Anwendungen zu produzieren, die verteilt und kooperativ auf mehreren Plattformen arbeiten.

Der Übergang von Architekturen der ersten Generation in die zweite Generation läßt sich durch drei Trends charakterisieren:

- PC-Werkzeuge und Client- 4GLs entwickeln sich in Richtung professioneller Entwicklungsumgebungen; Stichwörter: Code-Partitionierung, Teamentwicklung, Repository, Interfaces zu Modellierungswerkzeugen;

- traditionelle Tools aus dem Mainframe-Bereich werden um grafische Benutzeroberflächen erweitert und nutzen High-end-PCs als Entwicklungsumgebungen und

- schließlich kommen völlig neue Werkzeuge auf den Markt, die von Anfang an auf das mehrstufige Client-Server-Modell abgestellt sind.

Zu wichtigen High-end-Entwicklungs-Tools, die sich den beiden zuletzt genannten Trends zuordnen lassen, zählen Dynasty (Dynasty Technologies Inc.), Forté (Forte Software Inc.), Natstar (Nat Systems), Natural Lightstorm (Software AG) und Uniface (Compuware Corp.).

Dynasty war eines der ersten Produkte einer neuen Klasse von unternehmensweiten Client-Server-Entwicklungswerkzeugen. Das Tool erzeugt Anwendungen, die portabel zwischen allen wichtigen grafischen Benutzeroberflächen sind: Windows, OS/2, Mac-OS sowie Motif und Open Look in der Unix-Welt. Dynasty nutzt moderne, objektorientierte Methoden.

Geschäftsprozesse als hierarchische Objekte

Geschäftsprozesse lassen sich in Form von hierarchisch strukturierten Business-Objekten abbilden, wobei Objekte einer unteren Ebene die Attribute und Methoden von Objekten einer höheren Ebene erben. Geschäftsprozesse können somit als wiederverwendbare Bausteine spezifiziert und in der Struktur einer objektorientierten Klassenbibliothek abgelegt werden. Dynasty sieht als besondere Stärke seines Tools die Funktionen zur Partitionierung einer Applikation sowie die Generierungsfunktionen. Zur Lastverteilung nutzt Dynasty einen eigenen Server Request Broker (SRB). Die Client-Server-Kommunikation erfolgt über eigene Transaktionslogik sowie über Mechanismen des Distributed Computing Environment (DCE).

Forté ist sowohl Entwicklungs- als auch Laufzeitumgebung. Der Hersteller sieht sein Produkt selbst als leistungsfähige Anwendungsentwicklungsumgebung für unternehmensweite, dreistufige Client-Server-Applikationen. Im Rahmen der Anwendungsentwicklung setzt Forté auf objektorientierte Werkzeuge sowie ein Repository und im Rahmen der Systemgenerierung auf die Partitionierung von Applikationen. Durch seine ausgeprägten Funktionen zur Teamarbeit eignet sich Forté zum Einsatz in großen Entwicklergruppen.

Die statische Partitionierung zielt auf eine maximale Performance, da für jede Maschine optimierte Partitionen mit Maschinencode erstellt werden. Eine dynamische Partitionierung hat eine möglichst hohe Flexibilität zum Ziel. In dieser Variante produziert Forté Pseudocode, der sich in unterschiedlichen Partitionen zwischen verschiedenen Maschinen aufteilen läßt. Bereits während der Analyse- und Designphase fördert Forté eine iterative Vorgehensweise bei der Softwareproduktion, die noch zusätzlich durch die Nutzung eines Repositories unterstützt wird.

Natstar als Softwarewerkzeug und Server-Framework erlaubt die individuelle Programmierung von Applikationen inklusive Modellierung von Klassen, Tabellen sowie Methoden und Prozessen, GUI, Workflow, Test und Verteilung. Das Tool ermöglicht die Entwicklung von Client-Server-Applikationen vollständig unabhängig von der technischen Umgebung des Zielsystems. Mit Natstar werden vor allem Client-Server-Applikationen im Finanzdienstleistungsbereich, in Banken, Versicherungen und großen Behörden erzeugt. Das integrierte Set von unterschiedlichen Tools beruht auf einem zentralen Repository und umschließt alle Phasen des Lebenszyklus eines Projekts. Die Tools unterstützen einen iterativen, Prototyping-orientierten Ansatz eines dreistufigen Entwicklungsvorgangs mit Modeling, Building, Test und Debugging. Natstar unterstützt Migrationsstrategien für die Überführung bestehender Systeme in eine Client-Server-Architektur, die sowohl Mainframes als auch Abteilungsrechner umfaßt.

"Buy, build and assemble"

"Buy, build and assemble" statt "Make or buy", unter dieses Motto stellt die Software AG ihre Entwicklungsumgebung Natural Lightstorm. In dem derart vorgezeichneten Entwicklungsprozeß werden fertige Komponenten, die mit Programmiersprachen wie Cobol, C++, Java, Natural oder Visual Basic erstellt wurden, sowie individuelle Software zu einer neuen Applikation kombiniert. Zentraler Bestandteil der Entwicklungsumgebung ist die Natural Engineering Workbench. Sie unterstützt neben der Isotec-Methode auch Mainstream Objects, eine Methodik, die die Software AG gemeinsam mit Ed Yourdan konzipierte. Mainstream Objects vereint mehrere Verfahren zur Datenmodellierung und Geschäftsprozeßanalyse. Objektklassen werden dabei auf Basis von Geschäftsprozessen und Anwendungsfällen spezifiziert. Daraus generiert die Natural Engineering Workbench Programme und das Datenbankschema. Natural Lightstorm nutzt zur Kommunikation von Softwarekomponenten untereinander SAGs Entire-Middleware-Technologie.

Uniface verfolgt von seiner strategischen Ausrichtung her einen sogenannten 3D-Ansatz: Development, Deployment und Delivery. Development behandelt die Software-Entwicklung auf Basis eines Business-Modells, beim Deployment geht es um die technologisch unabhängige Verteilung der Applikationen und beim Delivery schließlich um die Implementierung und Auslieferung. Die mit Uniface produzierten Applikationen lassen sich unabhängig von einer bestimmten Infrastruktur nutzen: Host-basierend, in einer klassischen zweistufigen Client-Server-Architekur oder auch in einer dreistufigen Architektur mit einem schlanken Client. Der transparente Zugriff auf verteilte heterogene Datenbestände erfolgt über den Uniface PolyServer. Er gewährleistet Server-übergreifend referentielle Integrität und arbeitet zusammen mit DBMS-Gateways. Neu hinzugekommen sind vor kurzem Datenbanktreiber für den Zugriff auf DB2-, VSAM- und IMS-Datenbestände.

CASE-Tools

Da sich High-end-4GL-Tools wie Forté, Dynasty, Natstar, Natural Lightstorm und Uniface vielfach auf die Vorarbeiten von CASE-Tools stützen, ist es sinnvoll, sich bei der Produktauswahl auch in diesem Sektor näher zu informieren. CASE-Tools wurden eingeführt, um den Prozeß der Softwareproduktion durch eine stringente Ausrichtung an formalisierten Methoden und Verfahren, wie sie aus den Ingenieurwissenschaften bekannt sind, zu beschleunigen. Sie nutzen sehr strenge Methoden in den frühen Phasen eines Softwareprojekts, bei der Analyse und dem Design. Aufgabe dieser Phasen im Software-Lebenszyklus ist es, sicherzustellen, daß alle Daten-Entitäten und deren Beziehungen untereinander widerspruchsfrei und vollständig beschrieben sind. Zu den wichtigsten Anbietern von CASE-Tools zählen: Aonix, Bachman, Cadre, Intersolv, MID, Oracle, Select, Softlab und Sterling Software. Eine umfangreiche Liste mit CASE-Anbietern findet sich unter: http://maroon.qucis.queensu.ca/Software-Engineering/vendor.html.