ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(イベントサービス編)
FUJITSU Software

C.2.4 COBOLアプリケーション

COBOLのサンプルプログラムについて説明します。

  1. イベントサービス(Pushモデル)のサンプルプログラム

  2. イベントサービス(Pullモデル)のサンプルプログラム

  3. イベントサービス(Mixedモデル)のサンプルプログラム

  4. イベントサービス(Mixedモデル)のEventFactoryを使用したサンプルプログラム

  5. イベントサービス(Mixedモデル)のEventFactoryを使用したサンプルプログラム(複数IP対応)

  6. ノーティフィケーションサービス(Mixedモデルany型データ)のサンプルプログラム

  7. ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)のサンプルプログラム

  8. ノーティフィケーションサービス(Mixedモデルany型データ)のEventFactoryを使用したサンプルプログラム

  9. ノーティフィケーションサービス(Mixedモデルany型データ)のEventFactoryを使用したサンプルプログラム(複数IP対応)

  10. ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)のEventFactoryを使用したサンプルプログラム

  11. ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)のEventFactoryを使用したサンプルプログラム(複数IP対応)

  12. 接続情報取得(情報取得)のサンプルプログラム

  13. 接続情報取得(個数取得)のサンプルプログラム

  14. ノーティフィケーションサービス(MultiCastモデル)のローカルトランザクションのサンプルプログラム

  15. ノーティフィケーションサービス(Point-To-Pointモデル)のローカルトランザクションのサンプルプログラム

  16. ノーティフィケーションサービス(MultiCastモデル)のグローバルトランザクションのサンプルプログラム

  17. ノーティフィケーションサービス(Point-To-Pointモデル)のグローバルトランザクションのサンプルプログラム

注意

ここでは、サーバパッケージにおいて以下にインストールした場合の手順で説明しています。クライアントパッケージをインストールした場合の格納パスについては、「付録A 提供プログラム」を参照して確認してください。

  • CORBAサービスのインストールパス:C:\Interstage\ODWIN

  • イベントサービスのインストールパス:C:\Interstage\ESWIN


(1) イベントサービス(Pushモデル)のサンプルプログラム

種別

通信モデル

データ型

ディレクトリ

イベントサービスのチャネル静的生成

Push

any

cobol\push


1. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. push_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    push_consumer.cbl

    翻訳結果

    PUSH_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合してEXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLSV.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBL.LIB

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMTSV.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBLMT.LIB

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLSVUC.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBLUC.LIB

  1. push_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    push_consumer.cbl

    翻訳結果

    PUSH_CONSUMER.OBJ

  2. 1.で生成したオブジェクトを結合してEXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLSV.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBL.LIB

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMTSV.LIB
    C:\Interstage\eswin\LIB\x64\cobol\ESWINSVCBLMT.LIB

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLSVUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBLUC.LIB

■PUSH_SUPPLIER.EXEを作成します(EXEファイル名:「PUSH_SUPPLIER.EXE」)。

  1. push_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    push_supplier.cbl

    翻訳結果

    PUSH_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBL.LIB

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLUC.LIB

  1. push_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    push_supplier.cbl

    翻訳結果

    PUSH_SUPPLIER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBL.LIB

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLUC.LIB

