EGL-Anwendungen entwickeln

Enterprise Generation Language (EGL) ist eine Programmiersprache, mit der Sie sich auf geschäftsbezogene Probleme konzentrieren können, anstatt Ihr Augenmerk auf Softwaretechnologien richten zu müssen. Innerhalb der Rational-Entwicklungsumgebung können Sie mit EGL-Assistenten und anderen Tools komplexe Anwendungen mit minimalem Aufwand schreiben.

Sie führen die EGL-Anwendungen nicht direkt aus, sondern generieren mit dem EGL-Code Java- oder COBOL-Programme, die auf einer Vielzahl von Plattformen ausgeführt werden können.

EGL kann in vielfältiger Art und Weise verwendet werden, um Anwendungen zu erstellen, die über vollständig interaktive Webseiten und eine umfassende Datenbankunterstützung verfügen.

EGL unterstützt eine serviceorientierte Architektur (SOA), sodass Sie wiederverwendbare Programme in weiträumig verteilten Domänen erstellen oder diese nutzen können. Sie können auch ein mehrschichtiges Architekturkonzept unter Verwendung von EGL anwenden, bei dem Funktionen zwischen der Workstation des Benutzers (Client), dem Server und außerhalb befindlichen Services aufgeteilt werden. Die Arbeit kann zwischen dynamischen Webseiten, wie z. B. Java Server Pages oder JSPs, und darunterliegenden Programmen, die in einer beliebigen Anzahl an Sprachen geschrieben wurden, unterteilt werden.

Generierter Code

Die folgenden Typen von generiertem Code können mit EGL erstellt werden:
  • Ein Java-Programm kann für eine beliebige der unterstützten Plattformen generiert werden. Sie können das Programm außerhalb von J2EE oder im Zusammenhang mit einem beliebigen der folgenden J2EE-Container implementieren:
    • J2EE-Anwendungsclient
    • J2EE-Webanwendung
    • EJB-Container; in diesem Fall können Sie auch eine EJB-Session-Bean generieren

    Sie können ein EGL-generiertes Java-Programm in einem EGL-Web-Service aufrufen, wenn das Programm nicht interaktiv ist. Das Programm kann in diesem Fall innerhalb oder außerhalb von J2EE implementiert werden. Ferner können Sie ein Programm aufrufen, das im CICS-Stapelbetrieb von einem EGL-Service oder einem EGL-Web-Service ausgeführt wird.

  • Ein nicht interaktives COBOL-Programm kann für die Ausführung unter CICS für z/OS, im z/OS-Stapelmodus außerhalb von CICS oder unter iSeries generiert werden. Ein COBOL-Programm kann außerdem für die Ausführung unter IMS entweder als ein Nachrichtenverarbeitungsprogramm (MPP) oder als ein Stapelnachrichtenprogramm (BMP) generiert werden.

Ferner können Sie EGL verwenden, um eine Webanwendung zu definieren, die folgende Merkmale aufweist:

Details zu dieser besonderen Unterstützung für Webanwendungen finden Sie im Abschnitt "JSF-Handler-Abschnitt" in der EGL-Sprachreferenz.

Sie können ein VGWebTransaction-Programm auch aktualisieren. Die empfohlene Methode ist jedoch, Handler-Abschnitte zur Entwicklung von Webanwendungen zu verwenden. EGL beinhaltet diesen Programmtyp für die Unterstützung der Migration eines VisualAge Generator-Programmtyps, wodurch Entwickler eine Webanwendung so strukturieren können, als ob der Code in einer Nicht-Webumgebung ausgeführt würde. Das VGWebTransaction-Programm ruft Daten ab, zeigt Daten an, akzeptiert Benutzereingaben und führt eine Nachbearbeitung von Daten durch, während die meisten mit PageHandler-Abschnitten erstellten Anwendungen die Steuerung von einer Webseite an die nächste weitergeben.

Ein VGWebTransaction-Programm ist ein Hauptprogramm (kein aufgerufenes Programm). Wenn das Programm für eine Java-Umgebung wie Windows 2000/NT/XP generiert wurde, wird das Programm außerhalb von J2EE ausgeführt.

Sie können EGL auch verwenden, um einen Java-Wrapper zu generieren. Einzelheiten zur Verwendung der Java-Wrapper finden Sie in den Abschnitten "Java-Wrapper" und "Java-Wrapperklassen" in der Liste der zugehörigen Themen am Ende dieses Themas weiter unten.

Serviceorientierte Entwicklung

Die Idee der serviceorientierten Architektur (SOA) ähnelt den Konzepten der Anwendungsprogrammierschnittstelle (API) und der angepassten Bibliothek allgemeiner Funktionen. Sie können alle drei Konzepte für die Wiederverwendung von Funktionen einsetzen. Services können sich in weiträumig verteilten Domänen befinden. SOA bietet Standards für die Lokalisierung und Verwendung von Aufrufen dieser Funktionen, unabhängig davon, ob dies lokal oder über das Internet erfolgt.

EGL unterstützt die Verwendung von Services über Serviceprogrammabschnitte und -schnittstellen.

Mehrschichtige Anwendungen

Ferner unterstützt EGL die Aufteilung der Arbeit auf die Softwaretypen in einer Anwendung. Anwendung haben in der Regel einen mehrschichtigen Architekturansatz, wobei Funktionen zwischen der Workstation des Benutzers (Client), dem Server und außerhalb befindlichen Services aufgeteilt werden. Die Funktionen können auch zwischen dynamischen Webseiten, wie Java-Serverseiten oder JSPs und darunterliegenden Programmen, die in einer beliebigen Anzahl von Sprachen geschrieben wurden, aufgeteilt werden.

Sie können sich eine mehrschichtige Struktur mit dem MVC-Ansatz (Model View Controller) vorstellen. Wie andere Architekturschemas auch, hilft Ihnen die mehrschichtige Struktur die Aspekte der Anwendung als konzeptionelle Einheiten zu betrachten. In seiner einfachsten Form verwaltet Model View Controller die Eingabe einer Benutzerschnittstelle (UI), zum Beispiel einer Webseite. Der Controller übergibt die Eingabe (wie zum Beispiel eine Kundennummer) an ein Programm, das die Lösung für eine geschäftsbezogene Problemstellung (wie zum Beispiel das Speichern und Abrufen von Kundeninformationen) modelliert. Das Modell gibt dann die Information (zum Beispiel die Kundenstammdaten) an die Anzeigekomponente zurück (d. h. wieder zur Webseite).

Hello World-Programm

Wenn Sie mit der Verwendung von EGL nun beginnen wollen, führen Sie das EGL-Lernprogramm "Hello World" aus. Das Programm "Hello World" dient einer Reihe von Zwecken:
  • Die Verwendung der Sprachentools wird ermöglicht.
  • Die wesentlichen Konzepte der Sprache werden vorgestellt.
  • Physische Aktivitäten werden mit neuen Konzepten verknüpft, so dass Sie das Gelernte besser behalten können.

Informationen zum Zugriff auf dieses Lernprogramm finden Sie unter 'Hello World-Programm mit EGL erstellen'.