Auf Programme unter IBM i als Web-Services zugreifen: Details zu Tastenbefehlen

Mit dem EGL-Generator können SOAP-Web-Services oder EGL-REST-Web-Services generiert werden, sodass eine Anwendung, die als Serviceanforderer fungiert auf die folgenden Typen von Programmen unter IBM® i zugreifen kann: rpgle, cbl, cblle, sqlrpgle, sqlcbl und sqlcblle. In diesem Kapitel werden die Anweisungen zum Zugreifen auf Programme unter IBM i als Web-Services beschrieben. Hintergrundinformationen finden Sie unter 'Auf Programme unter IBM i als Web-Services zugreifen: Übersicht'.

Vorbereitungen

Anmerkung: Mit dem hier beschriebenen Assistenten wird kein Schnittstellenabschnitt zum Zugreifen auf einen SOAP-Service erstellt. Gehen Sie wie folgt vor, um einen Schnittstellenabschnitt zum Zugreifen auf einen SOAP-Service zu erstellen:
  1. Generieren Sie den Implementierungsdeskriptor, mit dem die WSDL-Datei erstellt und im Verzeichnis 'WebContent/WEB-INF/wsdl' abgelegt wird.
  2. Klicken Sie mit der rechten Maustaste auf die WSDL-Datei, wählen Sie 'EGL-Services' > 'EGL-Clientschnittstelle erstellen' aus und fahren Sie mit dem im Kapitel 'Einen Schnittstellenabschnitt zum Zugreifen auf einen SOAP-Service' beschriebenen Prozess fort.

    Der Schnittstellenabschnitt muss in das Rich-UI-Projekt eingefügt werden.

Externe Typen und strukturierte Datensatzabschnitte erstellen

  1. Klicken Sie in der Perspektive 'Explorer für ferne Systeme' mit der rechten Maustaste auf den Eintrag für die Programmquelle unter IBM i oder für eine bereits vorhandene PCML-Definition (Program Call Markup Language).
  2. Wählen Sie 'EGL-Services' > 'EGL erstellen: externer Typ, Schnittstelle und Datensätze' aus.
  3. Das erste von zwei Fenstern 'Neuer EGL-Abschnitt' wird angezeigt. Wählen Sie in der Mitte des Feldes den zu erstellenden externen Typ aus. Wählen Sie unten im Feld mindestens ein Kontrollkästchen aus, um anzugeben, ob ein SOAP-Web-Service, ein REST-Web-Service oder beides erstellt werden soll.
    • Wenn Sie 'REST-Web-Services erstellen' auswählen, können Sie einen Schnittstellenabschnitt und nicht strukturierte Datensatzabschnitte für die Verwendung durch die Rich-UI-Anwendung erstellen.
    • Wenn Sie die Schnittstellen- und Datensatzabschnitte nicht benötigen, wählen Sie die Option 'EGL-Rich-UI-Schnittstelle für REST-Web-Service erstellen' ab. Wenn Sie später für den REST-Service einen Schnittstellenabschnitt benötigen, klicken Sie mit der rechten Maustaste auf den externen Typ, wählen Sie 'EGL-Services' > 'EGL-Schnittstelle extrahieren' aus und führen Sie die im Assistenten beschriebenen Schritte aus. Der Schnittstellenabschnitt muss in das Rich-UI-Projekt eingefügt werden.
  4. Klicken Sie auf 'Weiter'. Das zweite Fenster 'Neuer EGL-Abschnitt' wird angezeigt:
    1. Geben Sie im Feld 'Quellenordner' das Projekt an, das den externen Typ und die strukturierten Datensatzabschnitte erhalten soll. Geben Sie außerdem einen Backslash (\) und den Quellenordner an.
    2. Geben Sie im Feld 'Paket' den Paketnamen an. Stellen Sie sicher, dass Sie einen Paketnamen angeben. Andernfalls kann kein anderes Projekt auf die Abschnitte im angegebenen Projekt zugreifen.
    3. Geben Sie im Feld 'Name der EGL-Quellendatei' den Dateinamen an.
  5. Geben Sie in den folgenden Feldern die Informationen zum jeweiligen externen Typ an. Stellen Sie sicher, das Sie angeben, ob es sich bei dem Programm um ein Serviceprogramm handelt:
    1. Geben Sie im Feld 'Name ExternalType' den für den externen Typ zu erstellenden Namen selbst an.
    2. Geben Sie im Feld 'Hostprogrammname' den Namen des Hostprogramms mit bearbeiteten Links an.
    3. Geben Sie im Feld 'Hostprogrammbibliothek' den Namen der Bibliothek für das Hostprogramm mit bearbeiteten Links an.
    4. Wenn es sich bei dem Programm um ein Serviceprogramm handelt, wählen Sie 'Serviceprogramm' aus. Wählen Sie das Feld andernfalls ab und wählen Sie den entsprechenden Eintrag in der Liste 'Hostprogrammtyp' aus. In dieser Liste können Sie angeben, ob das Hostprogramm NATIVE, das heißt in COBOL oder RPG geschrieben, oder 'EGL', also in EGL geschrieben, ist.
    5. Wählen Sie im Feld 'Eingangspunkte' die Programmfunktionen zum Bereitstellen als Servicefunktionen aus. Sie können alle Funktionen auswählen oder abwählen, indem Sie auf 'Alles auswählen' oder 'Alles abwählen' klicken.
    6. Um Dateien mit demselben Namen für die externen Typen zu überschreiben, wählen Sie 'Vorhandene Dateien überschreiben' aus. Wählen Sie das Kontrollkästchen ab, um das Überschreiben vorhandener Dateien zu verhindern.
  6. Klicken Sie auf 'Weiter'.

