ヘッダーをスキップ
Oracle® Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド
11g リリース1 (11.1.1.6.0)
B55916-06
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

3 SOAインフラストラクチャの構成

この章では、SOAインフラストラクチャのプロパティ(監査レベル、コンポジット・インスタンスの状態、ペイロードの検証を含む)の構成方法について説明します。これらのプロパティ設定は、SOAインフラストラクチャで実行されているすべてのSOAコンポジット・アプリケーションに適用できます。また、ローカルの最適化の構成方法、および管理対象サーバーとSOAインフラストラクチャの起動と停止方法についても説明します。

この章の内容は次のとおりです:

詳細は、第1.2.1項「SOAインフラストラクチャ・アプリケーションの概要」を参照してください。

3.1 SOAインフラストラクチャ・プロパティの構成

SOAインフラストラクチャの次のプロパティを構成できます。

このレベルで設定したプロパティは、コンポジット・アプリケーションまたはサービス・エンジン・レベルで異なる監査レベル値を明示的に設定したコンポジットを除いて、すべてのデプロイ済SOAコンポジット・アプリケーションに影響を与えます。

SOAインフラストラクチャの追加の拡張プロパティは、システムMBeanブラウザを使用して構成できます。これらのプロパティには、この項で説明するように、「共通プロパティ」ページの「詳細SOAインフラ拡張構成プロパティ」リンクからアクセスするか、または「SOAインフラストラクチャ」メニューから「管理」「システムMBeanブラウザ」「アプリケーション定義のMBean」「oracle.as.soainfra.config」の順に選択してアクセスできます。

