ページの先頭行へ戻る
Interstage Service Integrator V9.6.1 導入ガイド
FUJITSU Software

19.2.3 非同期メッセージング(メッセージ保証あり)構成

ISI運用環境を、非同期メッセージング(メッセージ保証あり)構成でセットアップする手順を説明します。非同期メッセージング(メッセージ保証あり)構成ではデータベースを使用します。

セットアップの流れ

  1. データベースのセットアップ

  2. ISIサーバのセットアップ

  3. サービスエンドポイントの追加

データベースのセットアップ

データベースのセットアップ方法を説明します。

本セットアップはデータベースサーバ上で行います。

すでに作成済みのSymfoware RDB環境を使用する場合は、RDBシステムの起動から行ってください。

  1. RDBシステムの作成

  2. /etc/servicesファイルの編集

  3. RDBシステムの起動

  4. JDBCネーミングサービスの起動

  5. データベースの作成

RDBシステムの作成

RDBシステムの作成に必要な環境変数を設定します。

Bシェルの場合

. /opt/FJSVesi/bin/esienv.sh

Cシェルの場合

source /opt/FJSVesi/bin/esienv.csh

esisetenv_rdbsysコマンドを実行し、Symfoware ServerのRDBシステムを作成します。

コマンド実行例

# esisetenv_rdbsys -m small -l /dev/rdsk/c0t0d0s3 -d /dev/rdsk/c0t0d0s4

# esisetenv_rdbsys -m small -l /dev/raw/raw5 -d /dev/raw/raw6

esisetenv_rdbsysコマンド実行中にエラーが発生した場合は、エラーの原因を取り除いたあと、esiunsetenv_rdbsysコマンドを実行して作成途中のRDBシステムを削除してください。その後、再度esisetenv_rdbsysコマンドを実行してください。

コマンドの実行例

# esiunsetenv_rdbsys
Delete RDB system (RDBESI)? (y/n) y

注意

JMS-R環境がセットアップ済みの場合、esiunsetenv_rdbsysコマンドは、JMS-R環境のアンセットアップ後(esiunsetup_dbenv、esiunsetenv_jmsrenvまたはesiunsetenv_jmsrenv_osauthコマンド実行後)に実行してください。
JMS-R環境がセットアップ済みの場合、esiunsetenv_rdbsysコマンドは以下のメッセージを出力して処理を中止します。

### The JMS-R environment exists.
/etc/servicesファイルの編集

/etc/servicesファイルに、Symfoware Serverで使用するサービス名、ポート番号およびプロトコルを追加します。ポート番号は他のアプリケーションやサービスが使用していない番号を指定してください。
サービス名にはRDBシステム名、ポート番号にはSymfoware Serverで使用するポート番号、プロトコルにはtcpを指定します。
ローカルDBとのトランザクション機能を利用する場合、RDBシステム名には、ローカルDBのRDBシステム名を指定します。ローカルDBとのトランザクション機能を利用しない場合は「RDBESI」を指定します。

/etc/servicesファイルの修正例

 :
RDBESI      2050/tcp
 :
RDBシステムの起動

rdbstartコマンドを実行し、RDBシステムを起動します。

rdbstart
JDBCネーミングサービスの起動
  1. Symfoware JDBCネーミングサービスの開始

    java com.fujitsu.symfoware.jdbc2.naming.SYMNameService &
データベースの作成

非同期メッセージング(メッセージ保証あり)構成で使用するデータベース(メッセージ格納DB)では、以下の4つのデータベーススペースを使用します。