REST-Web-Services erstellen

Wenn Sie REST-Web-Services erstellen, wird das Fenster 'Neuer EGL-REST-Service' angezeigt. Gehen Sie wie folgt vor und geben Sie dabei unbedingt an, ob das Programm unter IBM i statusabhängig ist.
  1. Wenn das Feld 'Quellenordner' verfügbar ist, geben Sie ein allgemeines oder ein Webprojekt sowie den Quellenordner an, in dem sich der Implementierungsdeskriptor befindet. Der REST-Service ist eine Ausgabe, die zur Generierungszeit des Implementierungsdeskriptors erstellt wird.
  2. Wenn das Feld 'Name der EGL-Implementierungsdeskriptordatei' verfügbar ist, geben Sie den Namen des Implementierungsdeskriptors an.
  3. Wählen Sie im mittleren Feld 'enableGenerate' zum Generieren für alle Services aus.
    • Wenn Sie bereits einen REST-Service generiert haben, können Sie bei der Generierung Zeit sparen, indem Sie im Implementierungsdeskriptor angeben, dass Sie den Service nicht generieren möchten. Wenn Sie jedoch irgendwelche Aspekte des Eintrags für den Implementierungsdeskriptor ändern, müssen Sie den Service neu generieren.
    • Sie können das URI-Feld ändern, in dem das Qualifikationsmerkmal der unteren Ebene für die zum Zugreifen auf den REST-Service verwendete Adresse angegeben wird.
    • Stellen Sie für den jeweiligen Service sicher, dass der letzte Eintrag wiedergibt, ob das Programm unter IBM i statusabhängig ist oder nicht. Um den Wert für einen Eintrag zu ändern, klicken Sie auf den Eintrag.
  4. Um REST-Serviceeinträge mit demselben Namen im Implementierungsdeskriptor zu überschreiben, wählen Sie 'Vorhandene Dateien überschreiben' aus. Wählen Sie das Kontrollkästchen ab, um das Überschreiben vorhandener Einträge zu verhindern.
  5. Klicken Sie im letzten Abschnitt, sofern verfügbar, auf die Schaltfläche 'Hinzufügen', um ein Protokoll zu ändern oder hinzuzufügen, das zum Zugreifen auf das Programm unter IBM i vom Web-Service aus verwendet wird. Das Fenster 'Protokoll hinzufügen' wird angezeigt. Geben Sie einen Protokollnamen sowie die zusätzlichen Informationen an, die im Kapitel zu den Protokolloptionen zum Zugreifen auf Nicht-Web-Services angegeben sind. Klicken Sie auf 'Fertig stellen', um zum Fenster 'Neuer EGL-REST-Service' zurückzukehren.
  6. Klicken Sie auf 'Weiter', um Ihre Arbeit im Assistenten fortzusetzen oder klicken Sie wenn möglich auf 'Fertig stellen', um Ihre Arbeit abzuschließen.

