EGL では、iSeries® のデータ・キューとデータ域と通信するためのライブラリーおよびレコード定義を提供します。
iSeries オペレーティング・システムには、プログラム間通信を処理する独自の API があります。
この通信は、以下の 2 つのオブジェクトのいずれかによって実行することができます。
- データ域は、システムで動いている任意のジョブが読み取りまたは書き込みを行うことができる、固定サイズのオブジェクトです。
これを仮想ホワイトボードとして考えます。
以下の種類のデータの 1 つを含むように、データ域を設定することができます。
- 2000 バイト以下の文字ストリング
- 10 進数
- ブール値 (TRUE または FALSE)
- データ・キューは、任意の数のジョブからの任意の数のメッセージを保持できる可変長オブジェクトです。
データ・キューは、WebSphere® MQ メッセージ・キューと類似したものです。
データ域のオーバーヘッドはデータ・キューよりも少ないので、一般に、使用するオブジェクトの選択はタスクの複雑さによって異なります。
例えば、あるプログラムに、別のプログラムに対してガーベッジ・コレクションを実行するよう命令を出させるフラグを保持するために、データ域を使用することがあります。
以下の例で示すように、通常、データ・キューのシナリオはさらに複雑になります。
- あるアプリケーションが特定タイプの要求を listen しています。それぞれの要求ごとに、アプリケーションはレコードを作成し、その新規レコードをキューに追加します。
- 他のアプリケーションは、最初のアプリケーションが作成した新規レコードを listen しています。
あるアプリケーションは、レコードを使用してデータベースを更新します。別のアプリケーション
は、同じレコードを使用して、送り状を生成します。
EGL は、2 つの方法で以下の iSeries オブジェクトをサポートします。
- 各種の iSeries オブジェクトに対応する EGL レコード・パーツ (データ域やデータ・キューなどを含む)。レコード・パーツは、CommonDataParts.egl ファイルにあります。
- iSeries API 呼び出しをラップする EGL 関数のライブラリー。使用するライブラリーは、生成する言語に応じて異なります。
- iCobolLib.egl (COBOL 生成)
- iJavaLib.egl (Java™ 生成)
このライブラリーは、IBM® Java Toolbox のクラスにより実装される ExternalType パーツを使用します。このトピック内の『必要な IBM Toolbox for Java』を参照してください。
これらのファイルをワークスペースに追加する最も簡単な方法は、「IBM i オブジェクトがサポートされている EGL」サポート機能をプロジェクトに追加することです。詳しくは、EGL プロジェクトのフィーチャーとファセットを参照してください。
これらのレコード・パーツおよび関数呼び出しについて詳しくは、このトピックの終わりにある『関連参照』セクションを参照してください。
必要な IBM Toolbox
for Java
呼び出しリンケージに
remoteComType =
Java400 が含まれているリモート呼び出しは、Java または Debug から出されたものであり、System i® マシン上のプログラムを呼び出します。EGL は、IBM Toolbox
for Java のクラスを使用してこれらの呼び出しを有効にします。Java400 呼び出しを行うユーザーは、Web から
jt400.jar ライブラリーをダウンロードしてプロジェクト・クラスパスに追加する必要があります。
- 次に示すロケーションを参照し、Toolbox for Java のダウンロード手順に従って操作します。
http://www.ibm.com/systems/i/software/toolbox/index.html
- jt400.jar ファイルをシステム上のディレクトリーに解凍します。
- プロジェクト名を右クリックしてをクリックします。
- 「外部 JAR の追加」をクリックします。
- jt400.jar アーカイブを見つけて「開く」をクリックします。
「OK」をクリックして、「プロパティー」ウィンドウを閉じます。