■COSEVENTCOMM-PUSHCONSUMER.DLLを作成します(DLLファイル名:「COSEVENTCOMM-PUSHCONSUMER.DLL」)。

  1. [ツールメニュー]の「翻訳」を選択し、その他の翻訳オプションに「NAME」を指定し、コンパイルします。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    push_library.cbl

    翻訳結果

    SERVER-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER.OBJ
    SERVER-COSEVENTCOMM-PUSHCONSUMER-PUSH.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、DLLを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    ライブラリ

    C:\Interstage\ODWIN\lib\ODCOBCBLSV.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBL.LIB

    オブジェクト

    [C:\Interstage\eswin\lib\cobol配下]
    COSEVENTCOMM-PUSHCONSUMER.OBJ
    CDR-COSEVENTCOMM-PUSHCONSUMER.OBJ
    SKEL-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER.OBJ
    SKEL-COSEVENTCOMM-PUSHCONSUMER-PUSH.OBJ

    スレッドモードの場合

    ライブラリ

    C:\Interstage\ODWIN\lib\ODCOBCBLMTSV.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBLMT.LIB

    オブジェクト

    [C:\Interstage\eswin\lib\cobol配下]
    COSEVENTCOMM-PUSHCONSUMER-MT.OBJ
    CDR-COSEVENTCOMM-PUSHCONSUMER-MT.OBJ
    SKEL-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER-MT.OBJ
    SKEL-COSEVENTCOMM-PUSHCONSUMER-PUSH-MT.OBJ

    UNICODE用の場合

    ライブラリ

    C:\Interstage\ODWIN\lib\ODCOBCBLSVUC.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBLUC.LIB

    オブジェクト

    [C:\Interstage\eswin\lib\cobol配下]
    COSEVENTCOMM-PUSHCONSUMER-UC.OBJ
    CDR-COSEVENTCOMM-PUSHCONSUMER-UC.OBJ
    SKEL-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER-UC.OBJ
    SKEL-COSEVENTCOMM-PUSHCONSUMER-PUSH-UC.OBJ

  1. push_library.cblを翻訳します。翻訳オプションには、NAMEを指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    push_library.cbl

    翻訳結果

    SERVER-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER.OBJ
    SERVER-COSEVENTCOMM-PUSHCONSUMER-PUSH.OBJ

  2. 1.で生成したオブジェクトを結合し、DLLを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    ライブラリ

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLSV.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBL.LIB

    オブジェクト

    [C:\Interstage\eswin\lib\x64\cobol配下]
    COSEVENTCOMM-PUSHCONSUMER.OBJ
    CDR-COSEVENTCOMM-PUSHCONSUMER.OBJ
    SKEL-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER.OBJ
    SKEL-COSEVENTCOMM-PUSHCONSUMER-PUSH.OBJ

    スレッドモードの場合

    ライブラリ

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMTSV.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBLMT.LIB

    オブジェクト

    [C:\Interstage\eswin\lib\x64\cobol配下]
    COSEVENTCOMM-PUSHCONSUMER-MT.OBJ
    CDR-COSEVENTCOMM-PUSHCONSUMER-MT.OBJ
    SKEL-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER-MT.OBJ
    SKEL-COSEVENTCOMM-PUSHCONSUMER-PUSH-MT.OBJ

    UNICODE用の場合

    ライブラリ

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLSVUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBLUC.LIB

    オブジェクト

    [C:\Interstage\eswin\lib\x64\cobol配下]
    COSEVENTCOMM-PUSHCONSUMER-UC.OBJ
    CDR-COSEVENTCOMM-PUSHCONSUMER-UC.OBJ
    SKEL-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER-UC.OBJ
    SKEL-COSEVENTCOMM-PUSHCONSUMER-PUSH-UC.OBJ

翻訳が成功した場合、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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. pull_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    pull_supplier.cbl

    翻訳結果

    PULL_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLSV.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBL.LIB

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMTSV.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBLMT.LIB

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLSVUC.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBLUC.LIB

  1. pull_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    pull_supplier.cbl

    翻訳結果

    PULL_SUPPLIER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLSV.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBL.LIB

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMTSV.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBLMT.LIB

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLSVUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBLUC.LIB

■PULL_CONSUMER.EXEを作成します(EXEファイル名:「PULL_CONSUMER.EXE」)。

  1. pull_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    pull_consumer.cbl

    翻訳結果

    PULL_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBL.LIB

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLUC.LIB

  1. pull_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    pull_consumer.cbl

    翻訳結果

    PULL_CONSUMER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBL.LIB

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLUC.LIB