SOAインフラストラクチャ・プロパティを構成する手順は、次のとおりです。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから... 「SOAコンポジット」メニューからアクセスする手順
    1. 「SOA管理」「共通プロパティ」の順に選択します。
    1. 「soa-infra」を右クリックします。
    2. 「SOA管理」「共通プロパティ」の順に選択します。

    1. 「SOAインフラストラクチャの共通プロパティ」を選択します。

    「SOAインフラストラクチャの共通プロパティ」ページには、次のプロパティが表示されます。


    注意:

    一部のプロパティ・フィールドには、緑と赤の矢印アイコンが表示されています。これらのプロパティを変更する場合は、SOAインフラストラクチャを再起動する必要があります。

    soaadmin_common_props.gifの説明が続きます
    図版soaadmin_common_props.gifの説明

    次の表に、ページの上部に表示されるプロパティの説明を示します。

    要素 説明
    監査レベル メッセージ・トラッキング・インフラストラクチャによって収集する情報のレベルを選択します。この情報は、SOAインフラストラクチャに関連付けられたインスタンス・データ・ストア(データベース)に収集されます。この設定は、ログ・ファイルに書き込まれる内容には影響を与えません。
    • オフ: コンポジット・インスタンスのトラッキング情報とペイロード・トラッキング情報は収集されません。コンポジット・インスタンスはこれ以上作成できません。また、ロギングは実行されません。Oracle Enterprise Manager Fusion Middleware Controlでロギングとインスタンスの表示を無効にすると、インスタンスの処理でパフォーマンスがわずかに向上することがあります。インスタンスは作成されますが表示されません。

    • 開発: コンポジット・インスタンスのトラッキングとペイロード詳細のトラッキングの両方を有効にします。ただし、この設定はパフォーマンスに影響を与える可能性があります。このレベルは通常、テストおよびデバッグする際に便利です。

    • 本番: コンポジット・インスタンスのトラッキングは収集されますが、Oracle Mediatorサービス・エンジンではペイロード詳細が収集されず、BPELプロセス・サービス・エンジンではassignアクティビティのペイロード詳細が収集されません(その他のBPELアクティビティのペイロード詳細は収集されます)。このレベルは、通常の本番操作に最適です。

    コンポジット・インスタンスの状態をキャプチャ 選択すると、SOAコンポジット・アプリケーション・インスタンス状態が取得されます。このオプションを有効化すると、インスタンス処理中に追加の実行時オーバーヘッドが発生する場合があります。このオプションでは、実行中のインスタンスのトラッキングが別々に実行されます。すべてのインスタンスは、実行中か未実行のいずれかとして取得されます。この情報は、後でSOAインフラストラクチャおよびSOAコンポジット・アプリケーションのコンポジット・インスタンス表の「状態」列に表示されます。
    • 合計インスタンス数に対する実行中のインスタンス数が表示されます。

    • 実行中のインスタンスのみを表示するように制限することもできます。

    有効な状態は「実行中」、「完了」、「失敗」、「リカバリが必要」、「失効」、「終了」および状態使用不可です。

    「実行中」および「完了」状態は、このチェック・ボックスが選択されている場合のみキャプチャされます。選択されていない場合、状態は「不明」に設定されます。これらの状態を条件付きでキャプチャする主な理由は、SOAインフラストラクチャのランタイムにおけるパフォーマンス・オーバーヘッドを軽減するためです。

    注意: このプロパティを無効にしてSOAコンポジット・アプリケーションの新規インスタンスを作成した場合、新規インスタンスは作成されますが、コンポジット・アプリケーションの「ダッシュボード」ページの表にそのインスタンスは「実行中」、「失敗」、「失効」、「終了」、「完了」またはリカバリが必要と表示されません。これは、インスタンスのコンポジット状態をキャプチャする処理がパフォーマンスに影響を与えるためです。

    たとえば、このプロパティを有効にし、「Webサービスのテスト」ページでSOAコンポジット・アプリケーション・インスタンスを作成した場合、新規インスタンスはコンポジット・アプリケーションの「ダッシュボード」ページに表示されます。「ダッシュボード」ページで「実行中のインスタンスのみ表示」をクリックすると、インスタンスは「実行中」と表示されます。次に、このプロパティを無効にし、同じコンポジット・アプリケーションの別のインスタンスを作成した場合は、新規の実行中のインスタンスが作成されます。ただし、「実行中のインスタンスのみ表示」を選択すると、新規インスタンスは実行中のインスタンスの表にリストされません

    さらに、実行中のインスタンスを終了するには、インスタンスがある状態(実行中、失敗など)にあることが必要です。その結果、SOAコンポジット・アプリケーションの「インスタンス」ページで「中断」ボタンがアクティブになります。インスタンスを作成する前にこのチェック・ボックスを有効にしなかった場合、「中断」ボタンはアクティブにならないため、インスタンスを終了できません。

    ペイロードの検証 受信メッセージと送信メッセージの検証を有効にする場合に選択します。スキーマに準拠しないペイロード・データが捕捉され、フォルトとして表示されます。

  2. 使用環境に適した変更を行います。

    「UDDIレジストリ・プロパティ」セクションには、次のプロパティが表示されます。SOAインフラストラクチャで実行されているSOAコンポジット・アプリケーションは、UDDIレジストリに統合できます。このUDDIレジストリでは、公開サービスの検索、およびサービスに関するメタデータの管理(セキュリティ、トランスポートまたはサービスのクオリティ)を実行するための標準ベースの基盤が提供されます。ニーズを満たす公開サービスを参照して選択できます。

    「ユーザー」および「パスワード」プロパティは、UDDIレジストリが保護されている場合に適用できます。これらのプロパティは、Oracle Service Registry(OSR)のセキュアHTTP構成にのみ使用されます。「照会URL」プロパティはパブリックです。

    要素 説明
    照会URL 問い合せるマスター・レジストリのURLを入力します。このURLでスレーブ・レジストリ自体を参照しないでください。参照すると、データの一部を失う可能性があります。照会URLによって、完全標準のUDDIバージョン3構造が取得されます。これは、UDDIレジストリ接続の作成ウィザードで指定したUDDI照会URLと同じです。 http://master.mycompany.com:8888/registry/uddi/inquiry
    ユーザー レジストリ照会ユーザーを入力します。 admin
    パスワード マスター・レジストリ照会ユーザーのパスワードを入力します。 適切なセキュリティ・プラクティスを使用したパスワードを入力してください。

    エンドポイント参照とサービス・キーの設定の詳細は、第34.1.3項「Oracle Service Registryと統合している場合のエンドポイント参照およびサービス・キーの変更」を参照してください。

  3. 使用環境に適した変更を行います。

    「サーバーURL」セクションには、次のプロパティが表示されます。ここでプロパティを明示的に設定しない場合、プロパティ値は実行時にOracle WebLogic Serverクラスタ、Webサーバーまたはローカル・サーバーのプロパティを問い合せて決定されます。

    要素 説明
    コールバック・サーバーURL コールバック・サーバーURLを入力します。このURLは、起動情報の一部としてサーバーから外部サービス・プロバイダに送信されます。
    サーバーURL サーバーURLを入力します。このURLは、具体的なWSDLファイルでサービスのSOAPアドレスの一部として公開されます。

    注意: 10.1.xリリースでは、optSoapShortcutプロパティを使用してSOAPの最適化を手動で構成していました。リリース11gでは、SOAPの最適化は自動的に構成されます。したがって、11gにアップグレードし、既存のアプリケーションで最適化されたショートカットを使用する場合、最適化されたコールがアクティブになるのは、ホスト名の値(composite.xmlファイルのWSDL URLを参照)と「サーバーURL」の値が一致する場合のみです。両方の値をホスト名(例: myhost)または完全ドメイン名(例: myhost.domain.com)に設定してください。両方の値が一致しない場合は、最適化されたローカル・コールではなく、通常のSOAPコールが実行されます。



    注意:

    「コールバック・サーバーURL」および「サーバーURL」の値を変更する場合は(たとえば、テスト環境から本番環境に移行する場合)、WSDLを再生成するためにOracle WebLogic Serverを再起動する必要があります。

  4. 使用環境に適した変更を行います。

    「データ数の表示」セクションには、ページのロードにかかる時間を短縮するための、次のプロパティが表示されます。


    注意:

    これらのプロパティに対する変更は、このOracle Enterprise Managerインスタンスに関連付けられているすべてのSOAファームに影響します。

    要素 説明
    インスタンス数およびフォルト数をフェッチするメトリックを無効にします。この場合でも各メトリックは必要に応じて取得できます。 SOAインフラストラクチャ、SOAコンポジット・アプリケーション、サービス・エンジンおよびサービス・コンポーネントの「ダッシュボード」ページでインスタンス数およびフォルト数のメトリックの表示を無効にする場合に選択します。

    これらのメトリックは、インスタンス数とフォルト数のメトリックが必要な場合にクリックしてこの情報を取得するためのリンクで置換されます。この設定により、ページのロードにかかる時間を短縮できます。

    インスタンス数とフォルト数のメトリックを取得するリンクをクリックするとOracle Enterprise Manager Fusion Middleware Controlがタイムアウトする場合は、トランザクション・タイムアウト・プロパティを増やします。詳細は、B.5.1項「インスタンスおよびフォルトのメトリックのあるページのロードの最適化」を参照してください。

    インスタンスとフォルトの表示を次に制限: 過去time_period このチェック・ボックスを選択し、次のページに表示する最近のインスタンス、フォルトおよび数のメトリックを取得する期間を指定します。
    • SOAインフラストラクチャ、SOAコンポジット・アプリケーション、サービス・エンジンおよびサービス・コンポーネントのダッシュボード・ページ

    • SOAインフラストラクチャおよびサービス・エンジンの「デプロイ済コンポジット」ページ

    • 「パーティション」ホーム・ページ

    デフォルトで、このチェック・ボックスは選択済で、期間は24時間(1日)に設定されています。このチェック・ボックスが選択されていない場合は、最後のパージ以降のSOAインフラストラクチャにおけるインスタンスとフォルト(数のメトリックを含む)がすべて表示されます。

    指定した期間は、フォルトを検索できるフォルト・ページの「フォルト時間の開始」フィールドおよびインスタンスを検索できる「インスタンス」ページの「開始時間: 自」フィールドにデフォルトで表示されます。

    このチェック・ボックスを選択し、期間を指定すると、SOAインフラストラクチャ、SOAコンポジット・アプリケーション、サービス・エンジンおよびサービス・コンポーネントの「ダッシュボード」ページで「すべて表示」リンクが「詳細の表示」リンクに変わります。


    詳細は、第B.5.1項「インスタンスおよびフォルトのメトリックのあるページのロードの最適化」を参照してください。

  5. 使用環境に適した変更を行います。

  6. 「拡張」セクションを開きます。

    soaadmin_common_props2.gifの説明が続きます
    図版soaadmin_common_props2.gifの説明

    「データソース」セクションには、次のプロパティが表示されます。データソースを使用すると、データベース・サーバーへの接続を取得できます。

    要素 説明
    サーバー・データ・ソースJNDI サーバー・データソースのJNDIロケーションが表示されます。「構成」をクリックして、Oracle WebLogic Server管理コンソールのデータソース構成ページに進みます。このデータソースに対しては、グローバル・トランザクション・サポートを無効にする必要があります。 jdbc/SOALocalTxDataSource
    サーバー・トランザクション・データ・ソースJNDI サーバー・トランザクション・データソースのJNDIロケーションが表示されます。「構成」をクリックして、Oracle WebLogic Server管理コンソールのデータソース構成ページに進みます。グローバル・トランザクションのデータソースを構成する必要があります。 jdbc/SOADataSource
    致命的でない接続の再試行回数 失敗するまでに致命的でない接続エラーを再試行できる最大回数を入力します。このタイプのエラーは、デハイドレーション・ストアでの接続エラー(Oracle Real Application Clustersのフェイルオーバー、データベース停止など)に対して発生します。 10

  7. 使用環境に適した変更を行います。

    「Webサービス・バインディング・プロパティ」セクションには、次のオプションが表示されます。

    要素 説明
    Oracle SSL暗号 Oracleでサポートされている暗号のリストを入力します。

    暗号スイートは、データ送信に対してセキュリティを提供する一連のアルゴリズムです。SSL接続内でのデータの移動を可能にするには、使用する共通アルゴリズムについて、接続の両側がネゴシエーションする必要があります。

    SSL_RSA_WITH_RC4_128_MD5
    Oracle Walletパスワード キーストア用のウォレット・パスワードを入力します。 適切なセキュリティ・プラクティスを使用したパスワードを入力してください。
    チャンクの使用 SOAP over HTTP配信のデータのチャンク化を有効にする場合に選択します。 - -
    チャンク・サイズ チャンク・サイズを指定します。値は999以下である必要があります。このサイズはSOAP over HTTP配信で使用され、バイト単位で指定します。 500

  8. 使用環境に適した変更を行います。

  9. 「適用」をクリックします。

  10. プロパティを変更した後に元の値にリセットする場合は、「元に戻す」をクリックします。

  11. 拡張パラメータを変更するには、「詳細SOAインフラ拡張構成プロパティ」をクリックします。これにより、「システムMBeanブラウザ」が開きます。表示されるプロパティの一部を次に示します。各プロパティには説明が記載されています。

