Oracle Fusion Middleware Oracle WebCenterエンタープライズ・デプロイメント・ガイド 11gリリース1(11.1.1) B55900-01 |
|
戻る |
次へ |
この章では、構成ウィザードを使用して、SOAコンポーネントを扱うことができるようにドメインを拡張する方法を説明します。このドメインは、第4章「ドメインの作成」で作成したものです。
重要: セットアップのプロセスを開始する前に、リリース・ノートに目を通してインストールとデプロイメントに関する補足の考慮事項を確認しておくことを強くお薦めします。 |
注意: SOAHOST1とSOAHOST2でSOAコンポーネントを実行する場合にのみ、この章の手順に従ってください。WebCenterトポロジでSOAコンポーネントを実行しない場合は、この章の手順を省略してかまいません。 |
この章の項目は次のとおりです。
Oracle Fusion Middleware for SOAは、SOAHOST1とSOAHOST2の両方にインストールする必要があります。これらのノードでは、SOAコンポーネントを使用して構成された管理対象サーバーが実行されます。
Oracle Fusion Middleware for SOAのインストーラを起動します。
SOAHOST1> runInstaller
インストーラからJRE/JDKの場所を指定することを要求された場合は、Oracle WebLogic Serverのインストール時に作成したOracle SDKの場所を入力します。たとえば、ORACLE_BASE/product/fmw/jrockit_160_05_R27.6.2-20とします。
「ようこそ」画面で、「次へ」をクリックします。
「前提条件のチェック」画面で、チェックが正常に完了したことを確認して、「次へ」をクリックします。
インストール先を指定します。すでにインストールされているミドルウェア・ホームをドロップダウン・リストから選択します。Oracleホーム・ディレクトリとして、ディレクトリ名soaを入力します。
「次へ」をクリックします。
「インストールの概要」画面で「インストール」をクリックします。
「インストール 完了」画面で「終了」をクリックします。
SOAドメインでは、SOA管理対象サーバーに仮想IP(VIP)を使用します。このVIPは、2台のSOAマシン(SOAHOST1のSOAHOST1VHN2およびSOAHOST2のSOAHOST2VHN1)で有効にする必要があります。VIPを有効にするには、第4.3項「SOAHOST1でのSOAHOST1VHN1の有効化」で説明している手順に従ってください。
この手順では、第4章「ドメインの作成」で作成したドメインを、SOAコンポーネントを扱うことができるように拡張します。この項では、SOAデプロイメントにおいて、WebCenterデプロイメントと同じデータベース・サービス(wcedg.mycompany.com)が使用されていることを前提としています。ただし、デプロイメントではSOA専用の別のデータベース・サービス(soaedg.mycompany.comなど)の使用を選択することもできます。
ディレクトリを構成ウィザードの場所に変更します。この場所はSOAホーム・ディレクトリにあります(すべてのデータベース・インスタンスを稼働状態にすることをお薦めします)。
SOAHOS1> cd ORACLE_BASE/product/fmw/soa/common/bin
SOAHOST1> ./config.sh
注意: ドメインの作成で使用したシェルおよび環境から構成ウィザードを実行する場合は、CONFIG_JVM_ARGS=-DTemplateCatalog.enable.selectable.all=true 変数を選択解除する必要があります。この選択を解除しないと、存在するすべてのテンプレートが構成ウィザードで表示されます。これらは、SOAコンポーネントを使用するためのドメインの拡張では不要です。 |
「ようこそ」画面で、「既存のWebLogicドメインの拡張」を選択し、「次へ」をクリックします。
「WebLogicドメイン・ディレクトリ」画面で、WebLogicドメイン・ディレクトリ(ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>
)を選択し、「次へ」をクリックします。
「拡張ソースの選択」画面で、次の手順を実行します。
「以下の追加製品をサポートするために、自動的にドメインを拡張する」を選択します。
次の製品を選択します。
ビジネス・ルール
ユーザー・メッセージング・サービス
ユーザー・メッセージング・サービス・ドライバ(SMS用、IM用、ボイス用)
ユーザー・メッセージング・サービス・ワークリスト・ドライバ
Oracle SOA Suite 11.1.1.0
次の製品はすでに選択されてグレー表示されています。これらの製品は、第4.4項「SOAHOST1での構成ウィザードを使用したドメインの作成」の手順でドメインを作成したときに選択されたものです。
WebLogic Serverの基本ドメイン
JRF
「次へ」をクリックします。
このドメインではOracle JRFが定義済であることを示す「競合の検出」メッセージが表示された場合は、「既存のコンポーネントを保持する」オプションを選択して、「OK」をクリックします。
「JDBCコンポーネント・スキーマの構成」画面(図5-1)で、次の手順を実行します。
表で「SOAインフラストラクチャ」、「ユーザー・メッセージング・サービス」および「SOA MDSスキーマ」が表示された各行を選択します。
「次のパネルで選択したコンポーネント・スキーマをRACマルチ・データ・ソース・スキーマとして構成します。」を選択します。
「次へ」をクリックします。
「RACマルチ・データ・ソース・コンポーネント・スキーマの構成」画面(図5-2)で、次の手順を実行します。
「SOAインフラストラクチャ」を選択します。
次の各フィールドに値を入力して、RCUでシードされたRACデータベースの接続情報を指定します。
ドライバ: 「Oracle driver (Thin) for RAC Service-Instance connections, Versions:10, 11」を選択します。
サービス名: データベースのサービス名を入力します(wcedg.mycompany.com
など)。
ユーザー名: スキーマの完全なユーザー名(接頭辞を含む)を入力します。図5-2に示すユーザー名では、RCUから作成されたスキーマの接頭辞にsoedg
が使用されたことが前提となっています。
パスワード: スキーマへのアクセスに使用するパスワードを入力します。
「追加」をクリックし、最初のRACインスタンスの詳細を入力します。
この手順をRACインスタンスごとに実行します。
「SOAインフラストラクチャ」を選択解除します。
「ユーザー・メッセージング・サービス」を選択します。
ユーザー・メッセージング・スキーマについて、前述のb、cおよびdの各手順を繰り返します。
「ユーザー・メッセージング・サービス」を選択解除します。
「SOA MDSスキーマ」を選択します。
SOA MDSスキーマについて、前述のb、cおよびdの各手順を繰り返します。
OWSM MDSスキーマの情報は変更しません。
「次へ」をクリックします。
「JDBCデータ・ソースのテスト」画面で、各接続のテストが自動的に行われます。「ステータス」列に結果が表示されます。すべての接続が成功したことを確認します。正常に接続できない場合は、「前へ」をクリックして前の画面に戻り、入力内容を修正します。
すべての接続に成功したら「次へ」をクリックします。
「オプションの構成を選択」画面で「管理対象サーバー、クラスタ、およびマシン」、「デプロイメントとサービス」の順に選択します。「次へ」をクリックします。
「管理対象サーバーの構成」画面で、必要な管理対象サーバーを追加します。
soa_server1
というサーバーが自動的に作成されます。このサーバーの名前をWLS_SOA1に変更して、表5-1に示す属性をこのサーバーに割り当てます。続いて、WLS_SOA2という新しいサーバーを追加します。管理対象サーバーであるWLS_WSM1とWLS_WSM2は、拡張するドメインに属しているのですでに存在しています。最終的に、管理対象サーバーのリストは表5-1のリストと一致する必要があります。
表5-1 管理対象サーバー
名前 | リスニング・アドレス | リスニング・ポート | SSLリスニング・ポート | SSL有効 |
---|---|---|---|---|
WLS_SOA1 |
VIP2 |
8001 |
n/a |
いいえ |
WLS_SOA2 |
VIP3 |
8001 |
なし |
いいえ |
WLS_WSM1 |
SOAHOST1 |
7010 |
なし |
いいえ |
WLS_WSM2 |
SOAHOST2 |
7010 |
なし |
いいえ |
「次へ」をクリックします。
表5-2 クラスタ
名前 | クラスタ・メッセージング・モード | マルチキャスト・アドレス | マルチキャスト・ポート | クラスタ・アドレス |
---|---|---|---|---|
SOA_Cluster |
ユニキャスト |
なし |
なし |
空白のままにします。 |
WSM-PM_Cluster |
ユニキャスト |
なし |
なし |
空白のままにします。 |
「次へ」をクリックします。
「サーバーのクラスタへの割当」画面で、次のようにサーバーをクラスタに割り当てます。
SOA_Cluster:
WLS_SOA1
WLS_SOA2
WSM-PM_Cluster:
WLS_WSM1
WLS_WSM2
「次へ」をクリックします。
「マシンの構成」画面で、次の手順を実行します。
デフォルトで表示される「LocalMachine」を削除します。
「Unixマシン」タブをクリックします。次のエントリが表示されます(表5-3)。
その他すべてのフィールドはデフォルト値のままにします。
「次へ」をクリックします。
「サーバーのマシンへの割当」画面で、次のようにサーバーをマシンに割り当てます。
SOAHOST1:
AdminServer
WLS_SOA1
WLS_WSM1
SOAHOST2:
WLS_SOA2
WLS_WSM2
「次へ」をクリックします。
「デプロイメントのクラスタまたはサーバーへのターゲット設定」画面で、次のターゲットを確認します。
usermessagingserverおよびusermessagingdriver-emailは、SOA_Clusterにのみターゲット設定する必要があります(usermessaging-xmpp、usermessaging-smppおよびusermessaging-voicexmlの各アプリケーションはオプションです)。
oracle.rules.*、oracle.sdp.*およびoracle.soa.*の各デプロイメントは、SOA_Clusterにのみターゲット設定する必要があります。
WSM-PMはWSM-PM_Clusterにのみターゲット設定する必要があります。
「DMSアプリケーション」は、SOA_Cluster、WSM-PM_Clusterおよび「管理サーバー」にターゲット設定する必要があります。
「次へ」をクリックします。
「サービスのクラスタまたはサーバーへのターゲット設定」画面で、次のターゲットを確認します。
「OWSM起動クラス」は、WSM-PM_Clusterにのみターゲット設定します。
mds-owsm、mds-owsm-rac0およびmds-owsm-rac1は、WSM-PM_ClusterおよびAdminServerの両方にターゲット設定します。
「次へ」をクリックします。
「WebLogicドメインの確認」画面で、「次へ」をクリックします。
ドメインを拡張しているため、「WebLogicドメインの拡張」画面に表示される各値は変更しないでください。「拡張」をクリックします。
注意: ドメイン構成ポートがホスト・ポートと競合していることを警告するダイアログが表示されますが、「OK」をクリックして閉じてください。この警告は、すでにインストールされているWSM-PMが原因で表示されます。 |
「ドメインの拡張」画面で、「完了」をクリックします。この構成を有効にするには、管理サーバーを再起動する必要があります。
管理サーバーを再起動して、ドメインに対する変更内容を適用します。
管理サーバーを停止します。
SOAHOST1> cd ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/bin SOAHOST1> ./stopWebLogic.sh
管理サーバーを起動します。
SOAHOST1> ./startWebLogic.sh
コンポジットのデプロイではマルチキャスト通信がデフォルトで使用されますが、SOAエンタープライズ・デプロイメントではユニキャスト通信の使用をお薦めします。セキュリティ上の理由からマルチキャスト通信を無効にしている場合は、ユニキャストを使用します。
注意: デプロイメントに使用するOracle Coherenceフレームワークの構成が正しくないと、SOAシステムを起動できないことがあります。SOAシステムを実行するネットワーク環境に応じて、デプロイメント・フレームワークを適切にカスタマイズする必要があります。この項で説明する構成の使用をお薦めします。 |
マルチキャスト通信を使用すると、クラスタの中でコンポジットの動的なデプロイメント先となるすべてのメンバーをOracle Fusion Middleware SOAで検出できます。しかし、ユニキャスト通信を使用した場合、この方法ではノードから他のクラスタ・メンバーを検出できません。したがって、クラスタに属するノードを指定する必要があります。ただし、クラスタのすべてのノードを指定する必要はありません。クラスタに追加した新しいノードから既存ノードのいずれかを検出するために必要な数のノードを指定するだけでかまいません。この結果、クラスタに追加した新しいノードからクラスタにある他のすべてのノードを検出できます。また、同じマシンで複数のIPを使用できるSOAエンタープライズ・デプロイメントなどの構成では、特定のホスト名を使用してOracle Coherenceクラスタを作成するようにOracle Coherenceを構成する必要があります。
tangosol.coherence.wka
<n>
システム・プロパティを使用してノードを指定します。ここで<n>
は1〜9の番号であり、指定できるノードは最大9個です。この番号は1から開始し、以降は順番に割り当てる必要があります。不連続な番号の割当てはできません。また、Oracle Coherenceでクラスタを作成するために使用するホスト名をtangosol.coherence.localhost
システム・プロパティで指定します。このローカル・ホスト名には、SOAサーバーでリスナーのアドレスとして使用する仮想ホスト名を指定する必要があります(SOAHOST1VHN2とSOAHOST2VHN1)。このプロパティを設定するには、Oracle WebLogic Server管理コンソールの「サーバーの起動」タブにある「引数」フィールドに-Dtangosol.coherence.localhost
パラメータを追加します(図5-3)。
図5-3 Oracle WebLogic Server管理コンソールの「サーバーの起動」タブを使用したホスト名の設定
Oracle Coherenceで使用するホスト名を追加するには、次の手順を実行します。
Oracle WebLogic Server管理コンソールにログインします。
「ドメイン構造」ウィンドウで「環境」ノードを開きます。
「サーバー」をクリックします。「サーバーの概要」ページが表示されます。
表の「名前」列にハイパーリンクで表示されているサーバーの名前(WLS_SOA1またはWLS_SOA2)をクリックします。選択したサーバーの「設定」ページが表示されます。
「ロックして編集」をクリックします。
「構成」タブをクリックして、「サーバーの起動」タブをクリックします。
WLS_SOA1とWLS_SOA2について、「引数」フィールドに次の値を入力します。
WLS_SOA1については次の値を入力します。
-Dtangosol.coherence.wka1=SOAHOST1VHN2 -Dtangosol.coherence.wka2=SOAHOST2VHN1 -Dtangosol.coherence.localhost=SOAHOST1VHN2
WLS_SOA2については次の値を入力します。
-Dtangosol.coherence.wka1=SOAHOST2VHN1 -Dtangosol.coherence.wka2=SOAHOST1VHN2 -Dtangosol.coherence.localhost=SOAHOST2VHN1
「保存」→「変更のアクティブ化」をクリックします。
注意: これらの変数が管理対象サーバーに正しく渡されることを確認する必要があります(これらの変数はサーバーの出力ログに記録されます)。Oracle Coherenceフレームワークに問題があると、soa-infraアプリケーションを起動できないことがあります。 |
注意: このマルチキャスト・アドレスとユニキャスト・アドレスは、WebLogic Serverクラスタでクラスタ通信に使用するものとは異なります。SOAでは、2つのエンティティ(WebLogic Serverクラスタおよびコンポジットのデプロイ先グループ)の通信プロトコルが異なる場合でも、単一のWebLogic Serverクラスタの各メンバーにコンポジットを確実にデプロイできます。 |
SOAHOST1上でWLS_SOA1管理対象サーバーを起動する前に、soa-createUDD.py
スクリプトを実行する必要があります。このスクリプトは、WLSTをオフラインで使用して実行します。
setDomainEnv.sh
スクリプトを実行して環境を設定します。
SOAHOST1>. ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/bin/setDomainEnv.sh
soa-createUDD.py
スクリプトを実行します。このスクリプトは、ORACLE_HOME/bin
ディレクトリにあります。
SOAHOST1> ORACLE_BASE/product/fmw/jrockit_160_05_R27.6.2-20/bin/java weblogic.WLST ORACLE_HOME/bin/soa-createUDD.py --domain_home ORACLE_BASE/admin/<domain_name>/aserver/<domain_name> --soacluster SOA_Cluster
管理サーバーを再起動します。第5.4項「管理サーバーの再起動」の手順を参照してください。
次のモジュールがOracle WebLogic Server管理コンソールに表示されることを確認します。
SOAJMSModuleUDDs
このモジュールを検証します。そのためには、まず「ドメイン構造」ウィンドウで「サービス」ノードを開き、Oracle WebLogic Server管理コンソールで「メッセージング」ノードを開きます。「JMSモジュール」を選択します。表の「名前」列で「SOAJMSMOduleUDDS」(これはハイパーリンクとして表示されています)を選択します。「サブデプロイメント」タブを開いて、「SOAJMSSubDM」をクリックします。
このモジュールが「SOAJMSServer_auto_1」と「SOAJMSServer_auto_2」にターゲット設定されていることを確認します。
UMSJMSSystemResource
このモジュールを検証します。そのためには、まず「ドメイン構造」ウィンドウで「サービス」ノードを開き、Oracle WebLogic Server管理コンソールで「メッセージング」ノードを開きます。「JMSモジュール」を選択します。表の「名前」列で「UMSJMSSystemResource」(これはハイパーリンクとして表示されています)を選択します。「サブデプロイメント」タブを開き、「UMSJMSSubDMSOA」をクリックします。
このモジュールが「UMSJMSServer_auto_1」と「UMSJMSServer_auto_2」にターゲット設定されていることを確認します。
この手順は、管理サーバーで様々なノードを認証するための適切な証明書を設定していない場合に必要です(第7章「ノード・マネージャの設定」を参照)。サーバー証明書を構成していないと、様々なWebLogicサーバーを管理する際にエラーが発生します。このエラーを回避するには、トポロジの設定と検証を行う際にホスト名の検証を無効にし、EDGトポロジの構成完了後に第7章「ノード・マネージャの設定」の説明に従って再びホスト名の検証を有効にします。
ホスト名の検証を無効にするには、次の手順を実行します。
Oracle WebLogic Server管理コンソールにログインします。
「ロックして編集」をクリックします。
「ドメイン構造」ウィンドウの「環境」ノードを開きます。
「サーバー」をクリックします。「サーバーの概要」ページが表示されます。
表の「名前」列で「WLS_SOA1」(これはハイパーリンクとして表示されています)を選択します。「設定」ページが表示されます。
「SSL」タブを選択します。
表示されたページの「詳細」セクションを開きます。
「ホスト名の検証」を「なし」に設定します。
「保存」をクリックします。
WLS_SOA2管理対象サーバーについてこの手順を繰り返します。
変更を保存してアクティブ化します。
SOAHOST1上でノード・マネージャを再起動するには、次の手順を実行します。
ノード・マネージャを停止します。
SOAHOST1> cd ORACLE_BASE/product/fmw/wlserver_10.3/server/bin SOAHOST1> ./stopNodeManager.sh
ノード・マネージャを起動します。
SOAHOST1> ./startNodeManager.sh
起動スクリプトとクラスパス構成を管理サーバーのドメイン・ディレクトリから管理対象サーバーのドメイン・ディレクトリに伝播するには、次の手順を実行します。
管理対象サーバーのドメイン・ディレクトリと管理対象サーバーのアプリケーション・ディレクトリのコピーを作成します。
次のコマンドを使用してこれらのディレクトリを移動します(両方のディレクトリを1行のコマンドで処理します)。
SOAHOST1> mv ORACLE_BASE/admin/<domain_name>/mserver/<domain_name> ORACLE_BASE/admin/<domain_name>/mserver/<domain_name>backup
次の一連のコマンドを使用し、SOAHOST1でpack
コマンドを実行してテンプレート・パックを作成します。
SOAHOST1> cd ORACLE_BASE/product/fmw/soa/common/bin SOAHOST1> ./pack.sh -managed=true -domain=ORACLE_BASE/admin/<domain_name>/aserver/<domain_name> -template=soadomaintemplateExtSOA.jar -template_name=soa_domain_templateExtSOA
次のようにunpack
コマンドをSOAHOST1上で実行して、伝播されたテンプレートを管理対象サーバーのドメイン・ディレクトリに解凍します。
SOAHOST1> ./unpack.sh -domain=ORACLE_BASE/admin/<domain_name>/mserver/<domain_name>/ -template=soadomaintemplateExtSOA.jar -app_dir=ORACLE_BASE/admin/<domain_name>/mserver/apps
SOAHOST1上でWLS_SOA1管理対象サーバーを起動するには、次の手順を実行します。
管理コンソール(http://SOAHOST1VHN1:7001/console
)にアクセスします。
「サーバー」をクリックします。
「制御」タブを開きます。
「WLS_SOA1」を選択します。
「起動」をクリックします。
注意: SOAHOST1VHN1は、SOAHOST1で管理サーバーがリスニングする仮想IPにマップされる仮想ホスト名です。 |
管理対象サーバーWLS_SOA1とWLS_WSM1を検証するには、次の手順を実行します。
管理コンソールに表示されるサーバーのステータスが「実行中」であることを確認します。サーバーのステータスが「起動しています」または「再開中です」である場合は、「起動済み」になるまで待ちます。「管理」や「失敗」などの別のステータスが表示される場合は、サーバーの出力ログ・ファイルを調べ、エラーがないかどうかを確認します。考えられる原因は、第11.5項「トラブルシューティング」を参照してください。
http://SOAHOST1VHN2:8001/soa-infra
にアクセスしてWLS_SOA1のステータスを確認します。
http://SOAHOST1:7010/wsm-pm
にアクセスしてWLS_WSM1のステータスを確認します。
http://SOAHOST1VHN2:8001/b2b
にアクセスしてB2Bのステータスを確認します。
http://SOAHOST1VHN2:8001/integration/worklistapp
にアクセスしてワークリスト・アプリケーションのステータスを確認します。
注意: WLS_SOAnにVIPを使用している場合、これらのURLはここにあげたものとは異なるものになります。 |
ドメイン構成を伝播するには、次の手順を実行します。
次のコマンドをSOAHOST1で実行し、前の手順で作成したテンプレート・ファイルをSOAHOST2にコピーします。
SOAHOST1> cd ORACLE_BASE/product/fmw/soa/common/bin SOAHOST1> scp soadomaintemplateExtSOA.jar oracle@node2:ORACLE_BASE/product/fmw/wlserver_10.3/common/bin
unpack
コマンドをSOAHOST2で実行し、伝播されたテンプレートを解凍します。
注意: SOAHOST2にある既存のドメイン・ディレクトリを削除する必要があります。削除しないと、この操作を正常に実行できません。unpack コマンドを実行すると、新しいドメイン・ディレクトリが自動的に作成されます。このため、unpack コマンドの実行場所であるノード(SOAHOST2)で稼動している管理対象サーバー(WLS_WSM2など)に固有の構成変更を実行済である場合は、これらの構成変更をもう一度実行する必要があります。 |
SOAHOST2> cd ORACLE_BASE/product/fmw/wlserver_10.3/common/bin SOAHOST2> ./unpack.sh -domain=ORACLE_BASE/admin/<domain_name>/mserver/<domain_name>/ -template=soadomaintemplateExtSOA.jar -app_dir=ORACLE_BASE/admin/<domain_dir>/mserver/apps
SOAHOST2でB2BのXEngineを有効にするには、次のようにXEngine tarの内容を手動で抽出する必要があります。
SOAHOST2>cd ORACLE_HOME/soa/thirdparty/edifecs SOAHOST2>tar -xzvf XEngine.tar.gz
第5.8項「SOAHOST1でのノード・マネージャの再起動」の手順をSOAHOST2で実行します。
次の手順を実行して、WLS_SOA2管理対象サーバーを起動し、このサーバーが正しく構成されていることを確認します。
管理コンソールを使用してWWLS_SOA2管理対象サーバーを起動します。
管理コンソールに表示されるサーバーのステータスが「実行中」であることを確認します。サーバーのステータスが「起動しています」または「再開中です」である場合は、「起動済み」になるまで待ちます。「管理」や「失敗」などの別のステータスが表示される場合は、サーバーの出力ログ・ファイルを調べ、エラーがないかどうかを確認します。考えられる原因は、第11.5項「トラブルシューティング」を参照してください。
http://SOAHOST2VHN1:8001/soa-infra
にアクセスします。
http://SOAHOST2VHN1:8001/b2b
にアクセスしてB2Bのステータスを確認します。
http://SOAHOST2VHN1:8001/integration/worklistapp
にアクセスしてワークリスト・アプリケーションのステータスを確認します。
WLS_SOAn管理対象サーバーが属するSOA_ClusterにOracle HTTP Serverからルーティングできるようにするには、WebLogicCluster
パラメータをこのクラスタにあるノードのリストに設定する必要があります。
WEBHOST1とWEBHOST2で、ORACLE_BASE/ admin/<instance_name>/config/OHS/<component_name>/mod_wl_ohs.confファイルに次の行を追加します。
# SOA soa-infra app <Location /soa-infra> SetHandler weblogic-handler WebLogicCluster SOAHOST1VHN2:8001,SOAHOST2VHN1:8001 </Location> # Worklist <Location /integration/> SetHandler weblogic-handler WebLogicCluster SOAHOST1VHN2:8001,SOAHOST2VHN1:8001 </Location> # B2B <Location /b2b> SetHandler weblogic-handler WebLogicCluster SOAHOST1VHN2:8001,SOAHOST2VHN1:8001 </Location> # UMS prefs <Location /sdpmessaging/userprefs-ui > SetHandler weblogic-handler WebLogicCluster SOAHOST1VHN2:8001,SOAHOST2VHN1:8001 </Location> # Default to-do taskflow <Location /DefaultToDoTaskFlow/> SetHandler weblogic-handler WebLogicCluster SOAHOST1VHN2:8001,SOAHOST2VHN1:8001 </Location> # Workflow <Location /workflow> SetHandler weblogic-handler WebLogicCluster SOAHOST1VHN2:8001,SOAHOST2VHN1:8001 </Location>
注意: /workflow のエントリは省略可能です。このエントリは、ADFタスク・フォームと関連付けられたワークフロー・タスク用です。/workflow のURL自体は、フォームに応じた別の値とすることができます。 |
WEBHOST1およびWEBHOST2で、Oracle HTTP Serverを再起動します。
WEBHOST1> ORACLE_BASE/admin/<instance_name>/bin/opmnctl restartproc ias-component=ohs1 WEBHOST2> ORACLE_BASE/admin/<instance_name>/bin/opmnctl restartproc ias-component=ohs2
WebLogicCluster
パラメータで指定したサーバーは、起動時のプラグインに対してのみ重要な役割を持ちます。このノードのリストには、実行しているクラスタ・メンバーを1つ以上記述しておく必要があります。記述しておかないと、このプラグインで他のクラスタ・メンバーを検出できません。Oracle HTTP Serverの起動時には、リストに記述したクラスタ・メンバーを実行している必要があります。Oracle WebLogic Serverとこのプラグインの連携により、クラスタに発生した新規のクラスタ・メンバー、失敗したクラスタ・メンバーおよびリカバリしたクラスタ・メンバーを反映してサーバーのリストが自動的に更新されます。
次に例を示します。
例1: 2つのノードで構成したクラスタに3番目のメンバーを追加する場合、そのメンバーを追加するために構成を更新する必要はありません。3番目のメンバーは、実行時にその場で検出されます。
例2: クラスタは3つのノードで構成されていても、構成に記述されているノードはそのうちの2つのみであるとします。Oracle HTTP Serverを起動するときにこの2つのノードが両方とも停止していると、プラグインはクラスタを検出できません。Oracle HTTP Serverを起動するときは、リストに記述したノードを1つ以上実行している必要があります。
クラスタのメンバーをすべてリストに記述した場合は、Oracle HTTP Serverの起動時にそのうちの1つ以上を実行しておくことで、クラスタに確実に到達できます。
WebLogic Serverプラグインの構成の詳細は、Oracle WebLogic ServerでWeb Serverプラグインを使用するOracle Fusion Middlewareのガイドを参照してください。
管理コンソールに表示されるサーバーのステータスが「実行中」であることを確認します。サーバーのステータスが「起動しています」または「再開中です」である場合は、「起動済み」になるまで待ちます。「管理」や「失敗」などの別のステータスが表示される場合は、サーバーの出力ログ・ファイルを調べ、エラーがないかどうかを確認します。考えられる原因は、第11.5項「トラブルシューティング」を参照してください。
次のURLにアクセスできることを確認します。webhostN
には、各Oracle HTTP Serverホストの名前を指定します(WEBHOST1
やWEBHOST2
など)。
http://webhostN:7777/soa-infra
http://webhostN:7777/integration/worklistapp
http://webhostN:7777/b2b
http://webhostN:7777/sdpmessaging/userprefs-ui
両方のOracle HTTP ServerインスタンスからSOA_Clusterを検証します。
ロード・バランサを介してシステムにアクセスするために、ロード・バランサの構成を参照します。
Oracle WebLogic Serverクラスタについて、フロントエンドHTTPのホストとポートを設定する必要があります。
WebLogic Server管理コンソールの「チェンジ・センター」セクションの「ロックして編集」をクリックします。
左ペインの「ドメイン構造」ウィンドウで「環境」を選択し、「クラスタ」を選択します。「クラスタの概要」ページが表示されます。
「WLS_SOA」クラスタを選択します。
「HTTP」を選択します。
次の値を設定します。
フロントエンド・ホスト: wc.mycompany.com
フロントエンドHTTPSポート: 443
「保存」をクリックします。
変更を有効にするために、管理コンソールの「チェンジ・センター」セクションの「変更のアクティブ化」をクリックします。
注意: フロントエンドHTTPのホストとポートを設定していない場合は、Oracle B2Bからドキュメント定義のXSDを取得しようとすると次のメッセージが表示されます。An error occured while loading the document definitions. java.lang.IllegalArgumentException: Cluster address must be set when clustering is enabled. |
SOAシステムでは、次のようにコールバックURLを計算します。
SOAへのリクエストが外部または内部のサービスから発行された場合、SOAはクライアントで指定されたコールバックURLを使用します。
外部または内部の非同期サービスへのリクエストがSOAから発行された場合は、次の方法でコールバックURLが決定されます。ここでは決定方法の優先度が高い順に示しています。
特定の参照用のバインド・プロパティとして指定されたcallbackServerURL
を使用します(このプロパティは、コンポジットのモデリング時または実行時にMBeansを使用して設定できます)。これにより、サービス呼出しごとに異なるコールバックURLを割り当てることができます。つまり、外部サービスからのコールバックURLには、内部サービスへのコールバックURLとは異なる値を設定できます。EDGアーキテクチャでの一般的なコールバックURLは、外部サービスについてはsoa.mycompany.com
(443/https)、内部サービスについてはsoainternal.mycompany.com
(7777/http)です。このプロパティは、システムMBeanブラウザに対応するバインドmbeanを通じ、実行時にシステムMBeanブラウザを使用して設定します。特定のURLを追加するには、そのProperties属性にcallbackServerURL
プロパティを追加してから保存操作を実行します。
soa-infra-config.xmlで指定したコールバックURLを使用します。この場合、指定できるアドレスは1つのみです。外部サービスと内部サービスの両方を組み合せて呼び出し可能な場合は、EDGアーキテクチャでこのアドレスをsoa.mycompany.com
(443/https)に設定する必要があります。内部サービスのみを呼び出す場合は、このアドレスをsoainternal.mycompany.com
(7777/http)に設定します。
SOA_ClusterのWLSで指定するフロントエンド・ホストとして、このコールバックURLを使用します。この場合も指定できるアドレスは1つのみなので、soa-infra-config.xmlの場合と同じ処理をお薦めします。
WLS MBean APIで指定されたローカル・ホスト名を使用します。EDGなどのHA環境では、この方法はお薦めできません。
すべての永続ストアの場所を、両ノードから認識できるディレクトリとして構成します。詳細は、第4.1項「Oracle Fusion Middlewareホームのインストール」を参照してください。次のように、この共有ベース・ディレクトリを使用するようにすべての永続ストアを変更する必要があります。
Oracle WebLogic Server管理コンソールにログインします。
「ドメイン構造」ウィンドウの「サービス」ノードを開いて「永続ストア」ノードをクリックします。「永続ストアの概要」ページが表示されます。
表の「名前」列で、該当の永続ストア(これはハイパーリンクとして表示されています)を選択します。その永続ストアの「設定」ページが表示されます。
「構成」タブの「ディレクトリ」フィールドに、クラスタにある他のサーバーで使用できる永続記憶域ソリューション(NASやSANなど)上の場所を入力します。この場所を指定すると、JMSの保留メッセージを送信できます。この場所は、次のディレクトリ構造であることが必要です。
ORACLE_BASE/admin/<domain_name>/<soa_cluster_name>/jms
注意: WLS_SOA1とWLS_SOA2の両方からこのディレクトリにアクセスできる必要があります。また、サーバーを再起動する前に、このディレクトリが存在している必要があります。 |
「保存」をクリックして変更内容を有効にします。
サーバーを再起動して永続ストアの変更内容を有効にします。
各サーバーには、サーバーがコーディネートした、完了していない可能性のあるコミット済トランザクションに関する情報を格納するトランザクション・ログが用意されています。WebLogic Serverでは、システム・クラッシュやネットワーク障害からのリカバリ時にこのトランザクション・ログを使用します。クラスタにあるサーバーに対してトランザクション・リカバリ・サービスの移行機能を活用するには、サーバーとそのバックアップ・サーバーからアクセスできる場所にトランザクション・ログを格納します。
注意: デュアルポートのSCSIディスクまたはストレージ・エリア・ネットワーク(SAN)をこの場所とすることをお薦めします。 |
デフォルト永続ストアの場所を設定するには、次の手順を実行します。
Oracle WebLogic Server管理コンソールにログインします。
「ドメイン構造」ウィンドウの「環境」ノードを開き、「サーバー」ノードをクリックします。「サーバーの概要」ページが表示されます。
表の「名前」列にあるサーバーの名前(ハイパーリンクとして表示されています)をクリックします。選択したサーバーの「設定」ページが表示され、デフォルトで「構成」タブが選択状態になります。
「サービス」タブをクリックします。
表示されたページの「デフォルト・ストア」セクションで、デフォルトの永続ストアのデータ・ファイルを格納するフォルダのパスを入力します。このパスのディレクトリ構造は次のとおりです。
ORACLE_BASE/admin/<domain_name>/<soa_cluster_name>/tlogs
「保存」をクリックします。
注意: トランザクション・リカバリ・サービスの移行を有効にするには、クラスタにある他のサーバーが使用できる永続記憶域ソリューションの場所を指定します。WLS_SOA1とWLS_SOA2の両方からこのディレクトリにアクセスできる必要があります。また、サーバーを再起動する前に、このディレクトリが存在している必要があります。 |
OracleファイルとFTPアダプタを使用すると、BPELプロセスやOracle MediatorでFTP(ファイル転送プロトコル)を使用して、ローカルとリモートのファイル・システムにあるファイルの読取りと書込みができます。これらのアダプタは、インバウンドとアウトバウンドの両方の操作に対し、Oracle BPEL Process ManagerとOracle Mediatorサービス・エンジンを使用してアクティブ/アクティブ・トポロジの高可用性をサポートします。アウトバウンド操作に対してOracleファイルとFTPアダプタの高可用性を実現するには、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』のアウトバウンド操作での高可用性に関する項の説明に従って、データベースのmutex lockを使用します。データベースのmutex lock操作を使用すると、複数の参照から同じディレクトリへの書込みが発生しても、これらのアダプタでは相互の上書きを防止できます。
注意: ファイル・アダプタは、インバウンド・ディレクトリからファイルを取得して処理し、出力ディレクトリにファイルを出力します。ファイル・アダプタでの処理はトランザクション方式ではないので、ファイルは2回処理できます。この結果として、RACバックエンドまたはSOA管理対象サーバーでフェイルオーバーが発生したときに、重複するファイルが得られる可能性があります。 |
データベース表をコーディネータとして使用することで、アウトバウンドのOracleファイルやFTPアダプタのサービスに高可用性を実現します。そのためには次の手順を実行します。
注意: データベースをコーディネータとして使用する場合は、グローバル・トランザクション・タイムアウトの値を大きくする必要があります。 |
データベース表の作成
データベース・スキーマはsoainfraの一部として事前に作成済なので、この手順を実行する必要はありません。
Oracleファイル・アダプタのデプロイメント・ディスクリプタの変更
eis/HAFileAdapter
に対応する接続インスタンスについて、Oracle WebLogic ServerコンソールからOracleファイル・アダプタのデプロイメント・ディスクリプタを変更します。
Oracle WebLogic Serverコンソールにログインします。このコンソールにアクセスするには、http://
servername
:portnumber
/console
にアクセスします。
「ドメイン構造」の左ペインで「デプロイメント」をクリックします。
右ペインの「デプロイメントの概要」で「FileAdapter」をクリックします。
「構成」タブをクリックします。
「アウトバウンド接続プール」タブをクリックして「javax.resource.cci.ConnectionFactory」を開き、構成済の接続ファクトリを表示します(図5-4を参照)。
「eis/HAFileAdapter」をクリックします。高可用性に対応する接続ファクトリの「アウトバウンド接続のプロパティ」が表示されます。
図5-4に示すように、接続ファクトリのプロパティが表示されます。
図5-4 Oracle WebLogic Serverコンソール - 「javax.resource.cci.Connectionfactoryの設定」ページ
「ロックして編集」をクリックします。これにより、プロパティ値の列が編集可能になります(「プロパティ値」列で任意の行をクリックしてその値を変更できます)。
OracleファイルとFTPアダプタの接続ファクトリの新しいパラメータは次のとおりです。
controlDir
: 制御ファイルを格納するディレクトリ構造に設定します。1つのクラスタの中で複数のWebLogic Serverインスタンスを実行する場合は、この値を共有場所に設定する必要があります。この共有記憶域のディレクトリは次のような構造にします。
ORACLE_BASE/admin/<domain_name>/<cluster_name>/fadapter
inboundDataSource
: jdbc/SOADataSource
に設定します。これは、高可用性に対応するスキーマを事前に作成する場所であるデータ・ソースです。事前作成スキーマはORACLE_HOME/ rcu/integration/soainfra/sql/adapter/createschema_adapter_oracle.sql
にあります。事前作成スキーマを別の場所で作成する場合は、このスクリプトを使用します。別のスキーマを選択する場合は、それに応じてinboundDataSourceプロパティを設定する必要があります。
outboundDataSource
: jdbc/SOADataSource
に設定します。これは、高可用性に対応するスキーマを事前に作成する場所であるデータ・ソースです。事前作成スキーマはORACLE_HOME/ rcu/integration/soainfra/sql/adapter/createschema_adapter_oracle.sql
にあります。事前作成スキーマを別の場所で作成する場合は、このスクリプトを使用します。その場合は、outboundDataSourceプロパティを設定する必要があります。
outboundLockTypeForWrite
: Oracle Databaseを使用している場合は、この値をoracle
に設定します。デフォルトでは、OracleファイルとFTPアダプタはメモリー内mutexを使用してアウトバウンドの書込み操作をロックします。書込み操作を同期化するには、次の値のいずれかを選択する必要があります。
memory
: OracleファイルとFTPアダプタはメモリー内mutexを使用してファイル・システムへのアクセスを同期化します。
oracle: アダプタはOracle Databaseシーケンスを使用します。
db
: アダプタは事前作成されたデータベース表(FILEADAPTER_MUTEX
)をロック・メカニズムとして使用します。このオプションは、Oracle Databaseスキーマ以外のスキーマを使用している場合にのみ使用します。
user-defined
: アダプタはユーザー定義のmutexを使用します。ユーザー定義のmutexを構成するには、mutexインタフェースoracle.tip.adapter.file.Mutex
を実装し、新しいバインド・プロパティoracle.tip.adapter.file.mutex
を構成して、その値にアウトバウンド参照のmutexの完全修飾クラス名を指定します。
これらのプロパティを更新した後、「保存」をクリックします。「デプロイメント・プランの保存」ページが表示されます。
デプロイメント・プランの共有記憶域場所を入力します。そのディレクトリ構造は次のとおりです。
ORACLE_BASE/admin/<domain_name>/<cluster_name>/dp/Plan.xml
「保存してアクティブ化」をクリックします。
次の例のように、接続ファクトリが使用されるようにBPELプロセスまたはMediatorシナリオを構成します。
<adapter-config name="FlatStructureOut" adapter="File Adapter" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata"> <connection-factory location="eis/HAFileAdapter" adapterRef=""/> <endpoint-interaction portType="Write_ptt" operation="Write"> <interaction-spec className="oracle.tip.adapter.file.outbound.FileInteractionSpec"> <property../> <property../> </interaction-spec> </endpoint-interaction> </adapter-config>
注意: location属性は、接続ファクトリのeis/HAFileAdapter に設定されています。 |
複数のOracle BPEL Process ManagerノードまたはOracle Mediatorノードにデプロイする複数のOracleデータベース・アダプタ・プロセス・インスタンスにおける最善の手法は、ポーリング・ノードごとに一意のMarkReservedValue
を設定し、さらにMaxTransactionSize
を設定して、LogicalDeletePollingStrategy
またはDeletePollingStrategy
を使用することです。例5-1には、.jca
ファイルに記述したDeletePollingStrategy
でMarkReservedValue
を使用する方法を示しています。
例5-1 DeletePollingStrategyでMarkReservedValueを使用する方法を示す.jca
<adapter-config name="poll" adapter="Database Adapter" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata"> <connection-factory location="eis/DB/SOADemo" UIConnectionName="SOADemo" adapterRef=""/> <endpoint-activation portType="poll_ptt" operation="receive"> <activation-spec className="oracle.tip.adapter.db.DBActivationSpec"> <property name="DescriptorName" value="poll.PerfMasterIn"/> <property name="QueryName" value="pollSelect"/> <property name="MappingsMetaDataURL" value="poll-or-mappings.xml"/> <property name="PollingStrategy" value="DeletePollingStrategy"/> <property name="MarkReadColumn" value="ATTRIBUTE2"/> <property name="MarkReservedValue" value=MyPrefix_${weblogic.Name-1}-${IP}"/> <property name="MarkUnreadValue" value="UNREAD"/> <property name="PollingInterval" value="5"/> <property name="MaxRaiseSize" value="5"/> <property name="MaxTransactionSize" value="10"/> <property name="SequencingColumn" value="PK"/> <property name="ReturnSingleResultSet" value="false"/> </activation-spec> </endpoint-activation> </adapter-config>
詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』のスケーラビリティに関する項とポーリング方針に関する項を参照してください。
拡張したドメインが正常に動作していることを確認した後、そのインストール内容をバックアップします。これは、以降の手順で問題が発生した場合に短時間でリストアできることを考慮した迅速なバックアップです。バックアップ先はローカル・ディスクです。エンタープライズ・デプロイメントの設定が完了すれば、このバックアップは破棄してかまいません。その時点では、デプロイメント固有の定期的なバックアップ手順とリカバリ手順を実行できるようになっています。詳細は、Oracle Fusion Middlewareの管理者ガイドを参照してください。バックアップおよびリストアを必要とするOracle HTTP Serverのデータの記述の詳細は、このガイドでOracle HTTP Serverのバックアップとリカバリの推奨事項に関する項を参照してください。コンポーネントのリカバリ方法に関する詳細は、このガイドでコンポーネントのリカバリに関する項およびコンポーネントが失われた後のリカバリに関する項を参照してください。ホストが失われた場合のリカバリに固有の推奨事項は、このガイドで別のホストへのOracle HTTP Serverのリカバリに関する項を参照してください。データベースのバックアップに関する詳細は、『Oracle Database Backup and Recovery Guide』も参照してください。
この時点でインストールをバックアップする手順は次のとおりです。
Web層をバックアップする手順は次のとおりです。
opmnctl
を使用してインスタンスを停止します。
ORACLE_BASE/admin/<instance_name>/bin/opmnctl stopall
次のコマンドをroot権限で実行して、Web層のミドルウェア・ホームをバックアップします。
tar -cvpf BACKUP_LOCATION/web.tar $MW_HOME
次のコマンドをroot権限で実行して、Web層のインスタンス・ホームをバックアップします。
tar -cvpf BACKUP_LOCATION/web_instance.tar $ORACLE_INSTANCE
opmnctl
を使用してインスタンスを起動します。
ORACLE_BASE/admin/<instance_name>/bin/opmnctl startall
データベースをバックアップします。これは、Oracle Recovery Manager(推奨)またはtar
などのOSツールを使用したデータベース全体のホット・バックアップまたはコールド・バックアップです。OSツールを使用する場合は、可能なかぎりコールド・バックアップをお薦めします。
管理サーバーのドメイン・ディレクトリをバックアップしてドメイン構成を保存します。構成ファイルは、すべてORACLE_BASE/admin/<domain_name>
ディレクトリの下にあります。
SOAHOST1> tar -cvpf edgdomainback.tar ORACLE_BASE/admin/<domain_name>
注意: ORACLE_HOMEのバックアップは、B2B設定の一部であるXEngine構成が変更されたときに実行する必要があります。対象のファイルは、ORACLE_HOME/soa/thirdparty/edifecs/XEngine にあります。ORACLE_HOMEをバックアップするには、次のコマンドを実行してください。
SOAHOST1> tar -cvpf fmwhomeback.tar ORACLE_BASE/product/fmw |