図19.1 非同期メッセージング(メッセージ保証あり)構成で使用するデータベース

  1. データベース環境セットアップ定義作成コマンドの実行

    esigendef_jmsrenvコマンドを実行し、データベース環境のセットアップ定義を作成します。詳細は“ISI リファレンス”の“esigendef_jmsrenv”コマンドを参照してください。

    コマンド実行例

    esigendef_jmsrenv -m small
    • small:モデルケースを指定します。

    作成したJMS-R環境セットアップ定義ファイルは、以下に格納されます。

    /opt/FJSVesi/etc/esijmsrsetup.conf
  2. JMS-R環境セットアップ定義ファイルの編集

    esisetup_dbenvコマンド実行前に、JMS-R環境セットアップ定義ファイルの内容を編集することで、セットアップ内容をカスタマイズできます。

    表19.1 JMS-R環境セットアップ定義ファイルの内容

    定義名

    意味

    指定例

    Model

    モデルケースです。

    • small

    • moderate

    • large

    • super

    moderate

    DBName

    データベース名です。
    ローカルDBとのトランザクション機能を利用する場合、ローカルトランザクションを組むDBのデータベース名を指定してください。

    ESIMESSAGEDB

    DBPort

    データベースで使用するポート番号です。

    2050

    DataSourceNSHost

    Symfoware JDBCドライバのデータソースを登録するJDBCネーミングサービスのホスト名です。

    server01

    DataSourceNSPort

    Symfoware JDBCドライバのデータソースを登録するJDBCネーミングサービスのポート番号です。

    10326

    CorbaNSHost

    Corbaのネーミングサービスのホスト名です。データベースを構築するマシンとISIサーバを構築するマシンを分離する場合、ISIを構築するサーバのホスト名を指定します。

    server01

    CorbaNSPort

    CorbaNSHostで指定したホストでのCorbaのネーミングサービスのポート番号です。

    8002

    MessageMax

    JMS-Rキューに蓄積可能なメッセージ数です。指定可能な範囲は50~20000000です。

    本定義は、esisetup_dbenvコマンド実行時のオプションに「-w」を指定した場合、本定義は無視されます。

    200

    MessageLength

    扱うメッセージの平均長(Kバイト単位)です。
    本定義は、esisetup_dbenvコマンド実行時のオプションに「-w」を指定した場合、本定義は無視されます。

    64

    JMSRQueueMax

    JMS-Rキューの最大個数です。
    本定義は、esisetup_dbenvコマンド実行時のオプションに「-w」を指定した場合、本定義は無視されます。

    30

    JMSRDBSchemaName

    JMS-Rのメッセージ格納DBで使用するスキーマ名です。

    APFW001

    QCTMQDSystemName

    キュー間転送用MQDシステム名です。

    MQDESI01

    MsgDBSpaceSize

    3000Mを指定してください。

    3000M

    MsgDBAccumulateMessageBLOBSize

    メッセージ蓄積データベースの情報です。
    蓄積メッセージのBLOBサイズです。

    10M

    MsgDBDSITableInitialSize

    メッセージ蓄積データベースの情報です。
    表のDSIの初期割り付け量です。

    10M

    MsgDBDSITableExtendSize

    メッセージ蓄積データベースの情報です。
    表のDSIの拡張時割り付け量です。

    10M

    MsgDBDSITableExtendOpportunity

    メッセージ蓄積データベースの情報です。
    表のDSIの拡張契機です。

    256K

    MsgDBDSIIndexInitialBaseSize

    メッセージ蓄積データベースの情報です。
    インデックスのDSIの初期割り付け量(データ部)です。

    10M

    MsgDBDSIIndexInitialIndexSize

    メッセージ蓄積データベースの情報です。
    インデックスのDSIの初期割り付け量(インデックス部)です。

    256K

    MsgDBDSIIndexExtendSize

    メッセージ蓄積データベースの情報です。
    インデックスのDSIの拡張時割り付け量です。

    10M

    MsgDBDSIIndexExtendOpportunity

    メッセージ蓄積データベースの情報です。
    インデックスのDSIの拡張契機です。

    256K

    JMS-R環境セットアップ定義ファイルは、以下の形式で指定してください。

    • 定義文は一行に一文

    • 定義文は以下の形式で記述

      • 定義名=値(改行)

      • “=”の前後の空白は不可

    • コメントは行の先頭に“#”を指定

  3. データベース環境セットアップコマンドの実行

    esisetup_dbenvコマンドを実行し、データベース環境を作成します。esisetup_dbenvコマンドの詳細は“ISI リファレンス”の“esisetup_dbenv”コマンドを参照してください。

    メッセージ格納領域を後から作成する場合は「-w」オプションを指定してください。「-w」オプションを省略した場合、デフォルトのメッセージ格納領域を作成します。


    DBMS認証の場合のコマンド実行例(メッセージ格納領域を後から作成する場合)

    1. データベーススペース格納用のrawデバイスを用意します。

      /dev/rdsk/c0t0d0s5
      /dev/rdsk/c0t0d0s7

    2. esisetup_dbenvコマンドを実行します。

      esisetup_dbenv -u esidbuser -w -1 /dev/rdsk/c0t0d0s5 -3 /dev/rdsk/c0t0d0s7
      • esidbuser: DBユーザIDを設定します。

    OS認証の場合のコマンド実行例(メッセージ格納領域を後から作成する場合)

    1. OS認証のユーザを登録します。登録方法は、OSのユーザ登録方法に従ってください。

      OSに登録するユーザ

      ユーザID

      業務データベースユーザ

      osdbuser

      JMS-Rユーザ1(実行基盤管理者ユーザ)

      jmsrusr1

      JMS-Rユーザ2(実行基盤利用者ユーザ)

      jmsrusr2

    2. データベーススペース格納用のrawデバイスを用意します。

      /dev/rdsk/c0t0d0s5
      /dev/rdsk/c0t0d0s7

    3. esisetup_dbenvコマンドを実行します。

      esisetup_dbenv -o -u osdbuser -q jmsrusr1 -s jmsrusr2 -w -1 /dev/rdsk/c0t0d0s5 -3 /dev/rdsk/c0t0d0s7

    DBMS認証の場合のコマンド実行例(デフォルトのメッセージ格納領域を作成する場合)

    1. データベーススペース格納用のrawデバイスを用意します。

      /dev/rdsk/c0t0d0s5
      /dev/rdsk/c0t0d0s6
      /dev/rdsk/c0t0d0s7

    2. メッセージ保証テーブル用のデータベーススペース格納ディレクトリを作成します。

      /rdbesi/isi_msgacmdb

    3. esisetup_dbenvコマンドを実行します。

      esisetup_dbenv -u esidbuser -1 /dev/rdsk/c0t0d0s5 -2 /dev/rdsk/c0t0d0s6 -3 /dev/rdsk/c0t0d0s7 -4 /rdbesi/isi_msgacmdb
      • esidbuser: DBユーザIDを指定します。

    OS認証の場合のコマンド実行例(デフォルトのメッセージ格納領域を作成する場合)

    1. OS認証のユーザを登録します。登録方法は、OSのユーザ登録方法に従ってください。

      OSに登録するユーザ

      ユーザID

      業務データベースユーザ

      osdbuser

      JMS-Rユーザ1(実行基盤管理者ユーザ)

      jmsrusr1

      JMS-Rユーザ2(実行基盤利用者ユーザ)

      jmsrusr2

    2. データベーススペース格納用のrawデバイスを用意します。

      /dev/rdsk/c0t0d0s5
      /dev/rdsk/c0t0d0s6
      /dev/rdsk/c0t0d0s7

    3. メッセージ保証テーブル用のデータベーススペース格納ディレクトリを作成します。

      /rdbesi/isi_msgacmdb

    4. esisetup_dbenvコマンドを実行します。

      esisetup_dbenv -o -u osdbuser -q jmsrusr1 -s jmsrusr2 -1 /dev/rdsk/c0t0d0s5 -2 /dev/rdsk/c0t0d0s6 -3 /dev/rdsk/c0t0d0s7 -4 /rdbesi/isi_msgacmdb

    DBMS認証の場合のコマンド実行例(メッセージ格納領域を後から作成する場合)

    1. データベーススペース格納用のrawデバイスを用意します。

      /dev/raw/raw7
      /dev/raw/raw9

    2. esisetup_dbenvコマンドを実行します。

      esisetup_dbenv -u esidbuser -w -1 /dev/raw/raw7 -3 /dev/raw/raw9
      • esidbuser: DBユーザIDを設定します。

    OS認証の場合のコマンド実行例(メッセージ格納領域を後から作成する場合)

    1. OS認証のユーザを登録します。登録方法は、OSのユーザ登録方法に従ってください。

      OSに登録するユーザ

      ユーザID

      業務データベースユーザ

      osdbuser

      JMS-Rユーザ1(実行基盤管理者ユーザ)

      jmsrusr1

      JMS-Rユーザ2(実行基盤利用者ユーザ)

      jmsrusr2

    2. データベーススペース格納用のrawデバイスを用意します。

      /dev/raw/raw7
      /dev/raw/raw9

    3. esisetup_dbenvコマンドを実行します。

      esisetup_dbenv -o -u osdbuser -q jmsrusr1 -s jmsrusr2 -w  -1 /dev/raw/raw7 -3 /dev/raw/raw9

    DBMS認証の場合のコマンド実行例(デフォルトのメッセージ格納領域を作成する場合)

    1. データベーススペース格納用のrawデバイスを用意します。

      /dev/raw/raw7
      /dev/raw/raw8
      /dev/raw/raw9

    2. メッセージ保証テーブル用のデータベーススペース格納ディレクトリを作成します。

      /rdbesi/isi_msgacmdb

    3. esisetup_dbenvコマンドを実行します。

      esisetup_dbenv -u esidbuser -1 /dev/raw/raw7 -2 /dev/raw/raw8 -3 /dev/raw/raw9 -4 /rdbesi/isi_msgacmdb
      • esidbuser: DBユーザIDを指定します。

    OS認証の場合のコマンド実行例(デフォルトのメッセージ格納領域を作成する場合)

    1. OS認証のユーザを登録します。登録方法は、OSのユーザ登録方法に従ってください。

      OSに登録するユーザ

      ユーザID

      業務データベースユーザ

      osdbuser

      JMS-Rユーザ1(実行基盤管理者ユーザ)

      jmsrusr1

      JMS-Rユーザ2(実行基盤利用者ユーザ)

      jmsrusr2

    2. データベーススペース格納用のrawデバイスを用意します。

      /dev/raw/raw7
      /dev/raw/raw8
      /dev/raw/raw9

    3. メッセージ保証テーブル用のデータベーススペース格納ディレクトリを作成します。

      /rdbesi/isi_msgacmdb

    4. esisetup_dbenvコマンドを実行します。

      esisetup_dbenv -o -u osdbuser -q jmsrusr1 -s jmsrusr2 -1 /dev/raw/raw7 -2 /dev/raw/raw8 -3 /dev/raw/raw9 -4 /rdbesi/isi_msgacmdb
  4. メッセージ格納領域の作成

    “JMS-Rキューの作成”の“20.3.1 メッセージ格納領域の作成”と同じ手順です。なお、デフォルトのメッセージ格納領域を作成済みの場合、本手順は不要です。

