ヘッダーをスキップ
Oracle® Fusion Middleware Oracle SOA Suite開発者ガイド
11gリリース1 (11.1.1.7)
B56238-10
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

C デプロイメント・ディスクリプタのプロパティ

この付録では、Oracle WebLogic Server、Oracle Enterprise Manager、またはその両方で実行時に使用されるBPELプロセス・サービス・コンポーネントのデプロイメント・ディスクリプタ構成およびパートナ・リンク・プロパティを定義する方法について説明します。

項目は次のとおりです。

デプロイメント・ディスクリプタのプロパティの詳細は、『Oracle Fusion Middlewareパフォーマンスおよびチューニング・ガイド』の「Oracle BPEL Process Managerのパフォーマンス・チューニング」の章を参照してください。

C.1 デプロイメント・ディスクリプタのプロパティの概要

デプロイメント・ディスクリプタは、Oracle WebLogic ServerまたはOracle Enterprise Manager(あるいはその両方)で実行時に使用されるBPELプロセス・サービス・コンポーネントのプロパティです。プロパティには、次の2種類があります。

表C-1は、構成のデプロイメント・ディスクリプタのプロパティを示しています。

構成プロパティを定義する場合は、プロパティ名にbpel.configの接頭辞を追加する必要があります。たとえば、inMemoryOptimizationプロパティは、bpel.config.inMemoryOptimizationとして定義する必要があります。Oracle JDeveloperのプロパティ・インスペクタでプロパティを定義する方法については、項C.1.1「プロパティ・インスペクタでデプロイメント・ディスクリプタのプロパティを定義する方法」を参照してください。

表C-1 configurationsデプロイメント・ディスクリプタのプロパティ

プロパティ名 説明

completionPersistPolicy

このプロパティは、インスタンス・データの保存方法を構成します。BPELサービス・コンポーネント・レベルでのみ設定できます。使用可能な値は、次のとおりです。

  • on(デフォルト): 終了したインスタンスは通常どおり保存されます。

  • deferred: 終了したインスタンスは保存されますが、異なるスレッドを使用して別のトランザクションで保存されます。

  • faulted: 失敗したインスタンスのみ保存されます。

    注意: 未処理のフォルトが発生した場合は、これらのフラグに関係なく、インスタンスの監査情報がcube_instance表に保持されます。

  • off: このプロセスのインスタンスは保存されません。

disableAsserts

このプロパティをtrueに設定すると、BPELプロジェクトでアサーションが無効になります。

globalTxMaxRetry

非同期BPELプロセスでアウトバウンド・アダプタを使用している場合は、リモート・フォルトに対する最大再試行回数を指定します。

globalTxRetryInterval

非同期BPELプロセスでアウトバウンド・アダプタを使用している場合は、リモート・フォルトに対する再試行間隔(ミリ秒単位)を指定します。

inMemoryOptimization

デフォルト値はfalseです。このプロパティをtrueに設定できるのは、デハイドレーション・ポイントがない場合のみです。wait、receive、onMessage、onAlarmなどのアクティビティでは、プロセス内にデハイドレーション・ポイントが作成されます。このプロパティをtrueに設定すると、to-spec問合せ時にこのプロセスのインスタンスに対するメモリー内最適化が試行されます。

keepGlobalVariables

インスタンスの完了後に、サーバーがグローバル変数値をインスタンス・ストアに保持できるかどうかを指定します。

  • false(デフォルト): インスタンスが完了すると、グローバル変数値は削除されます。

  • true: グローバル変数値は削除されません。

oneWayDeliveryPolicy

