ヘッダーをスキップ
Oracle BPEL Process Manager開発者ガイド
10g(10.1.3.1.0)
B31874-03
  目次
目次
索引
索引

戻る
戻る
次へ
次へ
 

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

この付録では、デプロイメント・ディスクリプタのプリファレンス・プロパティおよびデプロイメント・ディスクリプタの構成プロパティを定義する方法について説明します。

この付録の内容は次のとおりです。

C.1 デプロイメント・ディスクリプタのプリファレンス・プロパティ

プリファレンスとは、Oracle JDeveloperで定義された単純な名前/値ペアのプロパティで、実行時にBPELプロセスによってアクセスされます。プリファレンスを使用すると、BPELプロセスの設計者はリテラル値をプロセスの外部で管理できます。プリファレンスの値は実行時にOracle BPEL Controlで変更でき、BPELプロセスを再デプロイする必要はありません。

たとえば、1000ドルを超える経費請求を自動的に却下するプロセスを設計したが、その後ビジネス要件が変化して最高額が1500ドルに増加したという場合、通常はプロセス定義を編集して再デプロイする必要があります。設計時にデプロイメント・ディスクリプタのプロパティに最高額を表すプリファレンスを定義すると、プロセスを再デプロイしなくても、必要に応じて実行時に値を変更できます。

C.1.1 プリファレンス・プロパティの定義

プリファレンス値は、Oracle JDeveloperで定義できます。

  1. 図C-1に示す「デプロイメント・ディスクリプタのプロパティ」アイコンをクリックします(BPELダイアグラムの左上の領域にあります)。

    図C-1 「デプロイメント・ディスクリプタのプロパティ」アイコン

    図ddesc.gifの説明が続きます
    図ddesc.gifの説明

  2. 図C-2に示すように、「デプロイメント・ディスクリプタのプロパティ」ウィンドウで「プリファレンス」タブをクリックします。

    図C-2 デプロイメント・ディスクリプタのプリファレンス・プロパティ

    図depdesc11.gifの説明が続きます
    図depdesc11.gifの説明

  3. 「作成」をクリックし、プリファレンス名を入力します。

  4. 「プロパティ値」フィールドの値を編集し、「OK」をクリックします。

    変更はただちに有効になり、次のようにbpel.xmlpreferencesタグに反映されます。

  5. ...
    <preferences>
       <property name="MAX_AMOUNT">1000</property>
       <property name="DEFAULT_COSTCENTER">US23</property>
    </preferences>
    ...
    

C.1.2 実行時のプリファレンスの更新

プリファレンス値は実行時にOracle BPEL Controlで更新できます。

  1. 「BPELプロセス」タブをクリックします。

  2. プロセス名をクリックしてから「ディスクリプタ」タブをクリックします。

    図C-3のように、プロセスのデプロイメント・ディスクリプタがプリファレンスを含めて表示されます。

    図C-3 実行時のBPELプロセス・プリファレンスの更新

    図depdesc3.gifの説明が続きます
    図depdesc3.gifの説明

  3. プリファレンス値を更新し、「ディスクリプタの更新」をクリックします。

    変更はただちに有効になります。

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

プリファレンスの値は、XPath拡張関数ora:getPreference(String preferenceName)を使用してBPELプロセスで読み取ることができます。この関数は、単純なassign文の一部として、または条件式の中で、あるいはより複雑なXPath式の一部として使用可能です。

C.1.4 プリファレンス値の暗号化

プリファレンス・プロパティの内容は暗号化できます。暗号化には、sunJCEセキュリティ・プロバイダとともにDESが使用されます。Oracle JDeveloperでは、内容が暗号化されて表示されることはありません。内容が暗号化されるのはデプロイ時のみです。「暗号化」リスト(図C-2を参照)には、次のオプションが用意されています。

  • プレーン・テキスト: 内容は平文のままです。

  • デプロイ時のサーバー上の暗号化: Oracle JDeveloperプロジェクトでは、内容は平文のままです。ただし、Oracle BPEL Serverでは暗号化されます。

  • ローカル・マシン上の暗号化: 内容は、Oracle JDeveloperプロジェクトでは暗号形式のままで、Oracle BPEL Server上でも暗号化されます。