3.1.1 システムMBeanブラウザを使用した、インスタンス数とフォルト数のメトリックの取得の無効化

第3.1項「SOAインフラストラクチャ・プロパティの構成」で説明したように、「SOAインフラストラクチャの共通プロパティ」ページの「データ数の表示」セクションでインスタンス数とフォルト数のメトリックの取得を無効にできます。

システムMBeanブラウザを使用して、インスタンス数とフォルト数のメトリックの取得を無効化する手順は、次のとおりです。

「システムMBeanブラウザ」でこのプロパティを変更することもできます。

  1. 「アプリケーション定義のMBean」「emom.props」「サーバー: AdminServer」「アプリケーション: em」「プロパティ」「emoms.properties」の順に選択します。

    emoms.propertiesは、「SOAインフラストラクチャの共通プロパティ」ページの「データ数の表示」セクションで「インスタンス数とフォルト数のメトリックのフェッチの無効化」オプションを変更した場合にのみ選択できます。

  2. 「属性」タブの「名前」列で「プロパティ」をクリックします。

  3. 「値」列で、「Element_20」を展開します。

  4. 「要素」列で、「false」と入力してメトリック取得を無効にします。

  5. 「適用」をクリックします。

  6. SOAインフラストラクチャを再起動します。「SOAインフラストラクチャの共通プロパティ」ページの「データ数の表示」セクションで「インスタンス数とフォルト数のメトリックのフェッチの無効化」オプションを変更した場合は、再起動は不要です。