■COSEVENTCOMM-PULLSUPPLIER.DLLを作成します(DLLファイル名:「COSEVENTCOMM-PULLSUPPLIER.DLL」)。

  1. [ツールメニュー]の「翻訳」を選択し、その他の翻訳オプションに「NAME」を指定し、コンパイルします。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    pull_library.cbl

    翻訳結果

    SERVER-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER.OBJ
    SERVER-COSEVENTCOMM-PULLSUPPLIER-PULL.OBJ
    SERVER-COSEVENTCOMM-PULLSUPPLIER-TRY-PULL.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、DLLを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    ライブラリ

    C:\Interstage\ODWIN\lib\ODCOBCBLSV.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBL.LIB

    オブジェクト

    [C:\Interstage\eswin\lib\cobol配下]
    COSEVENTCOMM-PULLSUPPLIER.OBJ
    CDR-COSEVENTCOMM-PULLSUPPLIER.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-PULL.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-TRY-PULL.OBJ

    スレッドモードの場合

    ライブラリ

    C:\Interstage\ODWIN\lib\ODCOBCBLMTSV.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBLMT.LIB

    オブジェクト

    [C:\Interstage\eswin\lib\cobol配下]
    COSEVENTCOMM-PULLSUPPLIER-MT.OBJ
    CDR-COSEVENTCOMM-PULLSUPPLIER-MT.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER-MT.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-PULL-MT.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-TRY-PULL-MT.OBJ

    UNICODE用の場合

    ライブラリ

    C:\Interstage\ODWIN\lib\ODCOBCBLSVUC.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBLUC.LIB

    オブジェクト

    [C:\Interstage\eswin\lib\cobol配下]
    COSEVENTCOMM-PULLSUPPLIER-UC.OBJ
    CDR-COSEVENTCOMM-PULLSUPPLIER-UC.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER-UC.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-PULL-UC.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-TRY-PULL-UC.OBJ

  1. pull_library.cblを翻訳します。翻訳オプションには、NAMEを指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    pull_library.cbl

    翻訳結果

    SERVER-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER.OBJ
    SERVER-COSEVENTCOMM-PULLSUPPLIER-PULL.OBJ
    SERVER-COSEVENTCOMM-PULLSUPPLIER-TRY-PULL.OBJ

  2. 1.で生成したオブジェクトを結合し、DLLを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    ライブラリ

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLSV.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBL.LIB

    オブジェクト

    [C:\Interstage\eswin\lib\x64\cobol配下]
    COSEVENTCOMM-PULLSUPPLIER.OBJ
    CDR-COSEVENTCOMM-PULLSUPPLIER.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-PULL.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-TRY-PULL.OBJ

    スレッドモードの場合

    ライブラリ

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMTSV.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBLMT.LIB

    オブジェクト

    [C:\Interstage\eswin\lib\x64\cobol配下]
    COSEVENTCOMM-PULLSUPPLIER-MT.OBJ
    CDR-COSEVENTCOMM-PULLSUPPLIER-MT.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER-MT.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-PULL-MT.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-TRY-PULL-MT.OBJ

    UNICODE用の場合

    ライブラリ

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLSVUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBLUC.LIB

    オブジェクト

    [C:\Interstage\eswin\lib\x64\cobol配下]
    COSEVENTCOMM-PULLSUPPLIER-UC.OBJ
    CDR-COSEVENTCOMM-PULLSUPPLIER-UC.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER-UC.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-PULL-UC.OBJ
    SKEL-COSEVENTCOMM-PULLSUPPLIER-TRY-PULL-UC.OBJ

翻訳が成功した場合、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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_consumer.cbl

    翻訳結果

    MIX_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBL.LIB

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLUC.LIB

  1. mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_consumer.cbl

    翻訳結果

    MIX_CONSUMER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBL.LIB

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLUC.LIB

■MIX_SUPPLIER.EXEを作成します(EXEファイル名:「MIX_SUPPLIER.EXE」)。

  1. mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_supplier.cbl

    翻訳結果

    MIX_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBL.LIB

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLUC.LIB

  1. mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_supplier.cbl

    翻訳結果

    MIX_SUPPLIER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBL.LIB

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLUC.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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_consumer.cbl

    翻訳結果

    FACTORY_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBL.LIB

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLUC.LIB

  1. factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_consumer.cbl

    翻訳結果

    FACTORY_CONSUMER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBL.LIB

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLUC.LIB