プロパティは、デプロイメント・ディスクリプタの「構成」タブのパスワード・フィールドとしても表示されます。

次の例は、暗号化を設定しないXMLコード、および暗号化を設定したXMLコードを示しています。

暗号化を設定しない場合、次のようになります。

...
<preferences>
   <property name="secret">mySecretValue</property>
</preferences>
...

暗号化を行わないXMLは次のようになることもあります。ただし、プロパティはデフォルトでplaintextとして格納されるため、plaintextを明示的に指定する必要はありません。

...
<preferences>
   <property name="secret" encryption="plaintext">mySecretValue</property>
</preferences>
...

コンパイラおよびOracle BPEL Serverにプロパティを暗号化するよう指示する場合、XMLは次のようになります。

...
<preferences>
   <property name="secret" encryption="encrypt">mySecretValue</property>
</preferences>
...

BPELプロジェクトのコンパイル後、コンパイル済JARファイル内のbpel.xmlファイルのコピー(Oracle JDeveloperプロジェクト内のコピーではない)がコンパイラによって更新されます。したがって、XMLは次のようになります。

...
<preferences>
   <property name="secret" encryption="encrypted">ZAv9lfntAgy=</property>
</preferences>
...

他のセクションのプロパティも暗号化する必要がある場合に備えて、暗号化はpreferencesセクションのpropertyタグのみでなく、ディスクリプタのすべてのpropertyタグに対して行われます。


注意:

プリファレンスから導出された値を含むインスタンスの監査証跡を調べれば、プリファレンスの値は推測可能です。

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

構成プロパティは、Oracle BPEL ServerまたはOracle BPEL Control、あるいはその両方で使用される特殊なプロパティです。たとえば、Oracle BPEL Controlでは、プロセスの説明およびデフォルト・データをテスト・プロセス・ウィンドウに表示するために構成プロパティが使用されます。

C.2.1 構成プロパティの定義

構成プロパティは、Oracle JDeveloperで定義できます。

  1. 図C-1に示す「デプロイメント・ディスクリプタのプロパティ」アイコンをクリックします(BPELダイアグラムの左上の領域にあります)。

  2. 図C-4に示すように、「デプロイメント・ディスクリプタのプロパティ」ウィンドウで「構成」タブをクリックします。

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

    図depdesc2.gifの説明が続きます
    図depdesc2.gifの説明

  3. 「作成」をクリックし、構成名を入力します。

  4. 「プロパティ値」フィールドの値を編集し、「OK」をクリックします。

    変更はただちに有効になり、bpel.xmlに反映されます。

構成プロパティの内容の暗号化については、「プリファレンス値の暗号化」を参照してください。

configurationsデプロイメント・ディスクリプタのプロパティ名を表C-1に示します。

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

プロパティ名 説明 変更時のBPEL Serverの動作
completionPersistLevel インスタンスの終了後に保存するインスタンス情報の部分を設定します。デフォルト値はallです。この場合、cube_instance表とcube_scope表の両方にインスタンスが保存されます。もう1つの値はinstanceHeaderです。この場合、インスタンスのメタデータのみがcube_instance表に保存されます。このプロパティを設定できるのは、inMemoryOptimizationプロパティがTrueに設定されている場合のみです。

関連項目: inMemoryOptimizationおよびcompletionPersistLevelプロパティの詳細は、『Oracle Application Serverパフォーマンス・ガイド』を参照してください。

該当せず
completionPersistPolicy インスタンス・データの保存方法を構成します。デフォルト値はonです。この場合、終了したインスタンスは通常どおり保存されます。この値をdeferredに設定すると、終了したインスタンスは保存されますが、異なるスレッドを使用して別のトランザクションで保存されます。 この値をfaultedに設定すると、失敗したインスタンスのみが保存されます。この値をoffに設定すると、このプロセスのインスタンスは保存されません。

関連項目: completionPersistPolicyプロパティの詳細は、『Oracle Application Serverパフォーマンス・ガイド』を参照してください。

