Java-Wrapper generieren

Bei dem EGL-Java™-Wrapper handelt es sich um eine Gruppe von Klassen, die zum Aufruf eines EGL-Hauptprogramms oder eines aufgerufenen Programms verwendet werden, das über Nicht-EGL-Java-Code aufgerufen wird. Das Programm kann z. B. aus einer Aktionsklasse in einer Struts- oder aus einem Nicht-J2EE-Java-Programm aufgerufen werden. Sie können Java-Wrapperklassen generieren, wenn Sie das zugehörige Programm generieren.

Ein Java-Wrapper besteht aus einer Gruppe von Klassen. Diese Klassen dienen als Schnittstelle zwischen einem Servlet oder einem nicht mit EGL generierten Java-Programm auf der einen Seite und einem generierten Programm oder einer EJB-Session-Bean auf der anderen Seite.

Die Java-Wrapperklassen werden von Ihnen generiert, wenn Sie einen Builddeskriptor mit folgenden Eigenschaften verwenden:
  • Die Builddeskriptoroption enableJavaWrapperGen ist mit yes oder only definiert.
  • Die Builddeskriptoroption linkage referenziert einen Verbindungsoptionsabschnitt mit einem Element callLink, um den Aufruf vom Wrapper zum Programm zu leiten.
  • Es gilt eine der folgenden Aussagen:
    • Der Aufruf vom Wrapper zum Programm erfolgt mithilfe einer EJB-Session-Bean (in diesem Fall ist die Eigenschaft type des Elements callLink mit ejbCall definiert).

      Bei dem aufgerufenen Programm muss es sich in diesem Fall um ein von EGL aufgerufenes Programm handeln.

    • Bei dem Aufruf vom Wrapper an das Programm handelt es sich um einen Fernaufruf (in diesem Fall ist die Eigenschaft type des Elements callLink mit remoteCall definiert.) Außerdem ist die Eigenschaft javaWrapper des Elements callLink mit yes definiert.
      Bei dem aufgerufenen Programm kann es sich in diesem Fall um ein von EGL aufgerufenes Programm oder ein EGL-Hauptprogramm handeln. In Bezug auf das EGL-Hauptprogramm gelten folgende Regeln:
      • Das Element callLink (remoteComType) ist entweder mit DIRECT oder mit DISTINCT definiert. In beiden Fällen werden der native Java-Code und das mit EGL generierte Programm in derselben Java Virtual Machine ausgeführt. Bei dem Aufruf handelt es sich um einen Fernaufruf, da die EGL-Middleware für die Datenkonvertierung zwischen dem Java-Wrapper und dem mit EGL generierten Programm erforderlich und somit beteiligt ist.
      • Das Hauptprogramm kann wiederum eine Anweisung transfer to program ausführen, eine Anweisung transfer to transaction jedoch nicht.

Ausführlichere Informationen zur Verwendung der Klassen finden Sie im Abschnitt 'Java-Wrapperklassen'. Ausführliche Informationen zu den Klassennamen enthält der Abschnitt 'Ausgabe der Java-Wrappergenerierung'.

Gehen Sie zum Verwenden eines Java-Wrappers wie folgt vor:
  1. Generieren Sie Java-Wrapperklassen, die für ein generiertes Programm spezifisch sind.
  2. Nehmen Sie diese Wrapperklassen in den nicht generierten Java-Code auf.
  3. Rufen Sie vom nicht generierten Java-Code aus die Wrapperklassenmethoden auf, um den eigentlichen Aufruf abzusetzen und Konvertierungen für die beiden folgenden Datenformate auszuführen:
    • Von Java verwendete Datentypformate
    • Basiselementtypformate, die bei der Übergabe von Daten an ein mit EGL generiertes Programm und von einem mit EGL generierten Programm aus erforderlich sind