Übersicht über COBOL-Container

Der COBOL-Container ermöglicht das Laden von COBOL-Modulen in den Stapeladressraum und sie werden direkt aufgerufen.

Der Container kann im Lebenszyklus eines Anwendungsservers mehrmals erstellt und gelöscht werden. Jeder Container wird mit einer LE-Enklave (Language Environment ®) erstellt, die vom Server getrennt ist. Der Container wird jedes Mal, wenn er erstellt wird, einer sauberen LE zugeordnet.

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. Darüber hinaus können vom Java-Programm erstellte JDBC -Typ-2-Verbindungen mit dem COBOL-Programm unter demselben Transaktionskontext gemeinsam genutzt werden.

Wert des COBOL-Containers

Das Produkt bietet eine umfassende Ausführungsumgebung für die Java-Stapelverarbeitung. Teil des Designs der Stapelunterstützung ist die Integration in andere Informationsverarbeitung. COBOL ist seit den sehr frühen Tagen der Computer Teil der Stapelverarbeitung und es gibt erhebliche Investitionen in COBOL-Assets. Der COBOL-Container ermöglicht die direkte Integration von COBOL in die Java-Verarbeitung.

Programmiereinschränkungen für COBOL-Programme

Für COBOL-Programme, die in der Produktumgebung ausgeführt werden, gelten die folgenden Programmiereinschränkungen:
  • Benutzerdefinierte Fehlerbehandlungsprogramme sind nicht zulässig.
  • Explizite Transaktionssteuerung ist nicht zulässig: z. B. kein COMMIT oder ROLLBACK.
  • DB2® -Sonderregister. z. B. SOLID oder SCHEMA, kann nicht festgelegt werden.
  • Für den DD-Zugriff ist Benutzercode erforderlich, um die DD dynamisch zuzuordnen oder freizugeben.
  • Der Java-Aufruf von ENTRY-Bezeichnungen wird nicht unterstützt.
  • COBOL-Aufruf von Java-Code wird nicht unterstützt

COBOL-Kompilierungsanforderungen

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

DLL
COBOL-Module müssen im DLL-Format vorliegen.
Miete
COBOL-Module müssen simultan verwendbaren Code enthalten.
Thread
COBOL-Module müssen threadsicher sein.
Outdd (WCGILOUT)
Erforderlich, damit die COBOL DISPLAY-Ausgabe in den Produktjobprotokollen angezeigt wird.
SQL ('ATTACH (RRSAF)')
Erforderlich für DB2 -Zugriff.
Sie können diese Optionen in der COBOL-Quelle angeben:
cbl dll,lib,rent,thread,outdd(wcgilout)
Sie können diese Optionen auch als Eingaben für den COBOL-Compiler angeben. Geben Sie beispielsweise Folgendes in der Befehlszeile cob2 ein:
cob2 -c -bdll,rent,thread,lib,list '-qOUTDD(WCGILOUT)' sample.cbl

Einschränkungen für den COBOL-Container

Das Produkt, das den COBOL-Container hostet, muss mit dem Auslastungsprofil ISOLATE konfiguriert sein.

Informationen zur Konfiguration 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 aufgeführten Einschränkungen gelten für jede JDBC -Datenquelle, die DB2 type-2 -Verbindungen enthält, die vom Java-und COBOL-Code über ILContainer.setDB2Connectiongemeinsam genutzt werden. [Geben Sie auch den Objekttyp für ILContainer.setDB2Connectionan.]

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

Verbindungspooling muss DISABLED sein. Sie können das Verbindungspooling mit der Eigenschaft "disableWASConnectionPooling" inaktivieren. Klicken Sie zum Festlegen dieser Eigenschaft 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 den Wert 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. Klicken Sie zum Festlegen dieser Eigenschaft in der Administrationskonsole 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 den Wert auf unshared.

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