3.2 ローカルの最適化の構成

ローカルの最適化とは、2つのSOAコンポジット・アプリケーションが同じSOAサーバー(JVM)にある環境で、直接Java呼出しによってSOAコンポジット・アプリケーションが別のSOAコンポジット・アプリケーションを呼び出すプロセスです。

一般的に、直接Java呼出しはSOAP over HTTPコールより効率的です。したがって、直接Java呼出しの条件を満たしている場合は常に、Oracle SOA Suiteでは、同じ場所に存在するコンポジット間のサービス・コールを最適化します。

3.2.1 ローカルの最適化を使用するための条件チェック

Oracle SOA Suiteでは、ローカルの最適化が可能かどうかを判断するために、次の条件チェックを実行します。

  • コンポジット間呼出しである必要があります。これは最も基本的な条件で、クライアント・サービスとターゲット・サービスの両方が同じSOAインフラストラクチャ(つまり、同じSOAサーバー)に基づいて実装されている場合に、直接Javaコールが可能になります。

  • 参照(ターゲット)サービスを実装するコンポジットがアクティブである必要があります。この条件ではターゲット・コンポジットが起動して実行中であることが必要で、これにより、参照サービスが使用可能であることが保証されます。


    注意:

    ターゲット・コンポジットの状態は「オン」および「アクティブ」である必要があります。状態が「停止済」または「リタイア」の場合は、ローカルの最適化の対象になりません

  • クライアント・コンポジットとターゲット・コンポジットは同じサーバー上に存在する必要があります。これは、直接Java呼出しの明白な要件です。また、Oracle SOA Suiteで、(クライアント・コンポジットがデプロイされている)サーバーのホスト構成に対して、参照(ターゲット)サービス・エンドポイントURIで指定したホストとポート値を比較するのは重要なステップです。ホストとポート値が一致する場合は、クライアント・コンポジットとターゲット・コンポジットが同じサーバー上に存在すると判断できます。ただし、スタンドアロン・サーバー設定とクラスタ・サーバー設定の両方を使用し、ロード・バランサ構成が必要になる可能性がある場合、この比較は必ずしも単純ではありません。したがって、次に、すべてのプラットフォームでサーバー構成が正しいことを確認する条件チェックをステップごとに示します。

    • 第3.1項「SOAインフラストラクチャ・プロパティの構成」で説明したように、「SOAインフラストラクチャの共通プロパティ」ページで「サーバーURL」構成プロパティ値をチェックします。

    • 指定されていない場合は、クラスタMBeanからFrontendHostおよびFrontendHTTPPort(または、SSLが有効な場合はFrontendHTTPSPort)構成プロパティ値をチェックします。

    • 指定されていない場合は、Oracle WebLogic Server MBeanからFrontendHostおよびFrontendHTTPPort(または、SSLが有効な場合はFrontendHTTPSPort)構成プロパティ値をチェックします。

    • 指定されていない場合は、DNS解決されたINETアドレスのlocalhostを使用します。

    • 参照サービス・エンドポイントURLで指定したポート値が、構成されたサーバー・ポート値と一致するかどうかをチェックします。エンドポイントURLにポート値が指定されていない場合、Oracle SOA Suiteでは、HTTP URLの場合は80、HTTPS URLの場合は443を使用します。

    • ポート値が一致する場合、サーバーURL、つまり、http(s)://host:port(hostportは前のチェックから取得)が、参照エンドポイント・アドレスのサーバーURLと比較されます。URLは正規値に解決され、エンドポイントURLホストがlocalhostまたは127.0.0.1の場合もこの比較が行われます。

    • Oracle SOA Suiteでは、サーバーURLの比較で値trueが返された場合、コンポジットは同じ場所に存在すると判断します。

  • セキュリティ・ポリシー構成は、クライアント・コンポジットとサーバー・コンポジットの一方または両方に適用されている場合、ローカルの最適化に対応している必要があります。ポリシー構成およびローカルの最適化については、第8.8.2項「コンポジット間呼出しでのポリシー・アタッチメントおよびローカルの最適化」を参照してください。