該当せず
defaultInput Oracle BPEL Controlからプロセスをテストするために入力として使用するXML文書。 ただちに有効化
initializeVariables デフォルト値はTrueです。 Falseに設定すると、コンパイラでto-spec問合せに基づいた変数の初期化が行われません。 該当せず
inMemoryOptimization デフォルト値はFalseです。このプロパティをTrueに設定できるのは、デハイドレーション・ポイントがない場合のみです。wait、receive、onMessage、onAlarmなどのアクティビティでは、プロセス内にデハイドレーション・ポイントが作成されます。このプロパティをTrueに設定すると、Oracle BPEL Serverにより、to-spec問合せでこのプロセスのインスタンスに対するインメモリー最適化が試行されます。

関連項目: inMemoryOptimizationプロパティの詳細は、『Oracle Application Serverパフォーマンス・ガイド』を参照してください。

該当せず
loadSchema デフォルト値はTrueです。 Falseに設定すると、XMLスキーマがロードされず、Oracle BPEL Process Managerはタイプなしになります。 該当せず
noAlterWSDL デフォルト値はFalseです。Trueに設定すると、コンパイラでは、バインディングおよびサービス情報を追加するためのプロセスWSDLの変更が試行されません。 該当せず
optimizeVariableCopy デフォルト値はTrueです。Falseに設定すると、Oracle BPEL Serverでは、assignコピーのcopy-on-writeが有効化されません。 該当せず
relaxTypeChecking デフォルト値はFalseです。Trueに設定すると、コンパイラでは、assignアクティビティとのタイプ互換性がチェックされません。 該当せず
relaxXPathQName デフォルト値はFalseです。 Trueに設定すると、コンパイラでは問合せ内の未修飾の手順に関する例外がスローされません。たとえば、正しいフォームがquery="/ns1:payload/ns1:name"である場合、このフラグがオンになっていると、query="/payload/name"というフォームでもコンパイルに成功します。 該当せず
sensorActionLocation Oracle BPEL Process Managerによって使用されるセンサー・アクションXMLファイルの場所。センサー・アクションXMLファイルには、イベントのアクション・ルールが構成されています。 該当せず
sensorLocation センサーXMLファイルの場所。 センサーXMLファイルは、Oracle BPEL Serverでイベントが記録されるセンサーのリストを定義したものです。 該当せず
testIntroduction テスト・コンソールに表示される概要テキスト。 ただちに有効化
transaction participateに設定すると、プロセスでフォルト・ハンドラで処理されないフォルトが生成された場合、トランザクションはロールバックされます。 ただちに有効化
SLACompletionTime 品質保証契約(完了時間): 指定した期間にプロセスが完了するというコミットメントのしきい値。値はXML durationです。 該当せず
xpathValidation デフォルト値はTrueです。Falseに設定すると、コンパイラではXPath問合せが検証されません。 該当せず
user コール側ユーザーが提供する必要のあるユーザー名(ドメイン・レベル・セキュリティがオンの場合)。 プロセスの再デプロイ
pw コール側ユーザーが提供する必要のあるパスワード(ドメイン・レベル・セキュリティがオンの場合)。 プロセスの再デプロイ
role ロールまたはコール側ユーザーがID管理に属している必要があります(ドメイン・レベル・セキュリティがオンの場合)。 プロセスの再デプロイ

partnerLinkBindingデプロイメント・ディスクリプタのセクションの構成プロパティを表C-2に示します。

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

プロパティ名 説明 変更時のBPEL Serverの動作
basicHeaders HTTP Basic認証を作成します。 サポートされている値は次のとおりです。
  • propagate: プロセスが安全に起動された場合、これらの資格証明が出力方向にも使用されます。

  • credentials: ディスクリプタからの資格証明を渡します。

ただちに有効化
basicUsername ユーザー名(Basic認証に渡されます)。 ただちに有効化
basicPassword パスワード資格証明(Basic認証に渡されます)。 ただちに有効化
callbackBindings コンパイラでコールバックのportTypeに対して生成されるバインディングのリスト。デフォルト値はsoapです。 複数のバインディングはカンマで区切って設定します(jms, soapなど)。最初の項目はコールバック時の優先バインディングとして使用されます。 再コンパイル(未実装)
correlation デフォルト値はwsAddressingです。 これがcorrelationSetに設定されている場合、このパートナ・リンクではBPELの相関セットが使用されています。 これがプロセスのpartnerLinkの場合は再コンパイル(未実装)
contentType 特殊なHTTP contentTypeを設定します。例: text/xml ただちに有効化
httpAccept Oracle BPEL ServerからリモートSOAPサービスに送信されるHTTP acceptヘッダーを上書きします。 ただちに有効化
httpContentType Oracle BPEL ServerからリモートSOAPサービスに送信されるHTTP content-typeヘッダーを上書きします。 ただちに有効化
httpKeepAlive サーバーでkeepAlive接続が許可される場合、このブール型プロパティをオンにするとkeepAlive接続を利用できます。これにより、同じサーバーへの接続が複数の起動で共有されます。

