Ü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 vom Server gesonderten LE-Enklave (Language Environment) erstellt. Dem Container wird auf diese Weise jedes Mal, wenn er erstellt wird, eine bereinigte LE bereitgestellt.

Java™-Programme können Parameter an COBOL übergeben und die Ergebnisse abrufen. Das COBOL-Aufrufstubgeneratortool wird bereitgestellt, mit dem die Java-Aufrufstubs und Datenbindungen basierend auf den Daten- und Verbindungsdefinitionen in der COBOL-Quelle erstellt werden können. 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-SSonderregister, wie z. B. SOLID und SCHEMA, können nicht definiert 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.
thread
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 in den Beschreibungen der erweiterten Einstellungen der ORB-Services für die 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. Zum Definieren dieser Eigenschaft klicken Sie in der Administrationskonsole auf Ressourcen > JDBC > Datenquellen > Name_der_Datenquelle > 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. Zum Definieren dieser Eigenschaft klicken Sie in der Administrationskonsole auf Ressourcen > JDBC > Datenquellen > Name_der_Datenquelle > Eigenschaften des Verbindungspools > Angepasste Eigenschaften > 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".


Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cgrid_cobol_container_overview
Dateiname:cgrid_cobol_container_overview.html