「フローのトレース」ページの「トレース」セクションで、コールによってローカルの最適化が行われたかどうかを確認できます。図3-1に示すように、呼出し元コンポジットと呼出し先コンポジットの参照とサービスに対して(ローカル呼出し)というテキストが表示されます。

図3-1 「フローのトレース」ページの「トレース」セクションに表示されるローカルの最適化の詳細

表3-1の説明が続きます。
「図3-1 「フローのトレース」ページの「トレース」セクションに表示されるローカルの最適化の詳細」の説明

「フローのトレース」ページの詳細は、第13.1項「BPELプロセス・サービス・コンポーネントの監査証跡とプロセス・フローの監視」を参照してください。

3.2.2 ローカルの最適化の上書きまたは強制

ローカルの最適化を上書きまたは強制するために、2つの構成プロパティが用意されています。

デフォルトでは、Oracle SOA Suiteはローカルの最適化を実行します。ただし、composite.xmlファイルのoracle.webservices.local.optimizationバインディング・プロパティを使用してこの動作を上書きできます。このプロパティをfalseに設定すると、ローカルの最適化は実行されず、コンポジット間コールはSOAP and HTTPを介して実行されます。必要に応じて、このプロパティを使用してください。このプロパティの設定については、第8.8.2項「コンポジット間呼出しでのポリシー・アタッチメントおよびローカルの最適化」を参照してください。

oracle.webservices.local.optimizationプロパティを上書きして最適化の実行を強制するには、oracle.soa.local.optimization.forceプロパティをtrueに設定します。このプロパティは、次のシナリオの場合に使用します。

  • サーバー構成がかなり複雑で(たとえば、イントラネットにファイアウォールやプロキシ設定がある場合)、第3.2.1項「ローカルの最適化を使用するための条件チェック」で説明した同じ場所に存在するかどうかのチェックで正しい結果が得られない可能性がある場合。

  • ユーザーがローカルの最適化のセマンティクスを十分に理解し、システム設定がローカルの最適化に適しており、ローカルの最適化が確実に効率的である場合。

この項で説明していないこれ以外のシナリオでも、最適化を強制する場合があります。


注意:

oracle.webservices.local.optimizationfalseに設定し、oracle.soa.local.optimization.forcefalseに設定すると、ローカルの最適化は実行されません

oracle.soa.local.optimization.forceプロパティのデフォルト値はfalseです。このプロパティをtrueに設定するとOracle SOA Suiteでは第3.2.1項「ローカルの最適化を使用するための条件チェック」で説明した条件チェックをスキップしますが、ポリシー構成チェックは例外で、このチェックはサービス呼出しの整合性を確認して強制するために必要です。

Oracle SOA Suiteで常にこのプロパティの設定が優先されることは、このプロパティに関する重要事項の1つです(ポリシー・チェックによって最適化が可能になる場合)。ただし、ローカル呼出しがアプリケーション以外のフォルトまたは例外によって失敗した場合(多くの場合、直接Java呼出しに関連するランタイム・エラー)、構成されたエンドポイントでの後続の呼出し、およびエンドポイントに構成されたすべての有効なエンドポイント・アドレスで、この設定の値が無視されます。

oracle.soa.local.optimization.forceプロパティを有効にする手順は、次のとおりです。

  1. 呼び出されるコンポジットのreferenceセクションに、oracle.soa.local.optimization.forceをバインディング・コンポーネント・レベルのプロパティとして追加します。たとえば、コンポジットcomp_comp2comp_comp1を呼び出す場合は、comp_comp2composite.xmlファイルのreferenceセクションでこのプロパティを定義します。

    <reference name="Service1"
    ui:wsdlLocation="http://localhost:8001/soa-infra/services/default/comp_
    comp1!1.0/BPELProcess1.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/comp_comp/comp_
    comp1/BPELProcess1#wsdl.interface(BPELProcess1)"  
                                  callbackInterface="http://xmlns.oracle.com/comp_
    comp/comp_comp1/BPELProcess1#wsdl.interface(BPELProcess1Callback)"/>
    <binding.ws port="http://xmlns.oracle.com/comp_comp/comp_
    comp1/BPELProcess1#wsdl.endpoint(bpelprocess1_client_ep/BPELProcess1_pt)"
    location="http://localhost:8001/soa-infra/services/default/comp_
    comp1!1.0/bpelprocess1_client_ep?WSDL">
    <property name="oracle.webservices.local.optimization">false</property>
    <property name="oracle.soa.local.optimization.force">true</property>
    </binding.ws>
    

3.2.3 ローカルの最適化のロギング

Oracle SOA Suiteでは、ローカルの最適化かSOAP処理かを決定するたびにNOTIFICATION:1(INFO)レベルのロギングが実行されます。詳細またはデバッグ情報が必要な場合は、Oracle Enterprise Manager Fusion Middleware Controlでoracle.integration.platform.blocks.localおよびoracle.integration.platform.blocks.soapロガーをTRACE:1(FINE)レベルで設定します。