この属性の旧称はkeepAliveです。

ただちに有効化
httpPassword HTTPのユーザー名およびパスワード認証の場合。 ただちに有効化
httpUsername HTTPのユーザー名およびパスワード認証の場合。 ただちに有効化
location WSDLに定義された場所をオーバーライドするURL。 SOAP over HTTPバインディングの場合、この値はSOAPアドレスをオーバーライドします。 ただちに有効化
nonBlockingInvoke デフォルト値はFalseです。これがTrueに設定されている場合、Oracle BPEL Serverでは独立したスレッドを生成して起動を行うため、invokeアクティビティによってインスタンスがブロックされることはありません。

関連項目: nonBlockingInvokeプロパティの詳細は、『Oracle Application Serverパフォーマンス・ガイド』を参照してください。

ただちに有効化
retryInterval Oracle BPEL Serverが再試行の間隔として待機する秒数。 ただちに有効化
retryMaxCount ネットワークの問題が原因で起動に失敗した場合に、Oracle BPEL Serverが再試行する回数。 ただちに有効化
sendXSIType 一部のRPC方式のレガシーWebサービスでは、入力メッセージのすべての要素にxsi:typeを設定する必要があります。この値がTrueに設定されている場合、Oracle BPEL Process Managerではすべての要素のxsi:typeに値が挿入されます。 ただちに有効化
serviceProperties -- ただちに有効化
timeout SOAPコールがタイムアウトする秒数。これが発生すると、リモート・フォルトがスローされます。 ただちに有効化
validateXML メッセージ境界の検証を有効化します。 trueに設定すると、Oracle BPEL Serverでは、このパートナ・リンクに関する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>

関連項目: validateXMLプロパティの詳細は、『Oracle Application Serverパフォーマンス・ガイド』を参照してください。

再コンパイル
wsdlLocation このパートナ・リンクを定義するWSDLファイルのURL。このプロパティは必ず設定する必要があります。BPELコンパイラでBPELソースを検証するには、このプロパティが必要です。WSDLに定義する必要があるのはportTypeとその依存項目のみであるため、これは抽象的なWSDLでもかまいません。 再コンパイル(未実装)
wsdlRuntimeLocation パートナ・リンクのWSDLへのURL。これはOracle BPEL Serverで使用されます。つまり、サービス、ポートおよびバインディングがすべて定義された具体的なWSDLが必要です。このプロパティはオプションであり、デフォルトでwsdlLocationプロパティに設定されます。このプロパティを使用すると、複数のURLを空白(スペース、改行およびタブ)で区切ることもできます。したがって、使用できないURLがある場合は、Oracle BPEL Serverは順に試行します。 WSDLキャッシュのクリア(未実装)
wsseHeaders WS-Securityのユーザー名トークンを作成します。 サポートされている値は次のとおりです。
  • propagate: プロセスが安全に起動された場合、これらの資格証明が出力方向にも使用されます。

  • credentials: ディスクリプタからの資格証明を渡します。

    関連項目: wsseHeadersプロパティの詳細は、『Oracle BPEL Process Manager管理者ガイド』を参照してください。

ただちに有効化
wsseUsername トークンのユーザー名(必須)。

関連項目: wsseUsernameプロパティの詳細は、『Oracle BPEL Process Manager管理者ガイド』を参照してください。

ただちに有効化
wssePassword トークンのパスワード(オプション)。

関連項目: wssePasswordプロパティの詳細は、『Oracle BPEL Process Manager管理者ガイド』を参照してください。

ただちに有効化

C.3 まとめ

この付録では、デプロイメント・ディスクリプタのプリファレンス・プロパティおよびデプロイメント・ディスクリプタの構成プロパティの詳細や、Oracle JDeveloperでのこれらの定義方法について説明しました。