ISIサーバのセットアップ

非同期メッセージング(メッセージ保証あり)構成で運用する場合に必要となるISIサーバのセットアップ手順を説明します。

本セットアップはアプリケーションサーバ上で行います。

  1. データベースサーバ接続設定

  2. セットアップコマンドの実行

  3. データベースへの接続確認

  4. メディエータファンクションの定義の登録

  5. JMS-Rキューの作成

  6. ISIサーバの起動

データベースサーバ接続設定

アプリケーションサーバとデータベースサーバを分離して運用する場合に必要な手順です。アプリケーションサーバとデータベースサーバを同一サーバで運用する場合、本手順は省略してください。

  1. データベースサーバ接続設定ファイル作成

    esigendef_dbinfoコマンドを実行し、ISIサーバ用のデータベース接続設定ファイルを作成します。esigendef_dbinfoコマンドの詳細は、“ISI リファレンス”を参照してください。

    コマンド実行例

    esigendef_dbinfo -h dbserver
    • dbserver: データベースサーバのホスト名を指定します。

    作成したデータベース接続設定ファイルは、以下に格納されます。

    /opt/FJSVesi/etc/esijmsrdbinfo.conf
  2. データベースサーバ接続設定ファイルの編集

    データベースサーバの環境に合わせセットアップ内容を編集してください。

    表19.2 データベースサーバ接続設定ファイルの内容

    定義名

    意味

    指定例

    DBName

    データベース名です。
    ローカルDBとのトランザクション機能を利用する場合、ローカルトランザクションを組むDBのデータベース名を指定してください。

    ESIMESSAGEDB

    DBPort

    データベースで使用するポート番号です。

    2050

    DataSourceNSHost

    Symfoware JDBCドライバのデータソースを登録するJDBCネーミングサービスのホスト名です。

    dbserver

    DataSourceNSPort

    Symfoware JDBCドライバのデータソースを登録するJDBCネーミングサービスのポート番号です。

    10326

    QCTMQDSystemName

    キュー間転送用MQDシステム名です。

    MQDESI01

    MessageMax

    JMS-Rキューに格納可能なメッセージ数です。

    200

  3. データベースサーバ接続情報の設定

    データベースサーバ接続情報を設定します。以下のコマンドを実行してください。詳細は“ISI リファレンス”の“esisetdbinfo”コマンドを参照してください。

    esisetdbinfo
  4. hostsファイルの編集

    データベースサーバのホスト名を/etc/hostsファイルに定義してください。

    編集例

    192.168.0.10     dbserver
    • 192.168.0.10: データベースサーバのホスト名のIPアドレス

    • dbserver: データベースサーバのホスト名