3.3 管理対象サーバーとSOAインフラストラクチャの停止と起動

メンテナンスまたは構成変更後の再起動のために、Oracle Enterprise Manager Fusion Middleware ControlでSOAインフラストラクチャを停止して起動できます。このことを行うには、SOAインフラストラクチャがインストールされている管理対象サーバーを停止して起動します。これにより、管理対象サーバーとSOAインフラストラクチャの両方が再起動されます。


注意:

  • 11g リリース1 (11.1.1.4.0)からは、ナビゲータの「soa-infra」メニューからSOAインフラストラクチャを停止および起動できなくなりました。

  • 管理サーバーのみが含まれ、管理対象サーバーが含まれない、開発者用の構成を使用することもできます。


管理対象サーバーとSOAインフラストラクチャを起動および停止する手順は、次のとおりです。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    「WebLogic Server」メニューから ナビゲータの「WebLogicドメイン」フォルダから
    1. コントロールを選択します。
    1. 管理対象サーバー(たとえば、「soa_server1」)を右クリックします。
    2. コントロールを選択します。


  2. 管理対象サーバーとSOAインフラストラクチャを停止するには、「停止」を選択します。

  3. 管理対象サーバーとSOAインフラストラクチャの停止の確認が表示されたら、「OK」をクリックします。

  4. 停止の完了を待ちます。

  5. 管理対象サーバーとSOAインフラストラクチャを起動するには、「起動」を選択します。

ノード・マネージャを使用した管理対象サーバーの停止および起動の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverノード・マネージャ管理者ガイド』を参照してください。

WLSTコマンドを使用した管理対象サーバーの起動および停止の詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。

3.3.1 SOAインフラストラクチャ起動初期化の完了の待機

SOAインフラストラクチャは、起動後、すべてのデプロイ済コンポジットがロードされるまで受信リクエストを管理するために完全には初期化されない場合があります。そのため、Oracle Enterprise Manager Fusion Middleware Controlの一部のページに表示されるレスポンス・メトリックは、実際のステータスを反映していない可能性があります。このことは、SOAインフラストラクチャが複数の管理対象サーバーおよび多数のデプロイ済コンポジットを持つクラスタ内にある場合に最も顕著になります。

初期化ステージ中、Oracle Enterprise Manager Fusion Middleware Controlでは、コンポジット・デプロイメント、コンポジット・アンデプロイメントなどの操作を、これらの操作が正常に完了しなくても、実行することができます。かわりに、表3-1に示すOracle Enterprise Manager Fusion Middleware Controlのページの上部に警告メッセージが表示されます。このメッセージが表示されている間は、コンポジット・デプロイメント、コンポジット・アンデプロイメントなどの操作を実行しないでください。初期化が完了すると、メッセージは表示されなくなります。このことは、ページをリフレッシュするとわかります。その後、操作を実行できます。

表3-1 SOAインフラストラクチャの初期化メッセージ

表示される警告メッセージ 上部にメッセージが表示されるページ
Initializing SOA
Even though the soa-infra target is up, some SOA
Fabric components and composite applications are
still loading. You may need to allow some time for
the initialization to complete, and later click the
Refresh Page icon. It is not adivsable to execute
any operations on this soa-infra until this warning
goes away.
  • 「SOAインフラストラクチャ」ホーム・ページ

  • SOAコンポジット・アプリケーションのホーム・ページ

  • 「パーティションの管理」ページ

  • 「パーティション」ホーム・ページ


3.3.2 SOAコンポジット・アプリケーションの状態およびSOAインフラストラクチャの停止

SOAインフラストラクチャの停止後、SOAコンポジット・アプリケーションの状態は、コンポジットが停止していることを示すように更新されません。コンポジットにアクセスしようとすると、コンポジット詳細を取得できない旨のエラー・メッセージが表示されます。

soa-infra runtime connection error  An error happened while connecting to
soa-infra runtime at  t3://152.61.150.106:8001/soa-infra.

このメッセージによって、システム内で別の問題が発生していると考える可能性があります。しかし、この場合はそうではありません。

このメトリックは、コンポジットが有効かどうか、SOAインフラストラクチャの起動に依存しているかどうかを示すため、コンポジットの状態は「稼働中」(場合によっては「保留」)と表示されます。さらに、クラスタ内の他の管理対象サーバーではコンポジットは依然としてアクティブで、リクエストを受信できます。

3.3.3 リタイアされたコンポジットがアクティブ化されているときは、SOAインフラストラクチャを再起動しても、エンドポイントがアクティブ化されない

アダプタ・エンドポイントがあるSOAコンポジット・アプリケーションがリタイア状態にある場合は、次のアクションを実行した場合にエンドポイントはアクティブになりません。

  • SOAインフラストラクチャの再起動

  • SOAコンポジット・アプリケーションのアクティブ化

これは、ファイルやレコードなどがエンドポイント・アダプタによって取得されないためです。回避策として、SOAインフラストラクチャの再起動後にSOAコンポジット・アプリケーションを再デプロイします。

