COBOLのサンプルプログラムについて説明します。
ノーティフィケーションサービス(Mixedモデルany型データ)のEventFactoryを使用したサンプルプログラム(複数IP対応)
ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)のEventFactoryを使用したサンプルプログラム
ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)のEventFactoryを使用したサンプルプログラム(複数IP対応)
注意
ここでは、サーバパッケージにおいて以下にインストールした場合の手順で説明しています。クライアントパッケージをインストールした場合の格納パスについては、「付録A 提供プログラム」を参照して確認してください。
CORBAサービスのインストールパス:C:\Interstage\ODWIN
イベントサービスのインストールパス:C:\Interstage\ESWIN
(1) イベントサービス(Pushモデル)のサンプルプログラム
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
イベントサービスのチャネル静的生成 | Push | any | cobol\push |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。
サンプルソースの翻訳
■PUSH_CONSUMER.EXEを作成します(EXEファイル名:「PUSH_CONSUMER.EXE」)。
push_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | push_consumer.cbl |
翻訳結果 | PUSH_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合してEXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLSV.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMTSV.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLSVUC.LIB |
push_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | push_consumer.cbl |
翻訳結果 | PUSH_CONSUMER.OBJ |
1.で生成したオブジェクトを結合してEXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■PUSH_SUPPLIER.EXEを作成します(EXEファイル名:「PUSH_SUPPLIER.EXE」)。
push_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | push_supplier.cbl |
翻訳結果 | PUSH_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
push_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | push_supplier.cbl |
翻訳結果 | PUSH_SUPPLIER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■COSEVENTCOMM-PUSHCONSUMER.DLLを作成します(DLLファイル名:「COSEVENTCOMM-PUSHCONSUMER.DLL」)。
[ツールメニュー]の「翻訳」を選択し、その他の翻訳オプションに「NAME」を指定し、コンパイルします。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | push_library.cbl |
翻訳結果 | SERVER-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、DLLを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | ライブラリ | C:\Interstage\ODWIN\lib\ODCOBCBLSV.LIB |
オブジェクト | [C:\Interstage\eswin\lib\cobol配下] | |
スレッドモードの場合 | ライブラリ | C:\Interstage\ODWIN\lib\ODCOBCBLMTSV.LIB |
オブジェクト | [C:\Interstage\eswin\lib\cobol配下] | |
UNICODE用の場合 | ライブラリ | C:\Interstage\ODWIN\lib\ODCOBCBLSVUC.LIB |
オブジェクト | [C:\Interstage\eswin\lib\cobol配下] |
push_library.cblを翻訳します。翻訳オプションには、NAMEを指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | push_library.cbl |
翻訳結果 | SERVER-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER.OBJ |
1.で生成したオブジェクトを結合し、DLLを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | ライブラリ | F4AGCIMP.LIB |
オブジェクト | [C:\Interstage\eswin\lib\x64\cobol配下] | |
スレッドモードの場合 | ライブラリ | F4AGCIMP.LIB |
オブジェクト | [C:\Interstage\eswin\lib\x64\cobol配下] | |
UNICODE用の場合 | ライブラリ | F4AGCIMP.LIB |
オブジェクト | [C:\Interstage\eswin\lib\x64\cobol配下] |
翻訳が成功した場合、PUSH_CONSUMER.EXE、PUSH_SUPPLIER.EXE、COSEVENTCOMM-PUSHCONSUMER.DLLの3つのプログラムが作成されます。COSEVENTCOMM-PUSHCONSUMER.DLLをパスが設定されているディレクトリに移動します。
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントチャネルの登録
静的イベントチャネル「push::sample」を登録します。
esmkchnl -g push -c sample
イベントチャネルの起動
イベントチャネルグループ「push」を起動します。
esstartchnl -g push
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
コンシューマのインプリメンテーション情報の登録
push_consumerのインプリメンテーション情報を登録します。
cd C:\Interstage\eswin\src\samples\cobol\push register
プロセスモードで使用するときは、defファイル内の「thr_conc_init=16」を「thr_conc_init=1」に変更してから登録してください。また、スレッドモード版またはUNICODE版で使用するときは、defファイル内の「lang=COBOL」を「lang=COBOL_MT」に変更してから登録してください。
コンシューマの起動
push_consumer.exeを起動します。
push_consumer
これで、コンシューマがイベントチャネル「push::sample」に接続されます。
サプライヤの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、push_supplier.exeを起動します。
cd C:\Interstage\eswin\src\samples\cobol\push push_supplier
これにより、サプライヤが送信したメッセージをイベントチャネルに接続されたコンシューマに送信できます。
コンシューマのインプリメンテーション情報の削除
サンプルプログラム終了時に、push_supplierのインプリメンテーション情報を削除します。
unregister
4. 実行結果
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
push_consumer recv data push-COBOL
(2) イベントサービス(Pullモデル)のサンプルプログラム
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
イベントサービスのチャネル静的生成 | Pull | any | cobol\pull |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。
サンプルソースの翻訳
■PULL_SUPPLIER.EXEを作成します(EXEファイル名:「PULL_SUPPLIER.EXE」)。
pull_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | pull_supplier.cbl |
翻訳結果 | PULL_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLSV.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMTSV.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLSVUC.LIB |
pull_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | pull_supplier.cbl |
翻訳結果 | PULL_SUPPLIER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■PULL_CONSUMER.EXEを作成します(EXEファイル名:「PULL_CONSUMER.EXE」)。
pull_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | pull_consumer.cbl |
翻訳結果 | PULL_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
pull_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | pull_consumer.cbl |
翻訳結果 | PULL_CONSUMER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■COSEVENTCOMM-PULLSUPPLIER.DLLを作成します(DLLファイル名:「COSEVENTCOMM-PULLSUPPLIER.DLL」)。
[ツールメニュー]の「翻訳」を選択し、その他の翻訳オプションに「NAME」を指定し、コンパイルします。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | pull_library.cbl |
翻訳結果 | SERVER-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、DLLを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | ライブラリ | C:\Interstage\ODWIN\lib\ODCOBCBLSV.LIB |
オブジェクト | [C:\Interstage\eswin\lib\cobol配下] | |
スレッドモードの場合 | ライブラリ | C:\Interstage\ODWIN\lib\ODCOBCBLMTSV.LIB |
オブジェクト | [C:\Interstage\eswin\lib\cobol配下] | |
UNICODE用の場合 | ライブラリ | C:\Interstage\ODWIN\lib\ODCOBCBLSVUC.LIB |
オブジェクト | [C:\Interstage\eswin\lib\cobol配下] |
pull_library.cblを翻訳します。翻訳オプションには、NAMEを指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | pull_library.cbl |
翻訳結果 | SERVER-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER.OBJ |
1.で生成したオブジェクトを結合し、DLLを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | ライブラリ | F4AGCIMP.LIB |
オブジェクト | [C:\Interstage\eswin\lib\x64\cobol配下] | |
スレッドモードの場合 | ライブラリ | F4AGCIMP.LIB |
オブジェクト | [C:\Interstage\eswin\lib\x64\cobol配下] | |
UNICODE用の場合 | ライブラリ | F4AGCIMP.LIB |
オブジェクト | [C:\Interstage\eswin\lib\x64\cobol配下] |
翻訳が成功した場合、PULL_CONSUMER.EXE、PULL_SUPPLIER.EXE、COSEVENTCOMM-PULLSUPPLIER.DLLの3つのプログラムが作成されます。COSEVENTCOMM-PULLSUPPLIER.DLLをパスが設定されているディレクトリに移動します。
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントチャネルの登録
静的イベントチャネル「pull::sample」を登録します。
esmkchnl -g pull -c sample
イベントチャネルの起動
イベントチャネルグループ「pull」を起動します。
esstartchnl -g pull
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
サプライヤのインプリメンテーション情報の登録
pull_supplierのインプリメンテーション情報を登録します。
cd C:\Interstage\eswin\src\samples\cobol\pull register
プロセスモードで使用するときは、defファイル内の「thr_conc_init=16」を「thr_conc_init=1」に変更してから登録してください。また、スレッドモード版またはUNICODE版を使用するときは、defファイル内の「lang=COBOL」を「lang=COBOL_MT」に変更してから登録してください。
サプライヤの起動
pull_supplier.exeを起動します。
pull_supplier
これで、サプライヤがイベントチャネル「pull::sample」に接続されます。
コンシューマの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、pull_consumer.exeを起動します。
cd C:\Interstage\eswin\src\samples\cobol\pull pull_consumer
コンシューマがイベントを要求し、イベントチャネルは接続されているサプライヤからイベントを取り出し、コンシューマに復帰させます。
サプライヤのインプリメンテーション情報の削除
サンプルプログラム終了時に、pull_supplierのインプリメンテーション情報を削除します。
unregister
4. 実行結果
サンプルプログラムの実行結果を示します。
pull_consumer recv data pull-COBOL
(3) イベントサービス(Mixedモデル)のサンプルプログラム
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
イベントサービスのチャネル静的生成 | Mixed | any | cobol\mix |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。
サンプルソースの翻訳
■MIX_CONSUMER.EXEを作成します(EXEファイル名:「MIX_CONSUMER.EXE」)。
mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_consumer.cbl |
翻訳結果 | MIX_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_consumer.cbl |
翻訳結果 | MIX_CONSUMER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■MIX_SUPPLIER.EXEを作成します(EXEファイル名:「MIX_SUPPLIER.EXE」)。
mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_supplier.cbl |
翻訳結果 | MIX_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_supplier.cbl |
翻訳結果 | MIX_SUPPLIER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
翻訳が成功した場合、MIX_CONSUMER.EXE、MIX_SUPPLIER.EXEの2つのプログラムが作成されます。
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントチャネルの登録
静的イベントチャネル「mix::sample」を登録します。
esmkchnl -g mix -c sample
イベントチャネルの起動
イベントチャネルグループ「mix」を起動します。
esstartchnl -g mix
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
コンシューマの起動
mix_consumer.exeを起動します。
mix_consumer
コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。
サプライヤの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、mix_supplier.exeを起動します。
cd C:\Interstage\eswin\src\samples\cobol\mix mix_supplier
これで、イベントチャネルにメッセージを蓄積します。
4. 実行結果
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
mix_consumer recv data mix-COBOL
(4) イベントサービス(Mixedモデル)のEventFactoryを使用したサンプルプログラム
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
イベントサービスのチャネル動的生成 | Mixed | any | cobol\factory |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムを翻訳します。
サンプルソースの翻訳
■FACTORY_CONSUMER.EXEを作成します(EXEファイル名:「FACTORY_CONSUMER.EXE」)。
factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_consumer.cbl |
翻訳結果 | FACTORY_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_consumer.cbl |
翻訳結果 | FACTORY_CONSUMER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■FACTORY_SUPPLIER.EXEを作成します(EXEファイル名:「FACTORY_SUPPLIER.EXE」)。
factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_supplier.cbl |
翻訳結果 | FACTORY_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_supplier.cbl |
翻訳結果 | FACTORY_SUPPLIER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
翻訳が成功した場合、FACTORY_CONSUMER.EXE、FACTORY_SUPPLIER.EXEの2つのプログラムが作成されます。
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントファクトリの起動
イベントファクトリを起動していない場合は、以下のコマンドまたは「EventFactory」サービスの「開始」でイベントファクトリを起動します。
esstartfctry
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
コンシューマの起動
factory_consumer.exeを起動します。
factory_consumer 1.create, 2.create_channel, 3.get_event_channel select(1-3):
1.を選択すると、createメソッドによりイベントチャネルを以下のイベントチャネル名で生成します。
select(1-3): 1 input EventChannel name:
生成するイベントチャネル名(例:「ch1」)を指定します。
input EventChannel name: ch1 create EventChannel(ch1)
コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。
サプライヤの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、factory_supplier.exeを起動します。
cd C:\Interstage\eswin\src\samples\cobol\factory factory_supplier 1.create, 2.create_channel, 3.get_event_channel select(1-3):
1.を選択し、コンシューマが接続されているイベントチャネル名「ch1」を指定します。サプライヤがイベントチャネルに接続し、データを送信します。このとき、事前に動的イベントチャネルが生成されていれば、3.を選択して既存のイベントチャネルを使用できます。
select(1-3): 1 (または3): input EventChannel name: ch1 create EventChannel(ch1)
これで、イベントチャネルにメッセージを蓄積します。
4. 実行結果
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
factory_consumer recv data Factory-MIX-COBOL
(5) イベントサービス(Mixedモデル)のEventFactoryを使用したサンプルプログラム(複数IP対応)
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
イベントサービスのチャネル動的生成(複数IP対応) | Mixed | any | cobol\factory |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムを翻訳します。
サンプルソースの翻訳
■FACTORY_CONSUMER.EXEを作成します(EXEファイル名:「FACTORY_CONSUMER.EXE」)。
factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_consumer.cbl |
翻訳結果 | FACTORY_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_consumer.cbl |
翻訳結果 | FACTORY_CONSUMER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■FACTORY_SUPPLIER.EXEを作成します(EXEファイル名:「FACTORY_SUPPLIER.EXE」)。
factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_supplier.cbl |
翻訳結果 | FACTORY_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_supplier.cbl |
翻訳結果 | FACTORY_SUPPLIER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
翻訳が成功した場合、FACTORY_CONSUMER.EXE、FACTORY_SUPPLIER.EXEの2つのプログラムが作成されます。
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントファクトリの起動
イベントファクトリを起動していない場合は、以下のコマンドまたは「EventFactory」サービスの「開始」でイベントファクトリを起動します。
esstartfctry
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
コンシューマの起動
factory_consumer.exeを起動します。
factory_consumer 1.create, 2.create_channel, 3.get_event_channel select(1-3):
2.を選択すると、create_channelメソッドによりイベントチャネルを以下のイベントチャネル名で生成します。
select(1-3): 2 input EventChannel name:
生成するイベントチャネル名(例:「ch1」)を指定します。
input EventChannel name: ch1 Do you use multi IP function?(y/n)
複数IPアドレスを使用するため、「y」を選択します。
Do you use multi IP function?(y/n) y Please input host name or IP address?
複数IPアドレスを持つシステムで、イベントチャネルの通信経路を指定する場合に、ホスト名(例:「berk」)またはIPアドレスを指定します。
Please input host name or IP address? berk Please input port number?
複数IPアドレスを持つシステムで、イベントチャネルの通信経路を指定する場合に、ポート番号を指定します。ポート番号には、CORBAサービスのポート番号として指定されている値(例:「8002」)を指定してください。
Please input port number? 8002 create EventChannel(ch1) Object
コンシューマは生成したイベントチャネルに接続し、イベントを要求します。
サプライヤの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、factory_supplier.exeを起動します。
cd C:\Interstage\eswin\src\samples\cobol\factory factory_supplier 1.create, 2.create_channel, 3.get_event_channel select(1-3):
2.を選択し、コンシューマが接続されているイベントチャネル名「ch1」を指定します。このとき、事前に動的イベントチャネルが生成されていれば、3.を選択して既存のイベントチャネルを使用できます。
2.を選択した場合の操作は、以下のとおりです。
select(1-3): 2 input EventChannel name: ch1 Do you use multi IP function?(y/n)
複数IPアドレスを使用するため、「y」を選択します。
Do you use multi IP function?(y/n) y Please input host name or IP address?
複数IPアドレスを持つシステムで、イベントチャネルの通信経路を指定する場合に、ホスト名(例:「berk」)またはIPアドレスを指定します。
Please input host name or IP address? berk Please input port number?
複数IPアドレスを持つシステムで、イベントチャネルの通信経路を指定する場合に、ポート番号を指定します。ポート番号には、CORBAサービスのポート番号として指定されている値(例:「8002」)を指定してください。
Please input port number? 8002 get EventChannel(ch1) Object
3.を選択した場合の操作は、以下のとおりです。
select(1-3): 3 input EventChannel name: ch1 get EventChannel Object(ch1)
サプライヤがイベントチャネルに接続し、データを送信します。
4. 実行結果
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
factory_consumer recv data Factory-MIX-COBOL
(6) ノーティフィケーションサービス(Mixedモデルany型データ)のサンプルプログラム
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
ノーティフィケーションサービスのチャネル静的生成 | Mixed | any | notify\cobol\mix\any |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。
サンプルソースの翻訳
■MIX_CONSUMER.EXEを作成します(EXEファイル名:「MIX_CONSUMER.EXE」)。
mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_consumer.cbl |
翻訳結果 | MIX_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_consumer.cbl |
翻訳結果 | MIX_CONSUMER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■MIX_SUPPLIER.EXEを作成します(EXEファイル名:「MIX_SUPPLIER.EXE」)。
mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_supplier.cbl |
翻訳結果 | MIX_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_supplier.cbl |
翻訳結果 | MIX_SUPPLIER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
翻訳が成功した場合、MIX_CONSUMER.EXE、MIX_SUPPLIER.EXEの2つのプログラムが作成されます。
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントチャネルの登録
静的イベントチャネル「mix::sample」を登録します。
esmkchnl -g mix -c sample -notify
イベントチャネルの起動
イベントチャネルグループ「mix」を起動します。
esstartchnl -g mix
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
コンシューマの起動
現ディレクトリを以下に移動し、mix_consumer.exeを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\mix\any mix_consumer
コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。
サプライヤの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、mix_supplier.exeを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\mix\any mix_supplier
これで、イベントチャネルにメッセージを蓄積します。
4. 実行結果
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
mix_consumer pull message : Mixed-COBOL
(7) ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)のサンプルプログラム
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
ノーティフィケーションサービスのチャネル静的生成 | Mixed | StructuredEvent | notify\cobol\mix\structured |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。
サンプルソースの翻訳
■MIX_CONSUMER.EXEを作成します(EXEファイル名:「MIX_CONSUMER.EXE」)。
mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_consumer.cbl |
翻訳結果 | MIX_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_consumer.cbl |
翻訳結果 | MIX_CONSUMER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■MIX_SUPPLIER.EXEを作成します(EXEファイル名:「MIX_SUPPLIER.EXE」)。
mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_supplier.cbl |
翻訳結果 | MIX_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_supplier.cbl |
翻訳結果 | MIX_SUPPLIER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
翻訳が成功した場合、MIX_CONSUMER.EXE、MIX_SUPPLIER.EXEの2つのプログラムが作成されます。
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントチャネルの登録
静的イベントチャネル「mix::sample」を登録します。
esmkchnl -g mix -c sample -notify
イベントチャネルの起動
イベントチャネルグループ「mix」を起動します。
esstartchnl -g mix
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
コンシューマの起動
mix_consumer.exeを起動します。
mix_consumer
コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。
サプライヤの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、mix_supplier.exeを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\mix\structured mix_supplier
これで、イベントチャネルにメッセージを蓄積します。
4. 実行結果
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
mix_consumer pull message : StructuredEvent Mixed-COBOL
(8) ノーティフィケーションサービス(Mixedモデルany型データ)のEventFactoryを使用したサンプルプログラム
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
ノーティフィケーションサービスのチャネル動的生成 | Mixed | any | notify\cobol\factory\any |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムを翻訳します。
サンプルソースの翻訳
■FACTORY_CONSUMER.EXEを作成します(EXEファイル名:「FACTORY_CONSUMER.EXE」)。
factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_consumer.cbl |
翻訳結果 | FACTORY_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_consumer.cbl |
翻訳結果 | FACTORY_CONSUMER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■FACTORY_SUPPLIER.EXEを作成します(EXEファイル名:「FACTORY_SUPPLIER.EXE」)。
factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_supplier.cbl |
翻訳結果 | FACTORY_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_supplier.cbl |
翻訳結果 | FACTORY_SUPPLIER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
翻訳が成功した場合、FACTORY_CONSUMER.EXE、FACTORY_SUPPLIER.EXEの2つのプログラムが作成されます。
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントファクトリの起動
イベントファクトリを起動していない場合は、以下のコマンドまたは「EventFactory」サービスの「開始」でイベントファクトリを起動します。
esstartfctry
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
コンシューマの起動
factory_consumer.exeを起動します。
factory_consumer 1.create_channel, 2.get_all_channels, 3.get_event_channel select(1-3):
1.を選択し、create_channelメソッドによりイベンチャネルを生成します。
事前に動的イベントチャネルが2つ生成されている場合の例を以下に示します。
select(1-3): 1 Do you use multi IP function?(y/n)
複数IPアドレスを使用しないため、「n」を選択します。
Do you use multi IP function?(y/n) n create EventChannelID =+000000003 connecting...
サプライヤの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、factory_supplier.exeを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\factory\any factory_supplier 1.create_channel, 2.get_all_channels, 3.get_event_channel select(1-3):
2.を選択し、get_all_channelsメソッドにより現在動的生成されているイベントチャネルの一覧を取得します。
select(1-3): 2 --- EventChannelID list(ALL=000000003) --- +000000001,+000000002,+000000003 1.create_channel, 2.get_all_channels, 3.get_event_channel select(1-3):
次に、3.を選択し、コンシューマが接続されているイベントチャネルの識別ID「3」を指定します。サプライヤがイベントチャネルに接続し、データを送信します。
input EventChannelID: 3 get EventChannel Object connecting...
4. 実行結果
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
factory_consumer connecting... pull message : Factory-Mixed-COBOL
(9) ノーティフィケーションサービス(Mixedモデルany型データ)のEventFactoryを使用したサンプルプログラム(複数IP対応)
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
ノーティフィケーションサービスのチャネル動的生成(複数IP対応) | Mixed | any | notify\cobol\factory\any |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムを翻訳します。
サンプルソースの翻訳
■FACTORY_CONSUMER.EXEを作成します(EXEファイル名:「FACTORY_CONSUMER.EXE」)。
factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_consumer.cbl |
翻訳結果 | FACTORY_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_consumer.cbl |
翻訳結果 | FACTORY_CONSUMER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■FACTORY_SUPPLIER.EXEを作成します(EXEファイル名:「FACTORY_SUPPLIER.EXE」)。
factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_supplier.cbl |
翻訳結果 | FACTORY_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_supplier.cbl |
翻訳結果 | FACTORY_SUPPLIER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
翻訳が成功した場合、FACTORY_CONSUMER.EXE、FACTORY_SUPPLIER.EXEの2つのプログラムが作成されます。
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントファクトリの起動
イベントファクトリを起動していない場合は、以下のコマンドまたは「EventFactory」サービスの「開始」でイベントファクトリを起動します。
esstartfctry
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
コンシューマの起動
factory_consumer.exeを起動します。
factory_consumer 1.create_channel, 2.get_all_channels, 3.get_event_channel select(1-3):
1.を選択し、create_channelメソッドによりイベンチャネルを生成します。
事前に動的イベントチャネルが2つ生成されている場合の例を以下に示します。
select(1-3): 1 Do you use multi IP function?(y/n)
複数IPアドレスを使用するため、「y」を選択します。
Do you use multi IP function?(y/n) y Please input host name or IP address?
複数IPアドレスを持つシステムで、イベントチャネルの通信経路を指定する場合に、ホスト名(例:「berk」)またはIPアドレスを指定します。
Please input host name or IP address? berk Please input port number?
複数IPアドレスを持つシステムで、イベントチャネルの通信経路を指定する場合に、ポート番号を指定します。ポート番号には、CORBAサービスのポート番号として指定されている値(例:「8002」)を指定してください。
Please input port number? 8002
生成したイベントチャネルの識別IDが表示され、コンシューマはそのイベントチャネルに接続し、イベントを要求します。
create EventChannelID =+000000003 connecting...
サプライヤの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、factory_supplier.exeを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\factory\any factory_supplier 1.create_channel, 2.get_all_channels, 3.get_event_channel select(1-3):
2.を選択し、get_all_channelsメソッドにより現在動的生成されているイベントチャネルの一覧を取得します。
select(1-3): 2 --- EventChannelID list(ALL=000000003) --- +000000001,+000000002,+000000003 1.create_channel, 2.get_all_channels, 3.get_event_channel select(1-3):
次に、3.を選択し、コンシューマが接続されているイベントチャネルの識別ID「3」を指定します。サプライヤがイベントチャネルに接続し、データを送信します。
input EventChannelID: 3 get EventChannel Object connecting...
4. 実行結果
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
factory_consumer connecting... pull message : Factory-Mixed-COBOL
(10) ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)のEventFactoryを使用したサンプルプログラム
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
ノーティフィケーションサービスのチャネル動的生成 | Mixed | StructuredEvent | notify\cobol\factory\structured |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムを翻訳します。
サンプルソースの翻訳
■FACTORY_CONSUMER.EXEを作成します(EXEファイル名:「FACTORY_CONSUMER.EXE」)。
factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_consumer.cbl |
翻訳結果 | FACTORY_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_consumer.cbl |
翻訳結果 | FACTORY_CONSUMER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■FACTORY_SUPPLIER.EXEを作成します(EXEファイル名:「FACTORY_SUPPLIER.EXE」)。
factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_supplier.cbl |
翻訳結果 | FACTORY_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_supplier.cbl |
翻訳結果 | FACTORY_SUPPLIER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
翻訳が成功した場合、FACTORY_CONSUMER.EXE、FACTORY_SUPPLIER.EXEの2つのプログラムが作成されます。
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントファクトリの起動
イベントファクトリを起動していない場合は、以下のコマンドまたは「EventFactory」サービスの「開始」でイベントファクトリを起動します。
esstartfctry
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
コンシューマの起動
現ディレクトリを以下に移動し、factory_consumer.exeを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\factory\structured factory_consumer 1.create_channel, 2.get_all_channels, 3.get_event_channel select(1-3):
1.を選択し、create_channelメソッドによりイベンチャネルを生成します。
事前に動的イベントチャネルが2つ生成されている場合の例を以下に示します。
select(1-3): 1 Do you use multi IP function?(y/n)
複数IPアドレスを使用しないため、「n」を選択します。
Do you use multi IP function?(y/n) n create EventChannelID =+000000003 connecting...
サプライヤの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、factory_supplier.exeを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\factory\structured factory_supplier 1.create_channel, 2.get_all_channels, 3.get_event_channel select(1-3):
2.を選択し、get_all_channelsメソッドにより現在動的生成されているイベントチャネルの一覧を取得します。
select(1-3): 2 --- EventChannelID list(ALL=000000003) --- +000000001,+000000002,+000000003 1.create_channel, 2.get_all_channels, 3.get_event_channel select(1-3):
次に、3.を選択し、コンシューマが接続されているイベントチャネルの識別ID「3」を指定します。サプライヤがイベントチャネルに接続し、データを送信します。
input EventChannelID: 3 get EventChannel Object connecting...
4. 実行結果
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
factory_consumer connecting... pull message : StructuredEvent Factory-Mixed-COBOL
(11) ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)のEventFactoryを使用したサンプルプログラム(複数IP対応)
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
ノーティフィケーションサービスのチャネル動的生成(複数IP対応) | Mixed | StructuredEvent | notify\cobol\factory\structured |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムを翻訳します。
サンプルソースの翻訳
■FACTORY_CONSUMER.EXEを作成します(EXEファイル名:「FACTORY_CONSUMER.EXE」)。
factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_consumer.cbl |
翻訳結果 | FACTORY_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_consumer.cbl |
翻訳結果 | FACTORY_CONSUMER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■FACTORY_SUPPLIER.EXEを作成します(EXEファイル名:「FACTORY_SUPPLIER.EXE」)。
factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_supplier.cbl |
翻訳結果 | FACTORY_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | factory_supplier.cbl |
翻訳結果 | FACTORY_SUPPLIER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
翻訳が成功した場合、FACTORY_CONSUMER.EXE、FACTORY_SUPPLIER.EXEの2つのプログラムが作成されます。
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントファクトリの起動
イベントファクトリを起動していない場合は、以下のコマンドまたは「EventFactory」サービスの「開始」でイベントファクトリを起動します。
esstartfctry
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
コンシューマの起動
現ディレクトリを以下に移動し、factory_consumer.exeを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\factory\structured factory_consumer 1.create_channel, 2.get_all_channels, 3.get_event_channel select(1-3):
1.を選択し、create_channelメソッドによりイベンチャネルを生成します。
事前に動的イベントチャネルが2つ生成されている場合の例を以下に示します。
select(1-3): 1 Do you use multi IP function?(y/n)
複数IPアドレスを使用するため、「y」を選択します。
Do you use multi IP function?(y/n) y Please input host name or IP address?
複数IPアドレスを持つシステムで、イベントチャネルの通信経路を指定する場合に、ホスト名(例:「berk」)またはIPアドレスを指定します。
Please input host name or IP address? berk Please input port number?
複数IPアドレスを持つシステムで、イベントチャネルの通信経路を指定する場合に、ポート番号を指定します。ポート番号には、CORBAサービスのポート番号として指定されている値(例:「8002」)を指定してください。
Please input port number? 8002
生成したイベントチャネルの識別IDが表示され、コンシューマはそのイベントチャネルに接続し、イベントを要求します。
create EventChannelID =+000000003 connecting...
サプライヤの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、factory_supplier.exeを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\factory\structured factory_supplier 1.create_channel, 2.get_all_channels, 3.get_event_channel select(1-3):
2.を選択し、get_all_channelsメソッドにより現在動的生成されているイベントチャネルの一覧を取得します。
select(1-3): 2 --- EventChannelID list(ALL=000000003) --- +000000001,+000000002,+000000003 1.create_channel, 2.get_all_channels, 3.get_event_channel select(1-3):
次に、3.を選択し、コンシューマが接続されているイベントチャネルの識別ID「3」を指定します。サプライヤがイベントチャネルに接続し、データを送信します。
input EventChannelID: 3 get EventChannel Object connecting...
4. 実行結果
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
factory_consumer connecting... pull message : StructuredEvent Factory-Mixed-COBOL
(12) 接続情報取得(情報取得)のサンプルプログラム
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
接続情報取得(情報取得) | - | - | cobol\util\proxy |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムの翻訳
サンプルソースの翻訳
es_util_getproxy.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)およびBINARY(BYTE)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | es_util_getproxy.cbl |
翻訳結果 | ES_UTIL_GETPROXY.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLSV.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMTSV.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLSVUC.LIB |
es_util_getproxy.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)およびBINARY(BYTE)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | es_util_getproxy.cbl |
翻訳結果 | ES_UTIL_GETPROXY.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
3. サンプルプログラムの実行
接続情報取得の実行方法を説明します。
静的イベントチャネル「mix::sample」の場合の例で説明します。
静的イベントチャネル「mix::sample」に接続し、接続情報を回収しないで異常終了したコンシューマおよびサプライヤが存在する場合、および静的イベントチャネル「mix::sample」に接続しているコンシューマおよびサプライヤの接続情報を取得したい場合に起動します。静的イベントチャネル「mix::sample」に接続しているコンシューマおよびサプライヤの実行方法は、「(6) ノーティフィケーションサービス(Mixedモデルany型データ)のサンプルプログラム」および「(7) ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)のサンプルプログラム」を参照してください。
接続情報取得の起動
現ディレクトリを以下に移動し、ES_UTIL_GETPROXY.EXEを起動します。
cd C:\Interstage\eswin\src\samples\cobol\util\proxy ES_UTIL_GETPROXY.EXE Please input the time zone. For example:It is 9 for Japan, and -5 for ET 9
イベントチャネルに接続した時間を出力するため、タイムゾーンを指定します。たとえば、日本標準時を出力する場合は「9」を入力し、米国東部標準時を出力する場合は「-5」を指定します。
4. 実行結果
現在、静的イベントチャネル「mix::sample」に接続しているコンシューマおよびサプライヤの接続情報が表示されます。
注意
IPv6環境において本サンプルプログラムを実行した場合、接続情報のIPアドレスには000.000.000.000が表示されます。IPv6環境で運用する設定については、「チューニングガイド」の「Interstageのチューニング」-「IPv6環境での運用について」、および「CORBAサービスの動作環境ファイル」-「config」のIP-versionパラメタを参照してください。
(13) 接続情報取得(個数取得)のサンプルプログラム
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
接続情報取得(個数取得) | - | - | cobol\util\count |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムの翻訳
サンプルソースの翻訳
es_util_count.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | es_uti_count.cbl |
翻訳結果 | ES_UTIL_COUNT.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLSV.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMTSV.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLSVUC.LIB |
es_util_count.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | es_uti_count.cbl |
翻訳結果 | ES_UTIL_COUNT.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
3. サンプルプログラムの実行
接続情報取得の実行方法を説明します。
静的イベントチャネル「mix::sample」の場合の例で説明します。
静的イベントチャネル「mix::sample」に接続し、接続情報を回収しないで異常終了したコンシューマおよびサプライヤが存在する場合、および静的イベントチャネル「mix::sample」に接続しているコンシューマおよびサプライヤの接続情報を取得したい場合に起動します。静的イベントチャネル「mix::sample」に接続しているコンシューマおよびサプライヤの実行方法は、「(6) ノーティフィケーションサービス(Mixedモデルany型データ)のサンプルプログラム」および「(7) ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)のサンプルプログラム」を参照してください。
接続情報取得の起動
現ディレクトリを以下に移動し、ES_UTIL_COUNT.EXEを起動します。
cd C:\Interstage\eswin\src\samples\cobol\util\count ES_UTIL_COUNT.EXE
静的イベントチャネル「mix::sample」に接続しているコンシューマ数、サプライヤ数、およびイベントチャネルにキューイングされているイベントデータ数を取得します。
4. 実行結果
現在、静的イベントチャネル「mix::sample」に接続しているコンシューマ数、サプライヤ数およびイベントチャネルにキューイングされているイベントデータ数が表示されます。
(14) ノーティフィケーションサービス(MultiCastモデル)のローカルトランザクションのサンプルプログラム
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
ノーティフィケーションサービス(MultiCastモデル)のローカルトランザクション | Mixed | StructuredEvent | notify\cobol\localtran |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。
サンプルソースの翻訳
■MIX_CONSUMER.EXEを作成します(EXEファイル名:「MIX_CONSUMER.EXE」)。
mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_consumer.cbl |
翻訳結果 | MIX_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_consumer.cbl |
翻訳結果 | MIX_CONSUMER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■MIX_SUPPLIER.EXEを作成します(EXEファイル名:「MIX_SUPPLIER.EXE」)。
mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_supplier.cbl |
翻訳結果 | MIX_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_supplier.cbl |
翻訳結果 | MIX_SUPPLIER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
翻訳が成功した場合、MIX_CONSUMER.EXE、MIX_SUPPLIER.EXEの2つのプログラムが作成されます。
ユニットの生成
標準ユニットを生成します。ユニット定義ファイルは、C:\Interstage\eswin\etc\def配下の雛型(esunit01.def)を参考にしてください。
esmkunit -uf <ユニット定義ファイル>
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントチャネルの登録
静的イベントチャネル「mix::sample」を登録します。
esmkchnl -g mix -c sample -notify -persist all -tran -l SJIS
イベントチャネルの起動
イベントチャネルグループ「mix」を起動します。
esstartchnl -g mix
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
コンシューマの起動
現ディレクトリを以下に移動し、mix_consumerを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\localtran mix_consumer <ID>
コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。IDには、任意の文字列を指定してください。
サプライヤの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、mix_supplierを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\localtran mix_supplier
これで、イベントチャネルにメッセージを蓄積します。
4. 実行結果
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
consumer pull message : StructuredEvent Mixed-COBOL
結果が表示されましたら、disconnectを実施します。
mix_consumer <ID> -del
注意
disconnectの実施後、mix_consumerを実行したディレクトリ配下に作成されたProxyの情報を含むファイル(ファイル名:proxy<ID>)を手動で削除してください。
(15) ノーティフィケーションサービス(Point-To-Pointモデル)のローカルトランザクションのサンプルプログラム
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
ノーティフィケーションサービス(Point-To-Pointモデル)のローカルトランザクション | Mixed | StructuredEvent | notify\cobol\ptp\localtran |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
登録集名に以下を設定します。登録集の設定方法については、COBOLのマニュアルを参照してください。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
2. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。
サンプルソースの翻訳
■MIX_CONSUMER.EXEを作成します(EXEファイル名:「MIX_CONSUMER.EXE」)。
mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_consumer.cbl |
翻訳結果 | MIX_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_consumer.cbl |
翻訳結果 | MIX_CONSUMER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
■MIX_SUPPLIER.EXEを作成します(EXEファイル名:「MIX_SUPPLIER.EXE」)。
mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_supplier.cbl |
翻訳結果 | MIX_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
UNICODE用の場合 | C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB |
mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
翻訳対象 | mix_supplier.cbl |
翻訳結果 | MIX_SUPPLIER.OBJ |
1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | F4AGCIMP.LIB |
スレッドモードの場合 | F4AGCIMP.LIB |
UNICODE用の場合 | F4AGCIMP.LIB |
翻訳が成功した場合、MIX_CONSUMER.EXE、MIX_SUPPLIER.EXEの2つのプログラムが作成されます。
ユニットの生成
標準ユニットを生成します。ユニット定義ファイルは、C:\Interstage\eswin\etc\def配下の雛型(esunit01.def)を参考にしてください。
esmkunit -uf <ユニット定義ファイル>
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントチャネルの登録
静的イベントチャネル「mix::sample」を登録します。
esmkchnl -g mix -c sample -notify -persist all -tran -ptp -l SJIS
イベントチャネルの起動
イベントチャネルグループ「mix」を起動します。
esstartchnl -g mix
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
コンシューマの起動
現ディレクトリを以下に移動し、mix_consumerを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\ptp\localtran mix_consumer
コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。
サプライヤの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、mix_supplierを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\ptp\localtran mix_supplier
これで、イベントチャネルにメッセージを蓄積します。
4. 実行結果
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
consumer pull message : StructuredEvent Mixed-COBOL
(16) ノーティフィケーションサービス(MultiCastモデル)のグローバルトランザクションのサンプルプログラム
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
ノーティフィケーションサービス(MultiCastモデル)のグローバルトランザクション | Mixed | StructuredEvent | notify\cobol\ots |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL COSTRANSACTIONS=C:\Interstage\ots\include\COBOL
2. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。
サンプルソースの翻訳
■MIX_CONSUMER.EXEを作成します(EXEファイル名:「MIX_CONSUMER.EXE」)。
mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
翻訳対象 | mix_consumer.cbl |
翻訳結果 | MIX_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
■MIX_SUPPLIER.EXEを作成します(EXEファイル名:「MIX_SUPPLIER.EXE」)。
mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
翻訳対象 | mix_supplier.cbl |
翻訳結果 | MIX_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
翻訳が成功した場合、MIX_CONSUMER.EXE、MIX_SUPPLIER.EXEの2つのプログラムが作成されます。
ユニットの生成
拡張ユニットを生成します。ユニット定義ファイルは、C:\Interstage\eswin\etc\def配下の雛型(esunit01.def)を参考にしてください。
esmkunit -uf <ユニット定義ファイル>
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントチャネルの登録
静的イベントチャネル「mix::sample」を登録します。
esmkchnl -g mix -c sample -notify -persist all -ots -unit <拡張ユニット名> -l SJIS
イベントチャネルの起動
イベントチャネルグループ「mix」を起動します。
esstartchnl -g mix
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
コンシューマの起動
現ディレクトリを以下に移動し、mix_consumerを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\ots mix_consumer <ID>
コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。IDには、任意の文字列を指定してください。
サプライヤの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、mix_supplierを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\ots mix_supplier
これで、イベントチャネルにメッセージを蓄積します。
4. 実行結果
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
consumer pull message : StructuredEvent Mixed-COBOL
結果が表示されましたら、disconnectを実施します。
mix_consumer <ID> -del
注意
disconnectの実施後、mix_consumerを実行したディレクトリ配下に作成されたProxyの情報を含むファイル(ファイル名:proxy<ID>)を手動で削除してください。
(17) ノーティフィケーションサービス(Point-To-Pointモデル)のグローバルトランザクションのサンプルプログラム
種別 | 通信モデル | データ型 | ディレクトリ |
---|---|---|---|
ノーティフィケーションサービス(Point-To-Pointモデル)のグローバルトランザクション | Mixed | StructuredEvent | notify\cobol\ptp\ots |
1. 登録集の設定
P-STAFFまたはプロジェクトマネージャを起動します。
[ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL COSTRANSACTIONS=C:\Interstage\ots\include\COBOL
2. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。
サンプルソースの翻訳
■MIX_CONSUMER.EXEを作成します(EXEファイル名:「MIX_CONSUMER.EXE」)。
mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
翻訳対象 | mix_consumer.cbl |
翻訳結果 | MIX_CONSUMER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
■MIX_SUPPLIER.EXEを作成します(EXEファイル名:「MIX_SUPPLIER.EXE」)。
mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
翻訳対象 | mix_supplier.cbl |
翻訳結果 | MIX_SUPPLIER.OBJ |
[ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。
プロセスモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBL.LIB |
スレッドモードの場合 | C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB |
翻訳が成功した場合、MIX_CONSUMER.EXE、MIX_SUPPLIER.EXEの2つのプログラムが作成されます。
ユニットの生成
拡張ユニットを生成します。ユニット定義ファイルは、C:\Interstage\eswin\etc\def配下の雛型(esunit01.def)を参考にしてください。
esmkunit -uf <ユニット定義ファイル>
イベントサービスの起動
イベントサービスを起動していない場合は、以下のコマンドまたは「EventService」サービスの「開始」でイベントサービスを起動します。
esstart
イベントチャネルの登録
静的イベントチャネル「mix::sample」を登録します。
esmkchnl -g mix -c sample -notify -persist all -ots -unit <拡張ユニット名> -ptp -l SJIS
イベントチャネルの起動
イベントチャネルグループ「mix」を起動します。
esstartchnl -g mix
3. サンプルプログラムの実行
コンシューマ、サプライヤの実行方法を説明します。
コンシューマの起動
現ディレクトリを以下に移動し、mix_consumerを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\ptp\ots mix_consumer
コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。
サプライヤの起動
別のコマンドプロンプトから現ディレクトリを以下に移動し、mix_supplierを起動します。
cd C:\Interstage\eswin\src\samples\notify\cobol\ptp\ots mix_supplier
これで、イベントチャネルにメッセージを蓄積します。
4. 実行結果
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
consumer pull message : StructuredEvent Mixed-COBOL