このプロパティは、プロセスの永続ポリシーを配信レイヤーに設定します。可能な値は次のとおりです。

  • async.persist: メッセージはデータベースに保存されます。この設定の場合、信頼性は確保されますが、データベースのパフォーマンスに多少の影響が出ます。システムの全体的なパフォーマンスに影響が出ることもあります。

  • async.cache: 受信した配信メッセージはメモリー内キャッシュにのみ保存されます。信頼性よりパフォーマンスを優先する場合は、この設定を検討してください。async.cacheに設定すると、一方向メッセージの到着頻度が配信の頻度よりかなり高い場合や、サーバー障害が発生した場合には、メッセージが失われる可能性があります。また、システムが過負荷の状態になり(メッセージがスケジュール済キューにたまり)、メモリー不足エラーが発生することもあります。各自のユースケース・シナリオを検討し、この設定が適切かどうかを判断してください。

    高可用性環境でoneWayDeliveryPolicyasync.cacheに設定すると、サーバー・クラッシュ発生時に実行途中の起動メッセージおよびコールバック・メッセージが失われたり、重複したりすることがあります。async.cacheに対しては、サーバーのフェイルオーバーはサポートされていません。詳細は、『Oracle Fusion Middleware高可用性ガイド』のOracle BPEL Process Managerの高可用性アーキテクチャとフェイルオーバーに関する考慮事項に関する項を参照してください。

  • sync: 同じスレッドで直接起動が発生します。呼出しキューのメッセージのスケジューリングはバイパスされ、BPELインスタンスが同期的に呼び出されます。この設定は、データベースのパフォーマンスに影響を与えることがあります。

BPELプロセスを作成するときのこのプロパティの設定の詳細は、第4.1.1項「BPELプロセス・サービス・コンポーネントの追加方法」を参照してください。

詳細は、『Oracle Fusion Middlewareパフォーマンスおよびチューニング・ガイド』のBPELに対するデータベース永続性のチューニングに関する項を参照してください。

reenableAggregationOnComplete

このプロパティは、メッセージをルーティングするために作成して使用するインスタンス数を制御します。可能な値は次のとおりです。

  • true: 同じ相関のメッセージを処理する新規インスタンスが作成されます。

  • false: メッセージを処理するインスタンスが1つのみ作成されます。

詳細は、第9.2項「同じインスタンスへのメッセージのルーティング」を参照してください。

sensorActionLocation

センサー・アクションXMLファイルの場所。センサー・アクションXMLファイルには、イベントに対するアクション・ルールが構成されています。

sensorLocation

センサーXMLファイルの場所。センサーXMLファイルは、イベントが記録されるセンサーのリストを定義したものです。

transaction

このプロパティは、コールを開始するBPELインスタンスのトランザクション動作を構成します。

  • requiresNew: 新規トランザクションが実行のために作成され、既存のトランザクションがある場合はそのトランザクションが一時停止されます。この動作は、リクエスト/レスポンス(開始)環境、およびbpel.config.oneWayDeliveryPolicysyncに設定されている一方向開始環境の両方に適用されます。

  • required: リクエスト/レスポンス(開始)環境では、この設定によって、トランザクションがある場合はコール元トランザクションが結合され、トランザクションがない場合は新規トランザクションが作成されます。bpel.config.oneWayDeliveryPolicysyncに設定されている一方向開始環境では、起動メッセージは、同じトランザクションの同一スレッドを使用して処理されます。

注意: このプロパティは、中間プロセスのreceiveアクティビティには適用されません。この場合は、別のトランザクションの別のスレッドを使用してメッセージが処理されます。これは、相関が必要であり、常に非同期で処理されるためです。

BPELプロセスを作成するときのこのプロパティの設定の詳細は、第4.1.1項「BPELプロセス・サービス・コンポーネントの追加方法」を参照してください。


表C-2は、パートナ・リンク・バインディングのデプロイメント・ディスクリプタのプロパティを示しています。

パートナ・リンク・バインディング・プロパティを定義する場合は、プロパティ名にbpel.partnerLink.partner_link_nameの接頭辞を追加する必要があります。たとえば、nonBlockingInvokeプロパティは、bpel.partnerLink.partner_link_name.nonBlockingInvokeとして定義する必要があります。Oracle JDeveloperのプロパティ・インスペクタでプロパティを定義する方法については、項C.1.1「プロパティ・インスペクタでデプロイメント・ディスクリプタのプロパティを定義する方法」を参照してください。

表C-2 partnerLinkBindingデプロイメント・ディスクリプタのプロパティ

プロパティ名 説明

idempotent