3.3.4 cwallet.ssoにSOAマップが含まれている場合に、SOAインフラストラクチャの起動が失敗する

cwallet.ssoにSOAマップがある場合は、SOAインフラストラクチャの起動を試行すると、次のようなエラー・メッセージが表示されます。

Caused By: java.security.UnrecoverableKeyException: Password verification 
failed 
        at 
sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:769) 
        at 
sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:38) 
        at java.security.KeyStore.load(KeyStore.java:1185) 
        at oracle.j2ee.ws.saaj.util.SSLUtil.loadKeyStore(SSLUtil.java:73) 
        at 
oracle.j2ee.ws.saaj.util.SSLUtil.getKeyManagerFactory(SSLUtil.java:88) 
        at oracle.j2ee.ws.saaj.util.SSLUtil.getKeyManagers(SSLUtil.java:97) 
        at 
oracle.j2ee.ws.saaj.util.SSLUtil.createSSLSocketFactory(SSLUtil.java:50) 
        at 
oracle.integration.platform.common.SSLSocketFactoryManagerImpl.getSSLSocketFac 
tory(SSLSocketFactoryManagerImpl.java:58) 
        at oracle.fabric.common.wsdl.WSDLManager.init(WSDLManager.java:356) 
        at oracle.fabric.common.wsdl.WSDLManager.<init>(WSDLManager.java:101) 
        at 
oracle.fabric.common.metadata.MetadataManagerImpl.getWSDLManager(MetadataManag 
erImpl.java:283) 
        at 
