9. 分散ESB

9.1. 分散ESB環境の構築

分散ESB環境の構築方法を説明します。分散ESBの機能概要は [ 製品構成と提供機能 > 4. ESB > 4.1. JBIコンテナと共通機能 > 4.1.5. 分散ESB ] を参照してください。

[8.1.1.ESBインスタンスの設定]と[8.1.2. 通信用リソースの作成]では、分散ESB環境を構築するための各設定項目について説明します。

9.1.1. ESBインスタンスの設定

分散ESBは複数の分散対象サーバ「ESBインスタンス」により構成します。統合運用管理ツールでESBインスタンスに接続し、分散対象サーバの構築を行います。

【図8.1.1a】2インスタンスでの分散ESB構築例

9.1.1.1. ESBインスタンスの作成と削除

各ESB環境に分散対象となるESBインスタンスの情報を設定します。分散ESBを有効にするには、分散対象となる相手だけでなく自分自身のESBインスタンスも作成する必要があります。自分自身を作成していない場合は非分散環境として動作し、SAに設定されたESBインスタンス名は無視されます。

【図8.1.1b】ESBインスタンスの追加/削除 操作画面

ESBインスタンスの作成と削除を行うには、[ESB]-[分散対象サーバ]ノードを右クリックして表示される操作の一覧から操作を選択します。


ESBインスタンスの追加
otxadmin> invoke server.jbi.distributed-servers.addServer [instanceName]
ESBインスタンスの削除
otxadmin> invoke server.jbi.distributed-servers.deleteServer [instanceName]

9.1.1.2. ESBインスタンスの設定

ESBインスタンスのノードを選択し、右側の「設定情報」タブで設定項目を編集します。

【図8.1.1c】ESBインスタンスの設定

以下で各設定項目の詳細について説明します。

【表8.1.1a】ESBインスタンスの設定

タイトル 説明
ホスト名 ESBインスタンスのホスト名を指定します。 マシン名またはIPアドレスが可能です。例: localhost または 192.168.0.1
ドメイン名 ESBインスタンスのドメイン名を指定します。 WebOTX ドメイン名の命名規則に従います。例: domain1
アプリケーショングループ名とプロセスグループ名 ESBインスタンスのアプリケーショングループ名とプロセスグループ名を指定します。 Expressでは「server」と設定します。Standardでは「アプリケーショングループ名-プロセスグループ名」の形式で設定します。 例: server または apg-pg
送信用プロトコル 他のESBインスタンスへメッセージを送信する時に使うプロトコルを指定します。デフォルトではSOAPです。 JMS、SOAP、SOAP(WS-R)から選択、デフォルト値はSOAPです。
※SOAP(WS-R)は選択可能ですが動作をサポートしていません。
SOAP受信用エンドポイントURL ESBインスタンス受信用SOAPエンドポイントを指定します。 URLの命名規則に従います。例:http://[host]:[port]/proxybc-soap
「送信用プロトコル」にSOAPを設定した時には必ず設定する必要があります。
SOAP(WS-R) 受信用エンドポイントURL ESBインスタンス受信用SOAP(WS-R)エンドポイントを指定します。 URLの命名規則に従います。例:http://[host]:[port]/proxybc-wsr
「送信用プロトコル」にSOAP(WS-R)を設定した時には必ず設定する必要があります。
JMS受信用コネクションファクトリのJNDI登録パス ESBインスタンス受信用JMSコネクションファクトリのJNDI登録パスを指定します。 WebOTX JMSリソースの命名規則に従います。例:jms/esbConnectionFactory
「送信用プロトコル」にJMSを設定した時には必ず設定する必要があります。
JMS受信用キューのJNDI登録パス ESBインスタンス受信用JMSキューのJNDI登録パスを指定します。 WebOTX JMSリソースの命名規則に従います。例:jms/esb1Queue
「送信用プロトコル」にJMSを設定した時には必ず設定する必要があります。
トランザクション連携 JMSとSOAP(WS-R)を使う時にトランザクション連携するかどうかを指定します。送受信両方で有効です True、Falseから選択します。デフォルト値はFalseです。
通信タイムアウト メッセージ送信後の応答待ちタイムアウト時間を指定します。送信側のみ有効です。(単位:秒) 「0-2147483647」の整数値。デフォルト値は150です。


9.1.2. 通信用リソースの作成

[8.1.1.ESBインスタンスの設定]で、送信用プロトコルに設定した値(SOAP、JMS、SOAP(WS-R))に応じて、 ドメインごとに以下の設定を行います。送信用プロトコルに指定していないプロトコルの設定は必要ありません。

9.1.2.1. JMSの設定

【図8.1.2a】「JMSリソースの構成」の表示画面

(1) JMSコネクションファクトリソースの作成

「JMS受信用コネクションファクトリのJNDI登録パス」でJNDI名を指定したコネクションファクトリソースを作成します。 コネクションファクトリソースを作成するには、統合運用管理ツールの[(ドメイン名)]-[リソース]-[JMSリソース]を右クリック、[コネクションファクトリソースの作成]を選択します。 「JNDI名」、「リソースタイプ」、「JMSサーバのホスト名」、「JMSサーバのホストのポート番号」を構築する環境に合わせて調整してください。 複数のJMSサーバを使用する場合は、ここでJMSサーバ毎のコネクションファクトリソースを作成します。

(2) JMSキューリソースの作成

ESBインスタンス毎に1つのキューを作成します。 コネクションファクトリソースを作成するには、統合運用管理ツールの[(ドメイン名)]-[リソース]-[JMSリソース]を右クリック、[送信先リソースの作成]を選択します。 このとき「JNDI名」には「JMS受信用キューのJNDI登録パス」で設定したJNDI名を指定します。

9.1.2.2. SOAPの設定

SOAPでのメッセージを受信するために proxy_soap_inbound_servlet.war を配備します。proxy_soap_inbound_servlet.warは以下に格納されています。

    <AS_INSTALL>/jbi/components/proxy/proxy_soap_inbound_servlet.war

WAR配備時に「SOAP受信用エンドポイントURL」で指定したコンテキストルートに配備オプションで調整します。 例えば、「SOAP受信用エンドポイントURL」に http://localhost:8080/proxybc-soap と指定した場合のコンテキストルートは "proxybc-soap" です。 otxadminコマンドを使用する場合は以下のようになります。

    otxadmin> login --user {ユーザ名} --password {パスワード}
    otxadmin> deploy --contextroot {コンテキストルート} {proxy_soap_inbound_servlet.warへのパス}