Übersicht über COBOL-Container

Der COBOL-Container ermöglicht das Laden von COBOL-Modulen in den Stapeladressraum und deren direkten Aufruf.

Der Container kann im Lebenszyklus eines Anwendungsservers mehrfach erstellt und gelöscht werden. Jeder Container wird mit einer LE-Enklave (Language Environment ®) erstellt, die vom Server getrennt ist. Dem Container wird auf diese Weise jedesmal, wenn er erstellt wird, eine bereinigte LE bereitgestellt.

Java™ -Programme können Parameter an COBOL übergeben und die Ergebnisse abrufen. Das Generatortool für COBOL-Aufrufstubs. wird bereitgestellt, um die Java-Aufrufstubs und Datenbindungen auf der Basis der Daten-und Verbindungsdefinitionen in der COBOL-Quelle zu erstellen. Außerdem können JDBC-Verbindungen des Typs 2, die vom Java-Programm erstellt werden, gemeinsam mit dem COBOL-Programm unter demselben Transaktionskontext verwendet werden.

Wert des COBOL-Containers

Das Produkt ist eine umfassende Ausführungsumgebung für Java-Stapelverarbeitung. Zum Design der Stapelunterstützung gehört die Integration mit anderer Informationsverarbeitung. COBOL gehört seit den Anfängen von Computern zur Stapelverarbeitung, und die Investitionen in COBOL-Assets sind beträchtlich. Der COBOL-Container ist ein Mittel für die direkte Integration von COBOL in die Java-Stapelverarbeitung.

Programmiereinschränkungen für COBOL-Programme

Für COBOL-Programme, die in der Produktumgebung ausgeführt werden, gelten die folgenden Programmiereinschränkungen:
  • Benutzerdefinierte Fehlerhandler sind nicht zulässig.
  • Eine explizite Transaktionssteuerung ist nicht zulässig, z. B. kein COMMIT oder ROLLBACK.
  • DB2® -Sonderregister. B. SOLID oder SCHEMA, kann nicht festgelegt werden.
  • Für den DD-Zugriff wird vorausgesetzt, dass Benutzercode den DD dynamisch zuordnet und freigibt.
  • Der Java-Aufruf von ENTRY-Kennsätzen wird nicht unterstützt.
  • Der COBOL-Aufruf von Java-Code wird nicht unterstützt.

Voraussetzungen für die COBOL-Kompilierung

Sie müssen alle COBOL-Module, die Sie in der Umgebung verwenden, mit den folgenden Optionen kompilieren:

dll
COBOL-Module müssen das DLL-Format haben.
rent
COBOL-Module müssen wiedereintrittsfähigen Code enthalten.
Faden
COBOL-Module müssen threadsicher sein.
outdd(WCGILOUT)
Erforderlich, damit die Ausgabe von COBOL DISPLAY in den Produktjobprotokollen erscheint.
SQL('ATTACH(RRSAF)')
Erforderlich für den DB2-Zugriff.
Sie können die folgenden Optionen in der COBOL-Quelle angeben:
cbl dll,lib,rent,thread,outdd(wcgilout)
Außerdem können Sie die folgenden Optionen als Eingaben für den COBOL-Compiler angeben. Geben Sie beispielsweise Folgendes in der cob2-Befehlszeile ein:
cob2 -c -bdll,rent,thread,lib,list '-qOUTDD(WCGILOUT)' sample.cbl

Einschränkungen für den COBOL-Container

Das Produkt, in dem der COBOL-Container ausgeführt wird, muss mit dem Auslastungsprofil ISOLATE konfiguriert sein.

Informationen zum Konfigurieren des Auslastungsprofils finden Sie im Artikel "Erweiterte Einstellungen für ORB-Services" auf der Plattform z/OS® .

JDBC-Datenquelleneinschränkungen für den COBOL-Container

Die in diesem Abschnitt aufgelisteten Einschränkungen gelten für alle JDBC-Datenquellen, die DB2-Verbindungen des Typs 2 enthalten, die von Java- und COBOL-Code über ILContainer.setDB2Connection gemeinsam genutzt wird. [Geben Sie auch den Objekttyp für ILContainer.setDB2Connection an.]

Diese Einschränkungen stellen sicher, dass alle DB2-Datenkonstrukte, die vom COBOL-Code geöffnet werden und über COMMIT-Grenzen bestehen bleiben, wie z. B. WITH HOLD CURSOR, ordnungsgemäß bereinigt werden, wenn die JDBC-Verbindung geschlossen wird.

Das Verbindungspooling muss inaktiviert sein. Sie können das Verbindungspooling mit der Eigenschaft "disableWASConnectionPooling" inaktivieren. Klicken Sie in der Administrationskonsole auf Ressourcen > JDBC > Datenquellen > Datenquellenname > Angepasste Eigenschaften > Neu. Fügen Sie eine angepasste Eigenschaft mit dem Namen disableWASConnectionPooling hinzu und setzen Sie sie auf true.

Die gemeinsame Nutzung von Verbindungen muss auf UNSHARED gesetzt werden. Die gemeinsame Nutzung von Verbindungen für die Datenquelle kann mit der Eigenschaft "globalConnectionTypeOverride" auf UNSHARED gesetzt werden. Um diese Eigenschaft über die Administrationskonsole festzulegen, klicken Sie auf Ressourcen > JDBC > Datenquellen > Datenquellenname > Eigenschaften des Verbindungspools > Angepasste Eigenschaften des Verbindungspools > Neu. Fügen Sie eine angepasste Eigenschaft mit dem Namen globalConnectionTypeOverride hinzu und setzen Sie sie auf unshared.

Weitere Informationen zu diesen Eigenschaften finden Sie im Artikel Verbindungspools optimieren.