oracle.fabric.composite.model.CompositeModel.getWSDLManager(CompositeM 

この問題を解決する手順は、次のとおりです。

  1. 次のいずれかのアクションを実行します。

    • cwallet.ssoでSOAマップを削除します。

    • $DOMAIN_HOME/config/fmwconfig/default-keystore.jksを削除します。Oracle Web Services Manager(OWSM)でこのファイルが使用されます。

  2. SOAインフラストラクチャを再起動します。

3.4 SOAインフラストラクチャのサーバーURLプロパティ・ポートの変更

「SOAインフラストラクチャの共通プロパティ」ページ以外に、Oracle Enterprise Manager Fusion Middleware Controlの「システムMBeanブラウザ」でSOAインフラストラクチャの「ServerURL」プロパティ・ポートを変更することもできます。

ポートを変更するときは、次の点に注意してください。

SOAインフラストラクチャのポートを変更する手順は、次のとおりです。

  1. 「SOAインフラストラクチャ」メニューから、「管理」「システムMBeanブラウザ」の順に選択します。

  2. 「アプリケーション定義のMBean」で、「oracle.as.soainfra.config」「サーバー: server_soa」「SoaInfraConfig」「soa-infra」の順に開きます。

    server_soaは、インストール後の構成で指定したサーバーの名前です。デフォルトでは、この名前は「soa_server1」です。

  3. 「名前」列で「ServerURL」をクリックします。

    「属性: ServerURL」ページが表示されます。

    hwf_wlist_port.gifの説明が続きます
    図版hwf_wlist_port.gifの説明

  4. 「値」フィールドで、ポートを変更します。

  5. 「適用」をクリックします。

  6. Oracle WebLogic Server管理コンソールで、管理対象のOracle WebLogic Serverのポートを同じ値に変更します。

    Oracle WebLogic Serverクラスタの前にロード・バランサを使用する環境では、「ServerURL」プロパティのホストとポートは、Oracle WebLogic Serverのホストとポートと異なっても構いません。これは、Oracle WebLogic Serverクラスタ内の管理対象サーバー間でロード・バランサがリクエストを分散するエンタープライズ・デプロイメント環境では一般的です。詳細は、『Oracle Fusion Middleware Oracle SOA Suiteエンタープライズ・デプロイメント・ガイド』を参照してください。

3.5 ログ・ファイルの構成

Oracle SOA Suiteのコンポーネントではログ・ファイルが生成され、起動と停止情報、エラー、警告メッセージ、HTTPリクエストに関するアクセス情報および追加情報を含むすべてのタイプのイベントを記録するメッセージが格納されます。

ログ・ファイルを構成する手順は、次のとおりです。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから...
    1. 「ログ」「ログ構成」の順に選択します。
    1. 「soa-infra」を右クリックします。
    2. 「ログ」「ログ構成」の順に選択します。


    「ログ構成」ページに、次の詳細が表示されます。

    • 「ビュー」リスト。情報を表示するロガーのタイプを選択します。

      • 永続: コンポーネントが起動するとアクティブになるロガー。このログ出力の構成詳細はファイルに保存され、ログ・レベルはコンポーネントの再起動後も維持されます。

      • アクティブ・ランタイム: 実行時に自動的に作成され、特定の機能領域が実行されるとアクティブになるロガー(例: oracle.soa.b2boracle.soa.bpel)。このログ出力のログ・レベルはコンポーネントの再起動後は維持されません。

    • ロガー名およびOracle Diagnostic Logging(ODL)レベルが表示された表。ログ・ファイルに書き込む情報の量とタイプ、ログ・ファイル、およびログ・レベル状態を設定します。

    sca_logconfig.gifの説明が続きます
    図版sca_logconfig.gifの説明

  2. このページで次のログ・ファイル・タスクを実行します。

    1. 「ロガー名」列で、ロガー名を開きます。これによって、コンポーネント内の特定のロギング・レベルを指定できます。

    2. 「Oracle Diagnostic Loggingレベル(Javaレベル)」列で、ログ・ファイルに書き込む情報のレベルとタイプを選択します。

    3. 「ログ・ファイル」列で、ログ・ファイル構成を作成および編集する特定のログ・ファイルをクリックします。

      ODLログ・ファイル、およびログ・ファイルに書き込むロギング情報のレベルとタイプの詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。

  3. 「ログ・ファイル」タブをクリックします。

    このページを使用して、ログ・ファイル構成を作成および編集できます。ログ・ファイル構成には、ログ・メッセージが記録されるログ・ファイル、ログ・メッセージのフォーマット、使用されるローテーション・ポリシー、およびログ・ファイル構成クラスに基づく他のパラメータが含まれます。

    sca_logfiles.gifの説明が続きます
    図版sca_logfiles.gifの説明

    ロギングの詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。

    ロギング・レベルおよび表示するOracle SOA Suiteログ・ファイルの設定の詳細は、B.1項「トラブルシューティングのためのロギング・レベルの設定」を参照してください。

3.5.1 ログ・ファイルのエンコーディング・プロパティの構成

soa-diagnostic.logファイルのoracle-soa-handlerログ・ハンドラ・プロパティには、SOA_Domain/config/fmwconfig/servers/server_soa/logging.xmlファイルに指定されるエンコーディング・プロパティがありません。かわりに、soa-diagnostic.logファイルにはオペレーティング・システムのデフォルトのエンコーディング・フォーマットで書き込まれます。このため、次の問題が発生する場合があります。

  • ロギング情報はsoa-diagnostic.logにサーバーのデフォルトのエンコーディング・フォーマットで書き込まれるため、ASCII以外のエラー・メッセージは読み取れなくなる場合があります。

  • Windowsオペレーティング・システムでは、デフォルトのエンコーディング・フォーマットで書き込むことによって、ASCII以外のデータが失われる場合があります。

この問題を回避するには、logging.xmlファイルで、oracle-soa-handlerログ・ハンドラ・プロパティに対して値UTF-8を指定します。

<?xml version='1.0'?>
<logging_configuration>
 <log_handlers>
  <log_handler name='wls-domain'
 class='oracle.core.ojdl.weblogic.DomainLogHandler' level='WARNING'/>
  <log_handler name='oracle-soa-handler'
 class='oracle.core.ojdl.logging.ODLHandlerFactory'>
   <property name='path' value='c:\soa1210.1411\user_
projects\domains\soa/servers/server_soa/logs/soa-diagnostic.log'/>
   <property name='maxFileSize' value='10485760'/>
   <property name='maxLogSize' value='104857600'/>
   <property name='supplementalAttributes' value='J2EE_APP.name,J2EE_
MODULE.name,WEBSERVICE.name,WEBSERVICE_PORT.name,composite_instance_id,component_
instance_id,composite_name,component_name'/>
    <property name='encoding' value='UTF-8'/>   
  </log_handler>
 </log_handlers>
...

これで、ログ・ファイルはODLを使用して書き込まれます。ログ・ファイルの内容は、Oracle Enterprise Manager Fusion Middleware Controlから表示できます。

ロギングの詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。

3.6 XAドライバのサポートのためのドライバ名の変更

データ・ソースがXAドライバのサポートを必要とする場合は、Oracle WebLogic Serverでドライバ名を変更する必要があります。このことは、特に、データベース・アダプタとJMSアダプタを呼び出すときに、XAが存在することをBPELプロセスが前提としている環境に当てはまります。

次のいずれかの方法で、ドライバ名を変更する手順は、次のとおりです。

3.7 XAデータ・ソースへのデフォルト以外のXAトランザクション・タイムアウト値の指定

XAデータ・ソースのデフォルトのXAトランザクション・タイムアウト値は、0秒です。このデフォルト値はOracle WebLogic Server管理コンソールで変更できます。変更する場合は次の手順に従います。

XAデータ・ソースにデフォルト以外のXAトランザクション・タイムアウト値を指定する手順は、次のとおりです。

  1. Oracle WebLogic Server管理コンソールにログインします。

  2. ページの左側の「ドメイン構造」で、「サービス」「JDBC」「データ・ソース」の順に選択します。

  3. 「データ・ソース」表の「名前」列で、「EDNDataSource」(イベント配信ネットワークのトランザクションの場合)または「SOADataSource」(その他のトランザクション・タイプの場合)を選択します。

  4. 上部にある「構成」タブで、「トランザクション」サブタブをクリックします。

  5. 「XAトランザクション・タイムアウト」フィールドに、値を秒単位で入力します。

  6. XAトランザクション・タイムアウトの設定」チェック・ボックスを選択します。このチェック・ボックスは、新しいXAトランザクション・タイムアウト値を有効にするために選択する必要があります

  7. 「保存」をクリックします。