Interstage Application Server アプリケーション作成ガイド (イベントサービス編) |
目次
索引
![]() ![]() |
付録C サンプルプログラム(Windows(R)) | > C.2 実行手順 |
COBOLのサンプルプログラムについて説明します。
(d1) イベントサービス(Pushモデル)のサンプルプログラム
(d2) イベントサービス(Pullモデル)のサンプルプログラム
(d3) イベントサービス(Mixedモデル)のサンプルプログラム
(d4) イベントサービス(Mixedモデル)のEventFactoryを使用したサンプルプログラム
種別 |
通信モデル |
データ型 |
ディレクトリ |
イベントサービスのチャネル静的生成 |
Push |
any |
cobol\push |
P-STAFFまたはプロジェクトマネージャを起動します。[ツールメニュー]の"翻訳"を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。(CORBAサービスをC:\Interstage\ODWINに、イベントサービスをC:\Interstage\ESWINにインストールした場合)
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
◆PUSH_CONSUMER.EXEを作成します(EXEのファイル名は"PUSH_CONSUMER.EXE"とします)。
翻訳対象 push_consumer.cbl 翻訳結果 PUSH_CONSUMER.OBJ
COBOL97(プロセスモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLSV.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBL.LIB COBOL97(スレッドモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLMTSV.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLMT.LIB COBOL97(UNICODE用)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLSVUC.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLUC.LIB
◆PUSH_SUPPLIER.EXEを作成します(EXEのファイル名は"PUSH_SUPPLIER.EXE"とします)。
翻訳対象 push_supplier.cbl 翻訳結果 PUSH_SUPPLIER.OBJ
COBOL97(プロセスモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBL.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBL.LIB COBOL97(スレッドモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLMT.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLMT.LIB COBOL97(UNICODE用)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLUC.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLUC.LIB
◆COSEVENTCOMM-PUSHCONSUMER.DLLを作成します(DLLのファイル名は"COSEVENTCOMM-PUSHCONSUMER.DLL"とします)。
翻訳対象 push_library.cbl 翻訳結果 SERVER-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER.OBJ SERVER-COSEVENTCOMM-PUSHCONSUMER-PUSH.OBJ
COBOL97(プロセスモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLSV.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBL.LIB COBOL97(スレッドモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLMTSV.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLMT.LIB COBOL97(UNICODE用)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLSVUC.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLUC.LIB C:\Interstage\ESWIN\LIB\COBOLに格納されている以下のオブジェクト COBOL97(プロセスモード)の場合は以下を使用 COSEVENTCOMM-PUSHCONSUMER.OBJ CDR-COSEVENTCOMM-PUSHCONSUMER.OBJ SKEL-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER.OBJ SKEL-COSEVENTCOMM-PUSHCONSUMER-PUSH.OBJ COBOL97(スレッドモード)の場合は以下を使用 COSEVENTCOMM-PUSHCONSUMER-MT.OBJ CDR-COSEVENTCOMM-PUSHCONSUMER-MT.OBJ SKEL-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER-MT.OBJ SKEL-COSEVENTCOMM-PUSHCONSUMER-PUSH-MT.OBJ COBOL97(UNICODE用)の場合は以下を使用 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
コンシューマ、サプライヤの実行方法を説明します。
push_consumerのインプリメンテーション情報を登録します。
cd %ES_HOME%\src\samples\cobol\push register
(プロセスモードで使用するときは、defファイル内の"thr_conc_init=16"を"thr_conc_init=1"に変更してから登録を行ってください。また、スレッドモードで使用するときは、defファイル内の"lang=COBOL"を"lang=COBOL_MT"に変更してから登録を行ってください。)
現ディレクトリを以下に移動し、push_consumer.exeを起動します。
cd %ES_HOME%\src\samples\cobol\push push_consumer
これで、コンシューマがイベントチャネル“push::sample”に接続されます。
別のコマンドプロンプトから現ディレクトリを以下に移動し、push_supplier.exeを起動します。
cd %ES_HOME%\src\samples\cobol\push push_supplier
これにより、サプライヤが送信したメッセージをイベントチャネルに接続されたコンシューマに送信することができます。
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
push_consumer recv data push-COBOL
種別 |
通信モデル |
データ型 |
ディレクトリ |
イベントサービスのチャネル静的生成 |
Pull |
any |
cobol\pull |
P-STAFFまたはプロジェクトマネージャを起動します。[ツールメニュー]の"翻訳"を選択し、翻訳対象となるファイルを指定した後、登録集名に以下を設定します。(CORBAサービスをC:\Interstage\ODWINに、イベントサービスをC:\Interstage\ESWINにインストールした場合)
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
◆PULL_SUPPLIER.EXEを作成します(EXEのファイル名は"PULL_SUPPLIER.EXE"とします)。
翻訳対象 pull_supplier.cbl 翻訳結果 PULL_SUPPLIER.OBJ
COBOL97(プロセスモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLSV.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBL.LIB COBOL97(スレッドモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLMTSV.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLMT.LIB COBOL97(UNICODE用)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLSVUC.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLUC.LIB
◆PULL_CONSUMER.EXEを作成します(EXEのファイル名は"PULL_CONSUMER.EXE"とします)。
翻訳対象 pull_consumer.cbl 翻訳結果 PULL_CONSUMER.OBJ
COBOL97(プロセスモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBL.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBL.LIB COBOL97(スレッドモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLMT.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLMT.LIB COBOL97(UNICODE用)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLUC.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLUC.LIB
◆COSEVENTCOMM-PULLSUPPLIER.DLLを作成します(DLLのファイル名は"COSEVENTCOMM-PULLSUPPLIER.DLL"とします)。
翻訳対象 pull_library.cbl 翻訳結果 SERVER-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER.OBJ SERVER-COSEVENTCOMM-PULLSUPPLIER-PULL.OBJ SERVER-COSEVENTCOMM-PULLSUPPLIER-TRYPULL.OBJ
COBOL97(プロセスモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLSV.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBL.LIB COBOL97(スレッドモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLMTSV.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLMT.LIB COBOL97(UNICODE用)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLSVUC.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLUC.LIB
C:\Interstage\ESWIN\LIB\COBOLに格納されている以下のオブジェクト COBOL97(プロセスモード)の場合は以下を使用 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 COOBOL97(スレッドモード)の場合は以下を使用 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 COBOL97(UNICODE用)の場合は以下を使用 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
コンシューマ、サプライヤの実行方法を説明します。
pull_supplierのインプリメンテーション情報を登録します。
cd %ES_HOME%\src\samples\cobol\pull register
(プロセスモードで使用するときは、defファイル内の"thr_conc_init=16"を"thr_conc_init=1"に変更してから登録を行ってください。また、スレッドモード版またはUNICODE版を使用するときは、defファイル内の"lang=COBOL"を"lang=COBOL_MT"に変更してから登録を行ってください。)
現ディレクトリを以下に移動し、pull_supplier.exeを起動します。
cd %ES_HOME%\src\samples\cobol\pull pull_supplier
これで、サプライヤがイベントチャネル“pull::sample”に接続されます。
別のコマンドプロンプトから現ディレクトリを以下に移動し、pull_consumer.exeを起動します。
cd %ES_HOME%\src\samples\cobol\pull pull_consumer
コンシューマがイベントを要求し、イベントチャネルは接続されているサプライヤからイベントを取り出し、コンシューマに復帰させます。
サンプルプログラムの実行結果を示します。
pull_consumer recv data pull-COBOL
種別 |
通信モデル |
データ型 |
ディレクトリ |
イベントサービスのチャネル静的生成 |
Mixed |
any |
cobol\mix |
P-STAFFまたはプロジェクトマネージャを起動します。[ツールメニュー]の"翻訳"を選択し、翻訳対象となるファイルを指定した後、登録集名に以下を設定します。(CORBAサービスをC:\Interstage\ODWINに、イベントサービスをC:\Interstage\ESWINにインストールした場合)
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
◆MIX_CONSUMER.EXEを作成します(EXEのファイル名は"MIX_CONSUMER.EXE"とします)。
翻訳対象 mix_consumer.cbl 翻訳結果 MIX_CONSUMER.OBJ
COBOL97(プロセスモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBL.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBL.LIB COBOL97(スレッドモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLMT.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLMT.LIB COBOL97(UNICODE用)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLUC.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLUC.LIB
◆MIX_SUPPLIER.EXEを作成します(EXEのファイル名は"MIX_SUPPLIER.EXE"とします)。
翻訳対象 mix_supplier.cbl 翻訳結果 MIX_SUPPLIER.OBJ
COBOL97(プロセスモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBL.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBL.LIB COBOL97(スレッドモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLMT.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLMT.LIB COBOL97(UNICODE用)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLUC.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLUC.LIB
翻訳が成功した場合、MIX_CONSUMER.EXE, MIX_SUPPLIER.EXEの2つのプログラムが作成されます。
イベントサービスを起動していない場合は、以下のコマンドまたは"EventService"サービスの「開始」でイベントサービスを起動します。
esstart
静的イベントチャネル“mix::sample"を登録します。
esmkchnl -g mix -c sample
イベントチャネルグループ“mix"を起動します。
esstartchnl -g mix
コンシューマ、サプライヤの実行方法を説明します。
現ディレクトリを以下に移動し、mix_consumer.exeを起動します。
cd %ES_HOME%\src\samples\cobol\mix mix_consumer
コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。
別のコマンドプロンプトから現ディレクトリを以下に移動し、mix_supplier.exeを起動します。
cd %ES_HOME%\src\samples\cobol\mix ix_supplier
これで、イベントチャネルにメッセージを蓄積します。
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
mix_consumer recv data mix-COBOL
種別 |
通信モデル |
データ型 |
ディレクトリ |
イベントサービスのチャネル動的生成 |
mixed |
any |
cobol\factory |
イベントファクトリがセットアップされていない場合は、イベントサービスが未起動の状態で、essetupコマンド(essetup -f)によりイベントファクトリのセットアップを行ってください。
P-STAFFまたはプロジェクトマネージャを起動します。[ツールメニュー]の"翻訳"を選択し、翻訳対象となるファイルを指定した後、登録集名に以下を設定します。(CORBAサービスをC:\Interstage\ODWINに、イベントサービスをC:\Interstage\ESWINにインストールした場合)
CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL
◆FACTORY_CONSUMER.EXEを作成します(EXEのファイル名は"MIX_CONSUMER.EXE"とします)。
翻訳対象 factory_consumer.cbl 翻訳結果 FACTORY_CONSUMER.OBJ
COBOL97(プロセスモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBL.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBL.LIB COBOL97(スレッドモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLMT.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLMT.LIB COBOL97(UNICODE用)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLUC.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLUC.LIB
◆FACTORY_SUPPLIER.EXEを作成します(EXEのファイル名は"FACTORY_SUPPLIER.EXE"とします)。
翻訳対象 factory_supplier.cbl 翻訳結果 FACTORY_SUPPLIER.OBJ
COBOL97(プロセスモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBL.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBL.LIB COBOL97(スレッドモード)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLMT.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLMT.LIB COBOL97(UNICODE用)の場合は以下を使用 C:\Interstage\ODWIN\LIB\ODCOBCBLUC.LIB C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLUC.LIB
翻訳が成功した場合、FACTORY_CONSUMER.EXE, FACTORY_SUPPLIER.EXEの2つのプログラムが作成されます。
イベントサービスを起動していない場合は、以下のコマンドまたは"EventService"サービスの「開始」でイベントサービスを起動します。
esstart
イベントファクトリを起動していない場合は、以下のコマンドまたは"EventFactory"サービスの「開始」でイベントファクトリを起動します。
esstartfctry
コンシューマ、サプライヤの実行方法を説明します。
現ディレクトリを以下に移動し、factory_consumer.exeを起動します。
cd %ES_HOME%\src\samples\cobol\factory factory_consumer
コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。
別のコマンドプロンプトから現ディレクトリを以下に移動し、factory_supplier.exeを起動します。
cd %ES_HOME%\src\samples\cobol\factory factory_supplier
これで、イベントチャネルにメッセージを蓄積します。
サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。
factory_consumer recv data factory-COBOL
目次
索引
![]() ![]() |