リンケージ・オプション・パーツの callLink エレメントのプロパティー
type は、呼び出しの種類を指定します。次の値から 1 つを選択します。
- ejbCall
- 生成された Java™ プログラムまたはラッパーが、EJB セッション Bean を使用するプログラム呼び出しを実装すること、および EJB セッション Bean がプロパティー pgmName で示された COBOL または Java プログラムにアクセスすることを示しています。
値 ejbCall は、以下の 2 つのいずれかの場合に適用できます。
- COBOL または Java プログラム用の Java ラッパーを生成しており、ラッパーはそのプログラムを EJB セッション Bean を介して呼び出す。
この場合、プロパティー pgmName はラッパーから呼び出されるプログラムを参照し、ejbCall の使用により EJB セッション Bean が生成されます。
- EJB セッション Bean を介して、生成された COBOL または Java プログラムを呼び出す Java プログラムを生成している。
この場合、プロパティー pgmName は呼び出し先プログラムを参照し、EJB セッション Bean は生成されません。
いずれのケースでも、EJB セッション Bean を使用する場合、EJB セッション Bean を生成するためにも Java ラッパーを生成する必要があります。
生成された セッション Bean はエンタープライズ Java サーバーにデプロイする必要があり、次のどちらかが該当しなければなりません。
- EJB セッション Bean を配置するために使用されるネーム・サーバーが、その Session Bean を呼び出すコードと同じマシン上に存在する。
- プロパティー providerURL が、ネーム・サーバーの存在する場所を示している。
EJB セッション Bean を使用する場合、リンケージ・オプション・パーツを指定して、呼び出し側プログラムまたはラッパーを生成する必要があります。この場合、呼び出し先プログラム用のプロパティー type の値は ejbCall です。
セッション Bean の使用の決定をデプロイメント時に行うことはできません。ただし、プロパティー remoteBind を RUNTIME と設定した場合、EJB セッション Bean が生成されたプログラムにアクセスする方法 についてはデプロイメント時に決定できます。しかし、この決定は生成時に行う方が、効率的です。
- localCall
- 呼び出しで EGL ミドルウェアを使用しない ことを指定します。この場合、呼び出し先プログラムは、呼び出し側と同一プロセス内になります。
呼び出し側が COBOL プログラムである場合、これ以外のプロパティーによってさらに多くの状態が定義されます。最も重要なのは、linkType と (CICS® COBOL プログラム用の) parmForm です。これらのプロパティーにはデフォルト値があり、
受け入れるかオーバーライドするかを選択できます。
localCall はデフォルト値であり、z/OS® バッチ COBOL プログラムに有効な唯一の値です。
- remoteCall
- 呼び出しが EGL ミドルウェアを使用することを指定します。これにより、渡されるデータの終わりに 12 バイトが付加されます。これらのバイトによって、呼び出し側は、呼び出し先プログラムからの戻り値を受け取ることができます。
呼び出し側が CICS COBOL プログラムである場合、remoteCall を使用する意味は次のとおりです。
- 呼び出し先プログラムが同一のまたは異なる CICS 領域内に存在し、システム ID を指定した EXEC CICS LINK コマンドを使用する。システム ID の複写元は、プロパティー location の値によって決定します。
- プロパティー parmForm の唯一の有効な形式は、COMMDATA である。
呼び出し側が Java コードの場合、通信は、プロパティー remoteComType で指定されたプロトコルによって処理されます。プロトコルの選択は、呼び出し先プログラムが同一スレッド内にあるか、異なるスレッド内にあるかを示しています。
呼び出しで可変長レコードが渡される場合は、次のことが適用されます。
- レコードに対して指定された最大長のスペースが予約されます。
- callLink プロパティー type の値が remoteCall または ejbCall の場合、可変長項目が存在する場合は、それがレコード内部にある必要があります。