Schnittstellenabschnitte erstellen

Wenn Sie angegeben haben, dass Sie Schnittstellen- und Datensatzabschnitte in die REST-Services aufnehmen möchten, wird das Fenster 'Neuer EGL-Schnittstellenabschnitt' angezeigt.
  1. Geben Sie im Feld 'Quellenordner' das Rich-UI-Projekt an, das den Schnittstellenabschnitt erhalten soll, sowie den Quellenordner.
  2. Geben Sie im Feld 'Paket' den Paketnamen an. Stellen Sie sicher, dass Sie einen Paketnamen angeben. Andernfalls kann kein anderes Projekt auf die Abschnitte im angegebenen Projekt zugreifen.
  3. Geben Sie im Feld 'Name der EGL-Quellendatei' den Dateinamen an.
  4. Geben Sie in den folgenden Feldern die Informationen zum jeweiligen Schnittstellenabschnitt und zu den dazugehörigen Datensatzabschnitten an:
    1. Geben Sie im Feld 'Schnittstellenname' den für den Schnittstellenabschnitt zu erstellenden Namen an.
    2. Geben Sie im Funktionsbereich alle Funktionen unter IBM i an, die in den Schnittstellenabschnitt eingefügt werden sollen. Im Assistenten werden nicht strukturierte Datensatzabschnitte für alle Parameter erstellt, die keine primitiven Datentypen sind.
  5. Wählen Sie 'Vorhandene Dateien überschreiben' aus, um bereits vorhandene Dateien zu überschreiben. Wählen Sie das Kontrollkästchen ab, um das Überschreiben vorhandener Dateien zu verhindern.

SOAP-Web-Services erstellen

Wenn Sie SOAP-Web-Services erstellen, wird das Fenster 'Neuer EGL-Web-Service' angezeigt.
  1. Wenn das Feld 'Quellenordner' verfügbar ist, geben Sie ein allgemeines oder ein Webprojekt sowie den Quellenordner an, in dem sich der Implementierungsdeskriptor befindet. Der Web-Service ist eine Ausgabe, die zur Generierungszeit des Implementierungsdeskriptors erstellt wird.
  2. Wenn das Feld 'Name der EGL-Implementierungsdeskriptordatei' verfügbar ist, geben Sie den Namen des Implementierungsdeskriptors an.
  3. Wählen Sie im mittleren Feld 'enableGenerate' zum Generieren für alle Services aus. Wenn Sie bereits einen Web-Service generiert haben, können Sie bei der Generierung Zeit sparen, indem Sie im Implementierungsdeskriptor angeben, dass Sie den Service nicht generieren möchten. Wenn Sie jedoch irgendwelche Aspekte des Eintrags für den Implementierungsdeskriptor ändern, müssen Sie den Service neu generieren.
  4. Um SOAP-Serviceeinträge mit demselben Namen im Implementierungsdeskriptor zu überschreiben, wählen Sie 'Vorhandene Dateien überschreiben' aus. Wählen Sie das Kontrollkästchen ab, um das Überschreiben vorhandener Einträge zu verhindern.
  5. Klicken Sie im letzten Abschnitt, sofern verfügbar, auf die Schaltfläche 'Hinzufügen', um ein Protokoll zu ändern oder hinzuzufügen, das zum Zugreifen auf das Programm unter IBM i vom Web-Service aus verwendet wird. Das Fenster 'Protokoll hinzufügen' wird angezeigt. Geben Sie einen Protokollnamen sowie die zusätzlichen Informationen an, die im Handbuch für die EGL-Generierung 'Deployment descriptor options for service requesters' angegeben sind. Klicken Sie auf 'Fertig stellen', um zum Fenster 'Neuer EGL-Web-Service' zurückzukehren.
  6. Klicken Sie auf 'Fertig stellen', um Ihre Arbeit im Assistenten abzuschließen.

Feedback