■FACTORY_SUPPLIER.EXEを作成します(EXEファイル名:「FACTORY_SUPPLIER.EXE」)。

  1. factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_supplier.cbl

    翻訳結果

    FACTORY_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBL.LIB

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLUC.LIB

  1. factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_supplier.cbl

    翻訳結果

    FACTORY_SUPPLIER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBL.LIB

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLUC.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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_consumer.cbl

    翻訳結果

    FACTORY_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBL.LIB

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLUC.LIB

  1. factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_consumer.cbl

    翻訳結果

    FACTORY_CONSUMER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBL.LIB

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLUC.LIB

■FACTORY_SUPPLIER.EXEを作成します(EXEファイル名:「FACTORY_SUPPLIER.EXE」)。

  1. factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_supplier.cbl

    翻訳結果

    FACTORY_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBL.LIB

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESWINCBLUC.LIB

  1. factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_supplier.cbl

    翻訳結果

    FACTORY_SUPPLIER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBL.LIB

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLMT.LIB

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINCBLUC.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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_consumer.cbl

    翻訳結果

    MIX_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_consumer.cbl

    翻訳結果

    MIX_CONSUMER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.lib

■MIX_SUPPLIER.EXEを作成します(EXEファイル名:「MIX_SUPPLIER.EXE」)。

  1. mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_supplier.cbl

    翻訳結果

    MIX_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_supplier.cbl

    翻訳結果

    MIX_SUPPLIER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_consumer.cbl

    翻訳結果

    MIX_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_consumer.cbl

    翻訳結果

    MIX_CONSUMER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.lib

■MIX_SUPPLIER.EXEを作成します(EXEファイル名:「MIX_SUPPLIER.EXE」)。

  1. mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_supplier.cbl

    翻訳結果

    MIX_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_supplier.cbl

    翻訳結果

    MIX_SUPPLIER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_consumer.cbl

    翻訳結果

    FACTORY_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_consumer.cbl

    翻訳結果

    FACTORY_CONSUMER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.lib

■FACTORY_SUPPLIER.EXEを作成します(EXEファイル名:「FACTORY_SUPPLIER.EXE」)。

  1. factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_supplier.cbl

    翻訳結果

    FACTORY_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_supplier.cbl

    翻訳結果

    FACTORY_SUPPLIER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_consumer.cbl

    翻訳結果

    FACTORY_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_consumer.cbl

    翻訳結果

    FACTORY_CONSUMER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.lib

■FACTORY_SUPPLIER.EXEを作成します(EXEファイル名:「FACTORY_SUPPLIER.EXE」)。

  1. factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_supplier.cbl

    翻訳結果

    FACTORY_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_supplier.cbl

    翻訳結果

    FACTORY_SUPPLIER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_consumer.cbl

    翻訳結果

    FACTORY_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_consumer.cbl

    翻訳結果

    FACTORY_CONSUMER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.lib

■FACTORY_SUPPLIER.EXEを作成します(EXEファイル名:「FACTORY_SUPPLIER.EXE」)。

  1. factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_supplier.cbl

    翻訳結果

    FACTORY_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_supplier.cbl

    翻訳結果

    FACTORY_SUPPLIER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_consumer.cbl

    翻訳結果

    FACTORY_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. factory_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_consumer.cbl

    翻訳結果

    FACTORY_CONSUMER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.lib

■FACTORY_SUPPLIER.EXEを作成します(EXEファイル名:「FACTORY_SUPPLIER.EXE」)。

  1. factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_supplier.cbl

    翻訳結果

    FACTORY_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. factory_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    factory_supplier.cbl

    翻訳結果

    FACTORY_SUPPLIER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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. サンプルプログラムの翻訳

サンプルソースの翻訳

  1. es_util_getproxy.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)およびBINARY(BYTE)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    es_util_getproxy.cbl

    翻訳結果

    ES_UTIL_GETPROXY.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLSV.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBL.LIB

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMTSV.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBLMT.LIB

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLSVUC.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBLUC.LIB

  1. es_util_getproxy.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)およびBINARY(BYTE)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    es_util_getproxy.cbl

    翻訳結果

    ES_UTIL_GETPROXY.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLSV.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBL.LIB

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMTSV.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBLMT.LIB

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLSVUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBLUC.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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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. サンプルプログラムの翻訳