idempotentアクティビティとは、再試行可能なアクティビティ(assignアクティビティやinvokeアクティビティなど)です。非idempotentアクティビティの後にインスタンスが保存されます。このプロパティは、永続プロセスと一時プロセスの両方に適用されます。

  • true (デフォルト): サーバーに障害が発生した場合、再起動後にアクティビティが再度実行されます。これは、アクティビティの呼出し直後にサーバーがデハイドレーションされず、アクティビティの実行が記録されていないためです。

  • false: アクティビティは実行直後にデハイドレーションされ、デハイドレーション・ストアに記録されます。idempotentをfalseに設定すると、フェイルオーバーによる保護は強化されますが、BPELプロセスがデハイドレーション・ストアに頻繁にアクセスする場合はパフォーマンスに影響が出ることがあります。

    idempotentプロパティをfalseに設定した場合のフォルト処理の使用方法の詳細は、第12.10.6項「idempotentプロパティとフォルト処理に関する必知事項」を参照してください。

idempotentプロパティの詳細は、第8.4項「パートナ・リンク操作レベルでの冪等性の管理」を参照してください。

nonBlockingInvoke

デフォルト値はfalseです。trueに設定されている場合は、独立したスレッドを生成して起動を行うため、invokeアクティビティによってインスタンスがブロックされることはありません。

詳細は、第10.1.1項「シングル・スレッドでのフローのブランチのパラレル実行に関する必知事項」を参照してください。

validateXML

メッセージの境界の検証を有効化します。trueに設定すると、このパートナ・リンクに対するreceiveアクティビティおよびinvokeアクティビティ中に、XMLメッセージがXMLスキーマと照合して検証されます。XMLメッセージが無効な場合は、bpelx:invalidVariables実行時フォルトがスローされます。これによって、ドメイン・レベルのvalidateXMLプロパティがオーバーライドされます。次の例では、StarLoanServiceパートナのみの検証が可能です。

<partnerLinkBinding name="StarLoanService"> 
<property name="wsdlLocation">
http://<hostname>:9700/orabpel/default/StarLoan/Sta
rLoan?wsdl</property> 
<property name="validateXML">true</property> 
</partnerLinkBinding>

C.1.1 プロパティ・インスペクタでデプロイメント・ディスクリプタのプロパティを定義する方法

構成およびパートナ・リンク・バインディングのデプロイメント・ディスクリプタのプロパティと値は、Oracle JDeveloperのプロパティ・インスペクタで定義します。完了すると、composite.xmlファイルのBPELプロセス・サービス・コンポーネント・セクションにプロパティが表示されます。

  1. SOAコンポジット・エディタで、図C-1に示すように、BPELプロセス・サービス・コンポーネントを選択します。

    図C-1 選択されたBPELプロセス・サービス・コンポーネント

    図C-1の説明が続きます
    「図C-1 選択されたBPELプロセス・サービス・コンポーネント」の説明

  2. Oracle JDeveloperの右下の隅にある「プロパティ・インスペクタ」に移動します。「プロパティ・インスペクタ」が表示されない場合は、「表示」メイン・メニューから「プロパティ・インスペクタ」を選択します。

  3. 図C-2に示すように、「プロパティ」セクションで「追加」アイコンをクリックします。

    この例では、BPELプロセスの作成時に「BPELプロセスの作成」ダイアログで「配信」オプションが選択されていたため、oneWayDeliveryPolicyプロパティがすでに定義されています。BPELプロセスを作成するときのこのプロパティの設定の詳細は、第4.1.1項「BPELプロセス・サービス・コンポーネントの追加方法」を参照してください。

    図C-2 プロパティ・インスペクタ

    図C-2の説明が続きます
    「図C-2 プロパティ・インスペクタ」の説明

    「プロパティの作成」ダイアログが表示されます。

  4. 「名前」フィールドに、デプロイメント・ディスクリプタのプロパティを入力します。この例では、構成のデプロイメント・ディスクリプタのプロパティinMemoryOptimizationが定義されています。そのため、bpel.configの接頭辞が必要です。構成のデプロイメント・ディスクリプタのプロパティの詳細は、表C-1を参照してください。

    そのかわりにパートナ・リンク・バインディング・プロパティを追加する場合は、bpel.partnerLink.partner_link_nameの接頭辞が必要です(partner_link_nameはパートナ・リンクの名前です。例: LoanService)。パートナ・リンク・バインディングのデプロイメント・ディスクリプタのプロパティの詳細は、表C-2を参照してください。

  5. 「値」フィールドに、このプロパティに適用可能な値(たとえばtrue)を入力します。

    図C-3は、完成した「プロパティの作成」ダイアログを示しています。

    図C-3 「プロパティの作成」ダイアログ

    図C-3の説明が続きます
    「図C-3 「プロパティの作成」ダイアログ」の説明

  6. 「OK」をクリックします。

    プロパティ・インスペクタに、追加されたデプロイメント・ディスクリプタのプロパティが表示されます。

    図C-4 プロパティ・インスペクタのデプロイメント・ディスクリプタのプロパティ

    図C-4の説明が続きます
    「図C-4 プロパティ・インスペクタのデプロイメント・ディスクリプタのプロパティ」の説明

  7. SOAコンポジット・エディタで「ソース」をクリックします。

    例C-1に示すように、composite.xmlファイル内にbpel.configの接頭辞が付いたinMemoryOptimization構成プロパティが表示されます。