セットアップコマンドの実行

ISI運用管理コンソールとISIサーバをセットアップします。以下のコマンドを実行してください。詳細は“ISI リファレンス”の“esisetup”コマンドを参照してください。

JMS-Rキューを後から作成する場合は、「-w」オプションを指定してください。

「-w」オプションを省略した場合、デフォルトのJMS-Rキューを作成します。デフォルトのメッセージ格納領域を作成済みの場合にデフォルトのJMS-Rキューを作成できます。

コマンド実行例(JMS-Rキューを後から作成する場合)

esisetup -w -r -u esidbuser
  • esidbuser:データベースユーザ

コマンド実行例(デフォルトのJMS-Rキューを作成する場合)

esisetup -r -u esidbuser
  • esidbuser:データベースユーザ

データベースへの接続確認

セットアップコマンド実行後、データベースへの接続確認を実施してください。

Interstage管理コンソールを使用して、[Interstage Application Server] > [システム] > [リソース] > [JDBC] > [esimsgdb] > [環境設定]からDB接続テストを実施します。

接続に失敗する場合、以下を確認し再度接続テストを実施してください。

  • ユーザ名、ネーミングサービスのホスト名が正しいか確認し、異なる場合は設定を変更してください。

  • 認証に失敗する場合は、パスワードを再設定してください。

  • SymfowareのJDBCネーミングサービスの設定を確認してください。確認方法については“付録G SymfowareのJDBCデータソースの変更”を参照してください。

JMS-Rキューの作成

サービスエンドポイントごとにJMS-Rキューを作成してください。JMS-Rキューの作成手順は、“20.3 JMS-Rキューの作成 ”を参照してください。

メディエータファンクションの定義の登録

メディエータファンクション定義を登録します。以下のコマンドを実行してください。詳細は“ISI リファレンス”の“esidefadd”コマンドを参照してください。

esidefadd -m /opt/FJSVesi/etc/def/default/mediatorfunction.xml -o
ISIサーバの起動

ISIサーバを起動します。起動方法は、“ISI 運用ガイド”を参照してください。

サービスエンドポイントの追加

ISIの運用を開始したあとで、サービスエンドポイントを追加する必要がある場合は、JMS-Rキューをセットアップします。JMS-Rキューのセットアップ方法については、“20.3 JMS-Rキューの作成 ”を参照してください。