サンプルソースの翻訳

  1. es_util_count.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    es_uti_count.cbl

    翻訳結果

    ES_UTIL_COUNT.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLSV.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBL.LIB

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMTSV.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBLMT.LIB

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLSVUC.LIB
    C:\Interstage\eswin\lib\cobol\ESWINSVCBLUC.LIB

  1. es_util_count.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    es_uti_count.cbl

    翻訳結果

    ES_UTIL_COUNT.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLSV.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBL.LIB

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMTSV.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBLMT.LIB

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLSVUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESWINSVCBLUC.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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_consumer.cbl

    翻訳結果

    MIX_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_consumer.cbl

    翻訳結果

    MIX_CONSUMER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.lib

■MIX_SUPPLIER.EXEを作成します(EXEファイル名:「MIX_SUPPLIER.EXE」)。

  1. mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_supplier.cbl

    翻訳結果

    MIX_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_supplier.cbl

    翻訳結果

    MIX_SUPPLIER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_consumer.cbl

    翻訳結果

    MIX_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_consumer.cbl

    翻訳結果

    MIX_CONSUMER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.lib

■MIX_SUPPLIER.EXEを作成します(EXEファイル名:「MIX_SUPPLIER.EXE」)。

  1. mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_supplier.cbl

    翻訳結果

    MIX_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    C:\Interstage\ODWIN\lib\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLUC.lib

  1. mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用する場合は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。

    翻訳対象

    mix_supplier.cbl

    翻訳結果

    MIX_SUPPLIER.OBJ

  2. 1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBL.lib

    スレッドモードの場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLMT.lib

    UNICODE用の場合

    F4AGCIMP.LIB
    libcmt.lib
    kernel32.lib
    C:\Interstage\ODWIN\lib\x64\ODCOBCBLUC.LIB
    C:\Interstage\eswin\lib\x64\cobol\ESNOTIFYWINCBLUC.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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。

    翻訳対象

    mix_consumer.cbl

    翻訳結果

    MIX_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib
    C:\Interstage\OTS\lib\libcurrent_COBOL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib
    C:\Interstage\OTS\lib\libcurrent_COBOL_mt.lib

■MIX_SUPPLIER.EXEを作成します(EXEファイル名:「MIX_SUPPLIER.EXE」)。

  1. mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。

    翻訳対象

    mix_supplier.cbl

    翻訳結果

    MIX_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib
    C:\Interstage\OTS\lib\libcurrent_COBOL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib
    C:\Interstage\OTS\lib\libcurrent_COBOL_mt.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. 登録集の設定

  1. P-STAFFまたはプロジェクトマネージャを起動します。

  2. [ツールメニュー]の「翻訳」を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。

    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」)。

  1. mix_consumer.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。

    翻訳対象

    mix_consumer.cbl

    翻訳結果

    MIX_CONSUMER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib
    C:\Interstage\OTS\lib\libcurrent_COBOL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib
    C:\Interstage\OTS\lib\libcurrent_COBOL_mt.lib

■MIX_SUPPLIER.EXEを作成します(EXEファイル名:「MIX_SUPPLIER.EXE」)。

  1. mix_supplier.cblを翻訳します。翻訳オプションには、MAIN(主プログラム)を指定します。
    スレッドモード版を使用する場合は、翻訳オプションにTHREAD(MULTI)を追加します。

    翻訳対象

    mix_supplier.cbl

    翻訳結果

    MIX_SUPPLIER.OBJ

  2. [ツールメニュー]の「リンク」を選択し、1.で生成したオブジェクトを結合し、EXEを作成します。このとき、以下のファイルも併せて指定します。

    プロセスモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBL.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBL.lib
    C:\Interstage\OTS\lib\libcurrent_COBOL.lib

    スレッドモードの場合

    C:\Interstage\ODWIN\lib\ODCOBCBLMT.LIB
    C:\Interstage\eswin\lib\cobol\ESNOTIFYWINCBLMT.lib
    C:\Interstage\OTS\lib\libcurrent_COBOL_mt.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