例C-1 composite.xmlの構成プロパティ定義

<component name="LoanApproval" version="1.1">
    <implementation.bpel src="LoanApproval.bpel"/>
    <property name="bpel.config.oneWayDeliveryPolicy" type="xs:string"
              many="false">async.persist</property>
    <property name="bpel.config.inMemoryOptimization" type="xs:string"
              many="false" override="may">true</property>
  </component>

プロパティ・インスペクタで、かわりにパートナ・リンク・バインディングのデプロイメント・ディスクリプタのプロパティ(たとえば、nonBlockingInvokeパートナ・リンク・バインディング・プロパティ)を定義した場合は、例C-2に示すように、composite.xmlファイル内に表示されます。接頭辞が、このタイプのプロパティに必要なbpel.partnerLink.partner_link_nameであることに注目してください。

例C-2 composite.xmlのパートナ・リンク・バインディング・プロパティの定義

...
  <component name="myBPELServiceComponent">
 ....
  <property name="bpel.partnerLink.partner_link_name.
   nonBlockingInvoke">false</property>
</component>

C.1.2 BPELプロセス内でのプリファレンス値の取得方法

プロパティの値は、XPath拡張関数ora:getPreference(myPref)を使用してBPELプロセスで読み取ることができます。これによって、bpel.preference.myPrefの値を取得します。

この関数は、単純なassign文の一部として、または条件式の中で、あるいはより複雑なXPath式の一部として使用できます。

C.2 非推奨の10.1.3プロパティ

表C-3に、今後使用できなくなる非推奨プロパティを示します。

表C-3 非推奨プロパティ

プロパティ デプロイメント・ディスクリプタ・タイプ 非推奨となったリリース

completionPersistLevel

configurations

11g リリース1

defaultInput

configurations

11g リリース1

initializeVariables

configurations

11g リリース1

loadSchema

configurations

11g リリース1

noAlterWSDL

configurations

11g リリース1

optimizeVariableCopy

configurations

11g リリース1

relaxTypeChecking

configurations

11g リリース1

relaxXPathQName

configurations

11g リリース1

transaction

configurations

10.1.3.4

SLACompletionTime

configurations

11g リリース1

xpathValidation

configurations

11g リリース1

user

configurations

11g リリース1

pw

configurations

11g リリース1

role

configurations

11g リリース1

correlation

partnerLinkBinding

11g リリース1

contentType

partnerLinkBinding

10.1.3

retryInterval

partnerLinkBinding

10.1.3.3のフォルト・ポリシー機能で非推奨

retryMaxCount

partnerLinkBinding

10.1.3.3のフォルト・ポリシー機能で非推奨

wsdlLocation

partnerLinkBinding

11g リリース1

wsdlRuntimeLocation

partnerLinkBinding

11g リリース1

wsseHeaders

partnerLinkBinding

11g リリース1

wsseUsername

partnerLinkBinding

11g リリース1

wssePassword

partnerLinkBinding

11g リリース1

preferredPort

partnerLinkBinding

11g リリース1

fullWSAddressing

partnerLinkBinding

11g リリース1