Interstage Application Server アプリケーション作成ガイド (イベントサービス編)
目次 索引 前ページ次ページ

付録D サンプルプログラム(Solaris(TM) Operating Environment/Linux)> D.2 実行手順

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

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

(d1)イベントサービス(Pushモデル)のサンプルプログラム
(d2)イベントサービス(Pullモデル)のサンプルプログラム
(d3)イベントサービス(Mixedモデル)のサンプルプログラム
(d4)イベントサービス(Mixedモデル)のEventFactoryを使用したサンプルプログラム


 Linuxシステムでは、COBOL用のサンプルプログラムは提供されていません。

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

種別

通信モデル

データ型

サブディレクトリ

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

Push

any

cobol/push

(1)環境変数の設定

環境変数COSEVENTCOMMの設定

 イベントサービスのCOBOL登録集格納ディレクトリを指定します。
 (イベントサービスのCOBOL登録集は、$ES_HOME/include/COBOLに格納されています。デフォルトでは/opt/FJSVes/include/COBOLになります。)

  COSEVENTCOMM=$ES_HOME/include/COBOL
  export COSEVENTCOMM

環境変数CORBAの設定

 環境変数CORBAにCORBAサービスのCOBOL登録集格納ディレクトリを指定します。
 (CORBAサービスのCOBOL登録集は、$OD_HOME/include/COBOLに格納されています。デフォルトでは/opt/FSUNod/include/COBOLになります。)

  CORBA=$OD_HOME/include/COBOL
  export CORBA

(2)プログラムを翻訳し、イベントチャネルをネーミングサービスに登録します。

サンプルソースの翻訳

 サンプルプログラムを翻訳します。翻訳手順はMakefileで定義されています。

  make

 翻訳が成功した場合、push_consumer, push_supplier, libEVENTCOMM-PUSHCONSUMER.soの3つのプログラムが作成されます。

イベントサービスの起動

 イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

  cd $ES_HOME/bin
  esstart

イベントチャネルの登録

 静的イベントチャネル「push::sample」を登録します。

  esmkchnl -g push -c sample

イベントチャネルの起動

 イベントチャネルグループ「push」を起動します。

  esstartchnl -g push

(3)サンプルプログラムの実行

 コンシューマ、サプライヤの実行方法を説明します。

環境変数の設定

 コンシューマ、サプライヤを動作させるには以下の環境変数を設定してください。

  [プロセスモードの場合]
  LD_LIBRARY_PATH=$OD_HOME/lib/nt:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH
  [スレッドモードの場合]
  LD_LIBRARY_PATH=$OD_HOME/lib:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH

 また、コンシューマ側では(2)で作成したlibEVENTCOMM-PUSHCONSUMER.soの格納場所を追加してください(以下は/tmp/pushに格納した場合)。

  LD_LIBRARY_PATH=/tmp/push:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH

コンシューマのインプリメンテーション情報の登録

 push_consumerのインプリメンテーション情報を登録します。

  register

コンシューマの起動

 コンシューマ(push_consumer)を起動します。

  push_consumer &

 これで、コンシューマがイベントチャネル「push::sample」に接続されます。

サプライヤの起動

 サプライヤ(push_supplier)を起動します。

  push_supplier

 これにより、サプライヤが送信したメッセージをイベントチャネルに接続されたコンシューマに送信することができます。

(4)実行結果

 サンプルプログラムの実行結果を示します。

  push_consumer &
    [1] 23845
  push_supplier
    recv data push-COBOL 

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

種別

通信モデル

データ型

サブディレクトリ

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

Pull

any

cobol/pull

(1)環境変数の設定

環境変数COSEVENTCOMMの設定

 イベントサービスのCOBOL登録集格納ディレクトリを指定します。
 (イベントサービスのCOBOL登録集は、$ES_HOME/include/COBOLに格納されています。デフォルトでは/opt/FJSVes/include/COBOLになります。)

  COSEVENTCOMM=$ES_HOME/include/COBOL
  export COSEVENTCOMM

環境変数CORBAの設定

 環境変数CORBAにCORBAサービスのCOBOL登録集格納ディレクトリを指定します。
 (CORBAサービスのCOBOL登録集は、$OD_HOME/include/COBOLに格納されています。デフォルトでは/opt/FSUNod/include/COBOLになります。)

  CORBA=$OD_HOME/include/COBOL
  export CORBA

(2)サンプルプログラムを翻訳し、イベントチャネルをネーミングサービスに登録します。

サンプルソースの翻訳

 サンプルプログラムを翻訳します。翻訳手順はMakefileで定義されています。

  make

 翻訳が成功した場合、pull_consumer, pull_supplier, libCOSEVENTCOMM-PULLSUPPLIER.soの3つのプログラムが作成されます。

イベントサービスの起動

 イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

  cd $ES_HOME/bin
  esstart

イベントチャネルの登録

 静的イベントチャネル「pull::sample」を登録します。

  esmkchnl -g pull -c sample

イベントチャネルの起動

 イベントチャネルグループ「pull」を起動します。

  esstartchnl -g pull

(3)サンプルプログラムの実行

 コンシューマ、サプライヤの実行方法を説明します。

環境変数の設定

 コンシューマ、サプライヤを動作させるには以下の環境変数を設定してください。

  [プロセスモードの場合]
  LD_LIBRARY_PATH=$OD_HOME/lib/nt:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH
  [スレッドモードの場合]
  LD_LIBRARY_PATH=$OD_HOME/lib:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH

 また、サプライヤ側では(2)で作成したlibCOSEVENTCOMM-PULLSUPPLIER.soの格納場所を追加してください(以下は/tmp/pullに格納した場合)。

  LD_LIBRARY_PATH=/tmp/pull:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH

サプライヤのインプリメンテーション情報の登録

 pull_supplierのインプリメンテーション情報を登録します。

  register

サプライヤの起動

 サプライヤ(pull_supplier)を起動します。

  pull_supplier &

 これで、サプライヤがイベントチャネル「pull::sample」に接続されます。

コンシューマの起動

 コンシューマ(pull_consumer)を起動します。

  pull_consumer

 コンシューマがイベントを要求し、イベントチャネルは接続されているサプライヤからイベントを取り出し、コンシューマに復帰させます。

(4)実行結果

 サンプルプログラムの実行結果を示します。

  pull_supplier &
    [1] 23845
  pull_consumer
    recv data pull-COBOL 

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

種別

通信モデル

データ型

サブディレクトリ

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

Mixed

any

cobol/mix

(1)環境変数の設定

環境変数COSEVENTCOMMの設定

 イベントサービスのCOBOL登録集格納ディレクトリを指定します。
 (イベントサービスのCOBOL登録集は、$ES_HOME/include/COBOLに格納されています。デフォルトでは/opt/FJSVes/include/COBOLになります。)

  COSEVENTCOMM=$ES_HOME/include/COBOL
  export COSEVENTCOMM

環境変数CORBAの設定

 環境変数CORBAにCORBAサービスのCOBOL登録集格納ディレクトリを指定します。
 (CORBAサービスのCOBOL登録集は、$OD_HOME/include/COBOLに格納されています。デフォルトでは/opt/FSUNod/include/COBOLになります。)

  CORBA=$OD_HOME/include/COBOL
  export CORBA

(2)サンプルプログラムを翻訳し、イベントチャネルをネーミングサービスに登録します。

サンプルソースの翻訳

 サンプルプログラムを翻訳します。翻訳手順はMakefileで定義されています。

  make

 翻訳が成功した場合、mix_consumer, mix_supplierの2つのプログラムが作成されます。

イベントサービスの起動

 イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

  cd $ES_HOME/bin
  esstart

イベントチャネルの登録

 静的イベントチャネル「mix::sample」を登録します。

  esmkchnl -g mix -c sample

イベントチャネルの起動

 イベントチャネルグループ「mix」を起動します。

  esstartchnl -g mix

(3)サンプルプログラムの実行

 コンシューマ、サプライヤの実行方法を説明します。

環境変数の設定

 コンシューマ、サプライヤを動作させるには以下の環境変数を設定してください。

  [プロセスモードの場合]
  LD_LIBRARY_PATH=$OD_HOME/lib/nt:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH
  [スレッドモードの場合]
  LD_LIBRARY_PATH=$OD_HOME/lib:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH

コンシューマの起動

 コンシューマ(mix_consumer)を起動します。

  mix_consumer &

 コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。

サプライヤの起動

 サプライヤ(mix_supplier)を起動します。

  mix_supplier

 これで、イベントチャネルにメッセージを蓄積します。

(4)実行結果

 サンプルプログラムの実行結果を示します。

  mix_consumer &
    [1] 23845
  mix_supplier
    recv data mix-COBOL 

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

種別

通信モデル

データ型

サブディレクトリ

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

Mixed

any

cobol/factory

 イベントファクトリがセットアップされていない場合は、イベントサービスが未起動の状態で、essetupコマンド(essetup -f)によりイベントファクトリのセットアップを行ってください。

(1)環境変数の設定

環境変数COSEVENTCOMMの設定

 イベントサービスのCOBOL登録集格納ディレクトリを指定します。
 (イベントサービスのCOBOL登録集は、$ES_HOME/include/COBOLに格納されています。デフォルトでは/opt/FJSVes/include/COBOLになります。)

  COSEVENTCOMM=$ES_HOME/include/COBOL
  export COSEVENTCOMM

環境変数CORBAの設定

 環境変数CORBAにCORBAサービスのCOBOL登録集格納ディレクトリを指定します。
 (CORBAサービスのCOBOL登録集は、$OD_HOME/include/COBOLに格納されています。デフォルトでは/opt/FSUNod/include/COBOLになります。)

  CORBA=$OD_HOME/include/COBOL
  export CORBA

(2)サンプルプログラムを翻訳し、イベントチャネルをネーミングサービスに登録します。

サンプルソースの翻訳

 サンプルプログラムを翻訳します。翻訳手順はMakefileで定義されています。

  make

 翻訳が成功した場合、factory_consumer, factory_supplierの2つのプログラムが作成されます。

イベントサービスの起動

 イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

  cd $ES_HOME/bin
  esstart

イベントファクトリの起動

 イベントファクトリを起動します。

  esstartfctry

(3)サンプルプログラムの実行

 コンシューマ、サプライヤの実行方法を説明します。

環境変数の設定

 コンシューマ、サプライヤを動作させるには以下の環境変数を設定してください。

  [プロセスモードの場合]
  LD_LIBRARY_PATH=$OD_HOME/lib/nt:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH
  [スレッドモードの場合]
  LD_LIBRARY_PATH=$OD_HOME/lib:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH

コンシューマの起動

 コンシューマ(factory_consumer)を起動します。

  factory_consumer &

 コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。

サプライヤの起動

 サプライヤ(factory_supplier)を起動します。

  factory_supplier

 これで、イベントチャネルにメッセージを蓄積します。

(4)実行結果

 サンプルプログラムの実行結果を示します。

  factory_consumer &
    [1] 23845
  factory_supplier
    recv data factory-COBOL 

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005