この章では、Oracle SOA Suiteで大規模ドキュメントとメタデータを管理する場合、および多数のインスタンスがある環境を管理する場合のベスト・プラクティスについて説明します。また、大規模ドキュメントの処理のユースケース、大規模ドキュメントの同時処理に関する制限およびチューニングに関する推奨事項についても説明します。
この章では、次の項目について説明します。
Oracle SOA Suiteのチューニングおよびパフォーマンスの詳細は、『Oracle Fusion Middlewareパフォーマンスおよびチューニング・ガイド』を参照してください。
Oracle SOA Suiteの問題のトラブルシューティングの詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』の「Oracle SOA SuiteおよびOracle BPM Suiteのトラブルシューティング」の章を参照してください。
大量のデータを迅速に移動し、複雑なデータ変換を処理するOracle Data Integratorの使用については、次のURLにアクセスしてください。
http://www.oracle.com/technetwork/middleware/data-integrator
この項では、大規模ドキュメントを処理する次のシナリオについて説明し、各シナリオに対するベスト・プラクティスなアプローチを示します。大規模なペイロードを開発および実行する前に、これらのベスト・プラクティスに従うことをお薦めします。
この項では、大規模ドキュメントを処理する場合のユースケースについて説明します。
この項では、バイナリ・オブジェクトをBase64エンコード・テキストとしてXMLペイロードに渡す場合のユースケースについて説明します。
このユースケースでは、バイナリ・アタッチメント(画像など)がテキストとしてBase64でエンコードされ、インラインでXML文書に渡されます。表45-1に詳細を示します。
このユースケースでは、バイナリ・アタッチメント(画像など)がテキストとしてBase64でエンコードされ、MTOM(メッセージ転送最適化メカニズム)ドキュメントとして渡されます。表45-2に詳細を示します。
このユースケースでは、バイナリ・アタッチメント(画像など)がテキストとしてBase64でエンコードされ、インラインでXML文書に渡されます。表45-3に詳細を示します。
このユースケースでは、バイナリ・アタッチメント(画像など)がエンコード・テキストとしてBase64でエンコードされます。表45-4に詳細を示します。
この項では、アタッチメントをエンドツーエンドでストリーミングする場合のユースケースについて説明します。
このユースケースでは、バイナリ・アタッチメント(画像など)がストリームとしてエンドツーエンドで渡されます。表45-5に詳細を示します。
表45-5 機能
機能 | 説明 |
---|---|
セキュリティ |
サポート対象外。 |
フィルタ/トランスフォーメーション/割当て |
パス・スルー。Oracle BPEL Process ManagerでXPath拡張関数を使用する必要があります。 |
バインディング |
WSバインディングが、SOAPアタッチメントに対するストリーム・イテレータを作成します。 |
Oracle BPEL Process Manager/Oracle Mediator |
Oracle Mediatorは、マテリアライズなしのパス・スルーを実行できます。Oracle BPEL Process Managerはアタッチメントを保持します。 |
チューニング |
Oracle BPEL Process Managerで使用する場合は、データベース表領域を管理します。 |
アタッチメント付きSOAPの定義用のWSDLコード |
<mime:part> <mime:content part="bin" type=“image/jpeg"/> </mime:part> |
Oracle Fusion MiddlewareのWebサービスでは、大規模アタッチメントをストリームとして渡すことができます。アタッチメント全体がメモリー内にある場合と同様にアタッチメントを処理するJAX-RPCのAPIとは異なり、ストリームではプログラミング・モデルをより効率的に使用します。また、ストリームを使用すると、サービスの実行前にアタッチメントをメモリーにロードする必要がないため、パフォーマンスおよびスケーラビリティが向上します。
ストリーム・アタッチメントは、埋込みアタッチメントと同様に、MIMEマルチパートのバイナリ形式に準拠しています。埋込みアタッチメントとは、インラインまたはエンコードのアタッチメントを指します。
ワイヤ上では、ストリーム・アタッチメント付きのメッセージはアタッチメント付きの他のSOAPメッセージと同じです。
例45-1に、ストリーム添付ファイル付きのサンプル・メッセージを示します。メッセージの最初のパートはSOAPエンベロープ(<SOAP-ENV:Envelope...
)です。2番目のパートがアタッチメント(この例ではmyImage.gif
)です。
例45-1 ストリーム・アタッチメント付きのサンプル・メッセージ
MIME-Version: 1.0 Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml; Content-Description: This is the optional message description. --MIME_boundary Content-Type: text/xml; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-ID: NotSure/DoesntMatter <?xml version='1.0' ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> . . . <DocumentName>MyImage.gif</DocumentName> . . . </SOAP-ENV:Body> </SOAP-ENV:Envelope> --MIME_boundary Content-Type: image/gif Content-Transfer-Encoding: binary Content-ID: AnythingYoudLike ...binary GIF image... --MIME_boundary--
次の手順を実行して、MIMEアタッチメントを使用するコンポジットを作成します。
MIMEアタッチメントを使用するコンポジットの作成
ペイロード・スキーマを使用してコンポジット(たとえば、Oracle Mediatorを介してアウトバウンドWebサービスに接続するインバウンドWebサービス)を作成します。
Oracle MediatorのWSDLファイル内で、次の手順を実行します。
WSDLデザイナで、Oracle MediatorのWSDLファイルを開きます。
バインディングを中央のスイムレーンにドラッグ・アンド・ドロップします。
RPCバインディングを選択します。
名前を入力します。
WSDLの「ソース」ビューに移動し、MIMEマルチパートを使用してWSDLの入力と出力を変更します。
<wsdl:input> <mime:multipartRelated> <mime:part> <soap:body parts="payload" use="literal"/> </mime:part> <mime:part> <mime:content part="bin" type="application/octet-stream"/> </mime:part> </mime:multipartRelated> </wsdl:input>
リクエスト/レスポンス・メッセージのMIMEパートを追加します。
<wsdl:message name="BPELProcess1RequestMessage"> <wsdl:part name="payload" element="ns1:purchaseOrder" /> <!--add below part--> <wsdl:part name="bin" type="xsd:base64Binary"/> </wsdl:message>
WSDL定義にネームスペースを追加します。
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/">
完了すると、MIMEアタッチメントを参照するWSDLが表示されます。
<wsdl:definitions name="PhotoCatalogService" targetNamespace="http://examples.com/PhotoCatalog" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:types="http://examples.com/PhotoCatalog/types" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://examples.com/PhotoCatalog"> <wsdl:message name="addPhotoRequest"> <wsdl:part name="photo" type="xsd:hexBinary"/> </wsdl:message> <wsdl:message name="addPhotoResponse"> <wsdl:part name="status" type="xsd:string"/> </wsdl:message> <wsdl:message name="replacePhotoRequest"> <wsdl:part name="oldPhoto" type="xsd:string"/> <wsdl:part name="newPhoto" type="xsd:hexBinary"/> </wsdl:message> <wsdl:message name="replacePhotoResponse"> <wsdl:part name="status" type="xsd:string"/> </wsdl:message> <wsdl:portType name="PhotoCatalog"> <wsdl:operation name="addPhoto"> <wsdl:input message="tns:addPhotoRequest"/> <wsdl:output message="tns:addPhotoResponse"/> </wsdl:operation> <wsdl:operation name="replacePhoto"> <wsdl:input message="tns:replacePhotoRequest"/> <wsdl:output message="tns:replacePhotoResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="PhotoCatalogBinding" type="tns:PhotoCatalog"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="addPhoto"> <wsdl:input> <mime:multipartRelated> <mime:part> <soap:body use="literal"/> </mime:part> <mime:part> <mime:content part="photo" type="image/jpeg"/> </mime:part> </mime:multipartRelated> </wsdl:input> <wsdl:output> <mime:multipartRelated> <mime:part> <soap:body use="literal"/> </mime:part> <mime:part> <mime:content part="status" type="text/plain"/> <mime:content part="status" type="text/xml"/> </mime:part> </mime:multipartRelated> </wsdl:output> </wsdl:operation> <wsdl:operation name="replacePhoto"> <wsdl:input> <mime:multipartRelated> <mime:part> <soap:body parts="oldPhoto" use="literal"/> </mime:part> <mime:part> <mime:content part="newPhoto" type="image/jpeg"/> </mime:part> </mime:multipartRelated> </wsdl:input> <wsdl:output> <soap:body parts="status" use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> </wsdl:definitions>
パフォーマンス・オーバーヘッドとパス・スルー・アタッチメント
Oracle Mediatorはステートレスであるため、パス・スルー・アタッチメントに関するパフォーマンス・オーバーヘッドはありません。ただし、Oracle BPEL Process Managerでは、アタッチメントをデハイドレーション(圧縮して格納)するため、パス・スルー・アタッチメントの場合でもパフォーマンス・オーバーヘッドがあります。Oracle BPEL Process Managerでアタッチメントを一定の期間使用すると、SOAインフラストラクチャ・スキーマが最大サイズまで増加し、メモリーの問題が発生する可能性があります。大規模アタッチメントに対応するために、SOAインフラストラクチャ・スキーマに対するデータベース表領域を適切に拡張することをお薦めします。同時に、purgeスクリプトを使用して、表の添付ファイルとともに完了インスタンスをパージすることもできます。purgeスクリプトの詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。
同じコンポジット内の1番目のBPELプロセスが2番目のBPELプロセスをコールするシナリオでは、2番目のBPELプロセスは同じアタッチメントを再度デハイドレーションしません。
コンポジット1の1番目のBPELプロセスがコンポジット2の2番目のBPELプロセスを起動し、最適化が無効化されているシナリオでは、コンポジット1がコンポジット2へのSOAPコールを実行します。2番目のBPELプロセスがアタッチメントをデハイドレーションします。
アタッチメントをストリームするには、composite.xml
ファイルに次のプロパティを追加します。最適化が有効化されている場合は、SOAPコールのかわりにネイティブ・コールが使用されます。例45-2に詳細を示します。
例45-2 アタッチメントをストリーミングするためのプロパティ
<binding.ws port="http://services.otn.com#wsdl.endpoint(MIMEService/MIMEService)" xmlns:ns="http://xmlns.oracle.com/sca/1.0" streamIncomingAttachments="true" streamOutgoingAttachments="true"> <!--Add this prop to reference bindings to make a SOAP call. --> <property name="oracle.webservices.local.optimization">false</property> </binding.ws>
oracle.webservices.local.optimization
プロパティの詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のコンポジット間呼出しでのポリシー・アタッチメントおよびローカルの最適化に関する項およびローカルの最適化の構成に関する項を参照してください。
注意: Oracle Web Services Manager (OWSM)では、ストリームのアタッチメントに関するポリシーの確認や実施は行いません。OWSMの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。 |
BPELプロセスでは、ora:getAttachmentContent
関数がSOAPアタッチメントのコンテンツを読み取り、そのデータをBase64形式でエンコードします。そのためには、BPEL変数をSOAPアタッチメントのhref
を指定する引数として指定します。例45-3に、この関数の使用方法を示します。
例45-3 ora:getAttachmentContent関数
<copy> <from expression="ora:getAttachmentContent('input','bin')"/> <to variable="initiateTaskInput" part="payload" query="/taskservice:initiateTask/task:task/task:attachment/task:content"/> </copy>
例45-3では、href
が"input/bin"
変数に格納されているアタッチメントのコンテンツを、コンテンツ変数にBase64エンコード形式でコピーしています。
Oracle BPEL Process Managerでは、複数のレシーバへのアタッチメント・ストリームの送信がサポートされています。Oracle BPEL Process Managerで複数のレシーバにストリームを送信する場合は、readBinaryFromFile
XPath関数を使用してデータベースからアタッチメント・ストリームを読み取り、そのストリームを適切なターゲットに渡す必要があります。
デフォルトの構成では、Oracle Mediatorはアタッチメント・ストリームを1つのターゲット・レシーバにのみ渡すことができ、これは別のコンポーネントやWebサービス/アダプタの場合があります。2番目のターゲットはアタッチメントを受信できません。Oracle Mediatorコンポーネントに対してpersistStreamAttachment
プロパティを定義した場合、Oracle Mediatorではアタッチメント・ストリームを複数のターゲット・レシーバに渡すことができます。
Oracle Mediatorでは、アタッチメントが含まれているソース・メッセージが複数のターゲット・レシーバによって共有されている場合、ストリーミング・アタッチメントにpersistStreamAttachment
プロパティが必要です。複数のターゲットに対するアタッチメントのストリーミングを有効にするには、composite.xml
でこのプロパティをtrue
に設定します。例45-4に詳細を示します。
例45-4 Oracle Mediatorのストリーミング・アタッチメント・プロパティ
component name="Mediator1">
<implementation.mediator src="Mediator1.mplan"/>
<property name="persistStreamAttachment">true</property>
</component>
Oracle Mediatorでの添付ファイルのパス・スルー設定のオーバーライド
Oracle Mediatorでは、パス・スルーの(つまり、トランスフォーメーションや割当てのルールが含まれない) Oracle Mediatorコンポーネントのアタッチメントはターゲット・レシーバに自動的に伝播されますが、パス・スルーでないOracle Mediatorコンポーネントのアタッチメントは伝播されません。passThroughAttachment
プロパティを使用して、アタッチメント専用のパス・スルー設定をオーバーライドできます。このプロパティをtrue
に設定すると、すべてのアタッチメントがターゲット・レシーバに暗黙的にコピーされます。
パス・スルーでないOracle Mediatorコンポーネントの場合は、このプロパティを使用してアタッチメントを伝播し、パス・スルーのMediatorコンポーネントの場合は、このプロパティを使用してアタッチメントをブロックします。パス・スルー・アタッチメントのオーバーライドを実装するには、このプロパティをプロジェクトのcomposite.xml
ファイルのOracle Mediatorコンポーネントに対応するcomponent
要素に追加します。パス・スルーでないOracle Mediatorコンポーネントをオーバーライドするには、プロパティをtrue
に設定し、パス・スルーのコンポーネントをオーバーライドするには、false
に設定します。例45-5に詳細を示します。
例45-5 アタッチメントのパス・スルー設定
<component name="Mediator">
<implementation.mediator src="Mediator.mplan"/>
<property name="passThroughAttachment">true</property>
</component>
Oracle BPEL Process Managerベースのコンポジットで同期フローを使用してアタッチメントを共有する場合は、同じエンドツーエンドのトランザクションを使用する必要があります。これは、コロケートされ、ローカル・コールまたは最適化されたコールを使用するコンポジットに適用できます。これを実行するには、コール・チェーンでコールされるすべてのBPELコンポーネント(コール先)に、例45-6に示すプロパティを設定します。
例45-6 bpel.config.transactionプロパティ
<property name="bpel.config.transaction" many="false" type="xs:string">required</property>
このようなコンポジットが同じトランザクション・コンテキストの一部として実行されない場合、コール・チェーンの最初のBPELコンポーネントで保存されたアタッチメント・データはコール・チェーンの他のBPELコンポーネントに表示されません。さらに、そのコンポジットではデータベースがロックされ、次のタイムアウト例外が発生します。
"ORA-02049: timeout: distributed transaction waiting for lock"
このユースケースでは、アダプタがバイナリ・データをデータベースにストリームし、サービス・エンジン(Oracle BPEL Process ManagerまたはOracle Mediator)にhref
を公開します。表45-6に詳細を示します。
表45-6 機能
機能 | 説明 |
---|---|
セキュリティ |
なし。 |
フィルタ/トランスフォーメーション/割当て |
アタッチメントのフィルタおよびトランスフォーメーションはサポートされていません。 |
ファンアウト |
サポート対象。 |
バインディング |
アダプタが非XMLをデータベースにバイナリ・ラージ・オブジェクト(BLOB)としてストリームし、そのキーをサービス・エンジンに渡します。 |
Oracle BPEL Process Manager/Oracle Mediator |
サポート対象。 |
チューニング |
|
ドキュメント |
『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。 |
アウトバウンド・ファイル・アダプタを使用したアタッチメントの書込み
例45-7に、ファイル・アダプタを使用してアタッチメントをディスクに書き込むことができるサンプル・スキーマを示します。
例45-7 アタッチメントをディスクに書き込むためのスキーマ
<?xml version="1.0" encoding="windows-1252" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://xmlns.oracle.com/attachment" targetNamespace="http://xmlns.oracle.com/attachment" elementFormDefault="qualified"> <xsd:element name="attach"> <xsd:complexType> <xsd:attribute name="href" type="xsd:string"/> </xsd:complexType> </xsd:element> </xsd:schema>
フローでOracle Mediatorを使用する場合は、Oracle Mediatorのassignを使用して、ソース(Oracle Mediator)のアタッチメント・パートをターゲット(ファイル・アダプタ)にマップします。
Oracle BPEL Process Managerを使用すると、アタッチメントがデハイドレーション・ストアに書き込まれ、処理速度が低下します。
ora:doStreamingTranslate XPath関数を使用したアタッチメントの変換
ora:doStreamingTranslate
XPath関数の使用は、Oracle BPEL Process ManagerまたはOracle Mediatorサービス・コンポーネント内でアタッチメントを変換する場合にのみお薦めします。この関数は、アタッチメントの場所がサーバー上の相対パスで指定されることを想定しています。また、受信アタッチメント・ストリームを変換できません。
この関数の詳細は、B.2.7項「doStreamingTranslate」を参照してください。
このユースケースでは、Oracle B2Bがバイナリ・データをデータベースに格納し、Oracle B2B定義のXSDに基づいてサービス・エンジン(Oracle BPEL Process ManagerまたはOracle Mediator)にhref
を公開します。Oracle B2Bプロトコルがアタッチメントを定義します。表45-7に詳細を示します。
SOAコンポジット・アプリケーションでは、MTOM (MIMEバイナリ)最適化メッセージを送受信するように、サービスおよび参照のバインディング・コンポーネントにOracle WS-MTOMポリシーを添付する必要があります。Oracle WS-MTOMポリシーにサービス・バインディング・コンポーネント(composite.xml
ファイル内のbinding.ws
の下に定義)が構成されている場合は、Oracle SOA SuiteのMTOMメッセージ処理機能が使用されます。Oracle WS-MTOMポリシーに参照バインディング・コンポーネント(これもcomposite.xml
ファイル内のbinding.ws
の下に定義)が構成されている場合は、Oracle SOA SuiteはMTOM最適化メッセージを送信します。
MTOMアタッチメントについては、次の点に注意してください。
添付をインラインにエンコードしている場合は、ファイルへの添付の書込みにファイル・アダプタを使用しないことをお薦めします。
デフォルトのmtomThreshold
値は1024バイトで、変更できません。添付が1024バイト未満の場合、アウトバウンド構成については、Oracle SOA Suiteは添付をインライン添付として送信します。サイズが1024バイトを超える場合は、添付はメッセージ内のhref
属性のアタッチメント・パートとして送信され、ワイヤ上のWSDL定義形式として送信されます。ただし、(別のWebサービス・プロバイダからなどの)着信リクエストに小さいバイナリ・データ(サイズが1024バイト未満)のxop
href
ノードがある場合、Oracle SOA Suiteは、フロー・トレースでペイロード内の同じhref
属性を使用します。例:
<xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:e29caf23dc8045908451fdfaafa26dce" />
コンポジットのサービス・バインディング・コンポーネントにOracle WS-MTOMポリシー参照が含まれていない場合は、サービスで非MTOMメッセージが受入れ可能であることを示します。これは、コール元のコンポジット(該当する参照バインディング)にOracle WS-MTOMポリシー参照がなく、そのサービスに非MTOMメッセージを送信可能であることを示します。
添付のMTOMストリーミングはOracle SOA Suiteではサポートされません。
MTOMアタッチメントは、Webサービス・バインディングでのみサポートされています。他のバインド(HTTPバインディングなど)はサポートされません。
Oracle Mediatorパス・スルー・シナリオがサポートされます。Oracle Mediatorにトランスフォーメーション文もAssign文も含まれていない場合、これはパス・スルーOracle Mediatorと呼ばれます。受信したメッセージと添付は、ペイロードと添付を変更せずにターゲットに伝播されます。同じメッセージ内の複数のMTOMアタッチメントも同様にOracle SOA Suiteで送受信されます。
ストリーミングとMTOMメッセージ処理機能の両方を添付の送受信に使用しないことをお薦めします。ストリーミングまたはMTOMメッセージ処理機能のどちらかを使用してください。
注意: 入力が |
ベスト・プラクティスとしては、バイナリ・データの伝播にXSLTマッパーを使用しないことをお薦めします。かわりに、assignアクティビティを使用します。バイナリ・データの伝播にスタイルシートを使用する必要がある場合は、xsl:copy-of
による方法(copy-of
により属性を含むすべてをコピー)を使用するか、ソースからターゲットへ属性をコピーするカスタム関数を使用することをお薦めします。
MTOMアタッチメントのサイズはGB単位にはできません。かわりに、大きいサイズの添付にはアタッチメント付きのSOAPストリーミング機能を使用します。詳細は、第45.1.1.2.1項「アタッチメント付きのSOAP」を参照してください。
BPELプロセスを含むSOAコンポジット・アプリケーションがMTOM最適化SOAPメッセージを受信すると、そのMTOM最適化要素(<xop href=””>
が付いたもの)それぞれのアタッチメントのコンテンツがデハイドレーション・ストアに格納されます。同様に、1つ以上のアタッチメントとともにアタッチメント付きのSOAPメッセージ(SwA)メッセージを受信すると、各アタッチメントはデハイドレーション・ストアに格納されます。これらのアタッチメントは、データベース内でそれらを識別するhref
属性を使用する参照によって、受け渡すことができます。実際に、このhref
属性によって、これらのアタッチメント要素のテキスト・コンテンツのすべてが削除され、置換されます。MTOM最適化メッセージの場合、<xop>
要素の受信href
属性の同じ値が再使用されます。同様に、SwAの場合、アタッチメント要素のhref
属性が再使用されます。
メッセージがBPELプロセス・サービス・エンジンに配信されるとき(受信メッセージがDLV_MESSAGE
表に保存されるとき)に、アタッチメントはデハイドレーション・ストアに格納されます。したがって、それは、composite.xml
ファイルでbpel.config.oneWayDeliveryPolicy
がasync.persist
(デフォルト値)に設定されている一方向および非同期BPELプロセスに対してのみ適用できます。
アタッチメントは、次のユース・ケースでは永続化されません。
SOAPメッセージが、bpel.config.oneWayDeliveryPolicy
をsync
またはasync.cache
に設定した同期BPELプロセスまたは一方向/非同期BPELプロセスによって受信された場合。
インライン・バイナリ・コンテンツ付きのSOAPリクエスト内のすべての要素のコンテンツが永続化されず、そのままで渡されます。(つまり、それらには子要素<xop:Include>
はないが、子としてbase64エンコード文字列があります。)MTOM最適化メッセージは、インラインbase64データを持つ1つ以上の要素と、いずれかのレベルでXOPパッケージ化された1つ以上の要素の組合せにすることができます。
注意: サービス・バインディング・コンポーネントがMTOM対応であっても、それが、自動的に、そのサービスがMTOM最適化メッセージを受信することを示すわけではありません。コール元のサービスまたはアプリケーションは、MTOM最適化メッセージが確実に受信されるようにするには、ワイヤを介してそのメッセージを送信する必要があります。MTOM対応バインディングは、通常の非MTOMメッセージも受信できます。したがって、それが受信したときに、サービスに着信したSOAPリクエストには、データベースに保存されない非最適化インライン・バイナリ・データ要素が含まれていることがあります。 |
MTOM最適化要素またはSwAアタッチメントのコンテンツの値が実行時にhref
属性によって置換される場合でも、それらの設計時のWSDLが変更されることありません。Oracle JDeveloperでこれらの変更は表示されません。それらの要素タイプ定義は、href
属性で、hexBinary、base64Binaryなどから、空のコンテンツのものに変更されることはありません。
ただし、これは、ユーザーとって透過的です。たとえば、assignアクティビティを使用してそれらのコンテンツ全体をコピーすると、実行時にhref
値がコピーされます。同様に、Webサービス、アダプタなどアウトバウンド参照を起動すると、Oracle SOA Suiteによってhref
属性が実際のデータに自動的に解決され、起動が実行されます。
この項では、繰返しコンストラクトを使用して大規模XMLを処理する場合のユースケースについて説明します。
このユースケースでは、インバウンド・アダプタがソース・ドキュメントを複数のバッチのレコードに分割し、各バッチがコンポジット・インスタンスを起動します。表45-8に詳細を示します。
表45-8 機能
機能 | 説明 |
---|---|
セキュリティ |
なし。 |
フィルタ/トランスフォーメーション/割当て |
サポート対象。 |
ファンアウト |
サポート対象。 |
バインディング |
ファイル/FTPアダプタが、ソース・ドキュメントをネイティブのXSD (NXSD)定義に基づいて小さいチャンクにデバッチします。 |
Oracle BPEL Process Manager/Oracle Mediator |
サポート対象。 |
チューニング |
ペイロード全体のサイズと比較して繰返し構造の方が小さいペイロードであるシナリオの場合は、繰返し構造に対してXSLTがサポートされます。assignアクティビティではシャドウ・コピーが実行されるため、assignアクティビティでの置換をお薦めします。 |
ドキュメント |
『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。 |
このユースケースでは、BPELプロセス内のループが一度に1チャンクのレコードとプロセス(つまりカーソル)を読み取ります。表45-9に詳細を示します。
この項では、複雑な構造の大規模XML文書を処理する場合のユースケースについて説明します。
このユースケースでは、大規模XMLファイルがSDOMとしてOracle B2BからOracle SOA Suiteに渡されます。これが実行されるのは、大規模ペイロード・サイズがOracle B2Bユーザー・インタフェースで定義されている場合のみです。表45-11に詳細を示します。
この項では、チューニングに関する一般的な推奨事項について説明します。
Oracle SOA Suiteのチューニングおよびパフォーマンスの詳細は、『Oracle Fusion Middlewareパフォーマンスおよびチューニング・ガイド』を参照してください。
この項では、チューニングに関する一般的な推奨事項について説明します。
Oracle WebLogic Server管理コンソールで、JTAトランザクションのタイムアウトを500
秒に増加します。手順については、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』の接続タイムアウトの解決に関する項を参照してください。
Oracle Enterprise Manager Fusion Middleware Controlで、SOAコンポジット・アプリケーション・レベルの監査レベルを「オフ」または「本番」に設定します。詳細は、第45.1.3.2項「大規模ペイロード処理に対するOracle Enterprise Managerからの監査レベルの設定」を参照してください。
setDomainEnv.sh
(Linux)またはsetDomainEnv.bat
(Windows)のJAVA_OPTIONS
で次の行を非コメント化して、サーバーを再起動します。この行が存在しない場合は追加します。この設定を行わないと、大規模ペイロード・シナリオは、デハイドレーション・データ・ソースに対してResourceDisabledException
エラーで失敗します。
-Dweblogic.resourcepool.max_test_wait_secs=30
次のように、setSOADomainEnv.sh
またはsetDomainEnv.bat
のヒープのサイズを更新します。
DEFAULT_MEM_ARGS="-Xms1024m -Xmx2048m"
最適化されたトランスレーション機能(ora:
doTranslateFromNative
、ora:
doTranslateToNative
、ora:
doStreamingTranslate
など)を使用します。この機能は大規模なペイロードのトランスフォーメーションおよびトランスレーション実行時に使用できます。
これらの関数の詳細は、付録B「XPath拡張関数」を参照してください。
大規模アタッチメントを処理するためにデータ・ファイルを拡張します。詳細は、『Oracle Database管理者ガイド』を参照してください。
大規模ドキュメントの処理時にタイムアウト・エラーが発生した場合は、次のタスクを実行します。
タイムアウト・プロパティ値を増やします。
「スタック・スレッド最大時間」プロパティ値を増やします。
タイムアウト・プロパティ値は次のように増加します。
Oracle Web Services Manager管理コンソールにログインします。
「デプロイメント」→「soa-infra」→「EJB」の順に移動します。
次に示すBeanをそれぞれクリックし、「構成」を選択してタイムアウト値を増加します。
BpelEngineBean
BpelDeliveryBean
CompositeMetaDataServiceBean
「スタック・スレッド最大時間」プロパティ値は次のように増加します。
手順は、Oracle Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニングの「WebLogic 8.1のスレッド・プール・モデルの使用」の章を参照してください。
大規模なペイロードを処理する際は、特定のコンポジットに対する監査レベルのロギングをオフにしてください。Oracle Enterprise Manager Fusion Middleware Controlで、コンポジットの監査レベルのオプションを「オフ」または「本番」に設定できます。コンポジットの監査レベルのオプションを「開発」に設定した場合は、大規模なペイロード全体がメモリー内文字列にシリアライズされ、メモリー不足のエラーが発生する可能性があります。
監査レベルの設定の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。
Oracle BPEL Process ManagerまたはOracle Mediatorで、大規模なペイロードを操作するためにassignアクティビティを使用する場合は、メッセージ全体を割り当てないでください。かわりに、ペイロードの必要な部分のみを割り当ててください。
また、Oracle BPEL Process Managerでassignアクティビティを使用する場合は、可能なかぎりプロセス変数ではなくローカル変数を使用することをお薦めします。ローカル変数は、BPELプロセスのスコープ内に制限されます。これらの変数は、スコープを閉じた後はメモリーおよびデータベースから削除されます。ただし、グローバル変数のライフ・サイクルは、インスタンスのライフ・サイクルと関連付けられています。これらの変数は、インスタンスが完了するまで、メモリー内またはディスク内にとどまります。したがって、プロセス変数またはグローバル変数より、ローカル変数をお薦めします。
11g リリース1 11.1.1.3までは、Oracle BPEL Process ManagerでのXSLT操作は、結果のドキュメント全体がバイナリXML形式でメモリーにキャッシュされていました。これは、大規模ドキュメント処理の場合、メモリー不足エラーの原因となりました。11g リリース1 11.1.1.4からは、streamResultToTempFile
プロパティが追加されています。このプロパティでは、XSLTの結果が一時ファイルにストリーミングされ、一時ファイルからロードされます。大規模ペイロードをXSLTを使用して処理する場合は、streamResultToTempFile
をyes
に設定します。デフォルト値はno
です。
このプロパティは、次のBPEL XPath関数を使用する場合に適用可能です。
ora:processXSLT('template','input','properties'?)
ora:doXSLTransformForDoc ('template','input','name', 'value')
大きなXML文書をXSLTを使用して処理するよう構成する手順は、次のとおりです。
BPEL共通プロパティ・スキーマを作成します。例:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace ="http://schemas.oracle.com/service/bpel/common" xmlns:common = "http://schemas.oracle.com/service/bpel/common" xmlns:xs = "http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" blockDefault="#all"> <xs:element name="serviceProperties" type="common:PropertiesType"/> <xs:element name="anyProperties" type="common:ArrayOfNameAnyTypePairType"/> <xs:complexType name="NameValuePairType"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="value" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="ArrayOfNameValuePairType"> <xs:sequence> <xs:element name="item" type="common:NameValuePairType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="NameAnyTypePairType"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="value" type="xs:anyType"/> </xs:sequence> </xs:complexType> <xs:complexType name="ArrayOfNameAnyTypePairType"> <xs:sequence> <xs:element name="item" type="common:NameAnyTypePairType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="PropertiesType"> <xs:sequence> <xs:element name="property" type="common:NameValuePairType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="ArrayOfAnyTypeType"> <xs:sequence> <xs:element name="item" type="xs:anyType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:schema>
BPELプロセス内で、import
セクションにネームスペースを追加します。
xmlns:common = "http://schemas.oracle.com/service/bpel/common"
グローバル変数を作成します(この例では、propertiesXMLVar
という名前で作成):
<variable name="propertiesXMLVar" element="common:anyProperties"/>
streamResultToTempFile
プロパティをyes
に設定します。このassignアクティビティはXSLTトランスフォーメーションの実行前に存在している必要があります。
<assign name="Assign_xsltprop"> <copy> <from> <common:anyProperties> <common:item> <common:name>streamResultToTempFile</common:name> <common:value>yes</common:value> </common:item> </common:anyProperties> </from> <to variable="propertiesXMLVar"/> </copy> </assign>
11g リリース1 11.1.1.3までは、Oracle MediatorでのXSLT操作は、結果のドキュメント全体がバイナリXML形式でメモリーにキャッシュされていました。これは、大規模ドキュメント処理の場合、メモリー不足エラーの原因となりました。11g リリース1 11.1.1.4からは、streamResultToTempFile
プロパティを使用できます。このプロパティでは、XSLTの結果が一時ファイルにストリーミングされ、一時ファイルからロードされます。大規模ペイロードをXSLTを使用して処理する場合は、streamResultToTempFile
をyes
に設定します。デフォルト値はno
です。
注意: このプロパティは、大規模なペイロードを処理する場合にのみお薦めします。このプロパティを有効にすると、通常のペイロードのパフォーマンスが低下する可能性があります。 |
大きなXML文書をXSLTを使用して処理するよう構成する手順は、次のとおりです。
Oracle MediatorコンポーネントでOracle SOA Suiteプロジェクトを作成します。
「ソース」ビューでプロジェクトのcomposite.xml
ファイルを開きます。
composite.xml
ファイルで、大規模なXMLドキュメントを処理するOracle Mediatorコンポーネントを定義するコンポーネント要素にスクロールし、streamResultToTempFile
プロパティを追加します。次に示すように、プロパティをyes
に設定します。
<component name="Mediator1"> <implementation.mediator src="Mediator1.mplan"/> <property name="streamResultToTempFile">yes</property> </component>
ファイルを保存し、閉じます。
ペイロード全体と比較して繰返し構造の方がペイロードが小さい場合は、XSLTトランスフォーメーションの使用をお薦めします。これは、現在のXSLT実装ではDOM全体がメモリーにマテリアライズされるためです。たとえば、PurchaseOrder.LineItem.Supplier
(大規模ペイロードの一部分)を使用します。
また、assignアクティビティではシャドウ・コピーが実行されるため、assignアクティビティを使用して置換することもできます。シャドウ・コピーではDOMはマテリアライズされませんが、ソース文書を指し示すシャドウ・ノードが作成されます。
また、大規模なペイロードのトランスフォーメーション/トランスレーション実行時に、次に示す最適化されたトランスレーション機能を使用することもできます。
ora:doTranslateFromNative
またはmed:doTranslateFromNative
ora:doTranslateToNative
またはmed:doTranslateToNative
ora:doStreamingTranslate
またはmed:doStreamingTranslate
これらの機能の詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』の付録B「XPath拡張関数」 を参照してください。
Oracle B2Bで大規模ドキュメントを処理する場合は、次のパラメータをチューニングします。
mdsCache
Cache
Size
Protocol
Message
Size
Number
of
threads
Stuck
Thread
Max
Time
Tablespace
次の各項では、Oracle B2Bで大規模ドキュメントを処理する場合に設定する必要があるパラメータについて説明します。
Oracle Metadata Services (MDS)リポジトリ・インスタンス・キャッシュ・サイズを設定するには、例45-8に示すように、$DOMAIN_HOME/config/soa-infra/configuration/b2b-config.xml
ファイルにプロパティと値を追加する必要があります。
Oracle B2Bで10MBを超えるメッセージを送受信する場合、またはインポート/エクスポート構成が10MBを超える場合は、Oracle WebLogic Server管理コンソールで次の設定を変更します。
プロトコル・メッセージ・サイズを構成する手順は、次のとおりです。
「ドメイン構造」で、「環境」→「サーバー」の順に選択します。
表の「名前」列で、「soa_server」を選択します。
「プロトコル」タブを選択します。
「最大メッセージ・サイズ」の値を変更します。
この設定は、$DOMAIN_HOME/config/config.xml
ファイルで追加または変更することもできます。サーバー名構成の次で追加または変更します。例45-9に例を示します。
注意: デフォルトで、 |
このパラメータによって、Oracle B2Bのメッセージ処理機能が向上します。これは、$DOMAIN_HOME/config/soa-infra/configuration/b2b-config.xml
ファイルで設定する必要があります。例45-10に例を示します。
例45-10 スレッド数
<property> <name>b2b.inboundProcess.threadCount</name> <value>5</value> <comment></comment> </property> <property> <name>b2b.inboundProcess.sleepTime</name> <value>10</value> <comment></comment> </property> <property> <name>b2b.outboundProcess.threadCount</name> <value>5</value> <comment></comment> </property> <property> <name>b2b.outboundProcess.sleepTime</name> <value>10</value> <comment></comment> </property> <property> <name>b2b.defaultProcess.threadCount</name> <value>5</value> <comment></comment> </property> <property> <name>b2b.defaultProcess.sleepTime</name> <value>10</value> <comment></comment> </property>
「スタック・スレッド最大時間」パラメータは、サーバーがスレッドをスタック状態であると判断するまでに、スレッドが継続的に動作している必要のある秒数をチェックします。Oracle WebLogic Server管理コンソールで次の設定を変更する必要があります。
スタック・スレッド最大時間パラメータを構成する手順は、次のとおりです。
「ドメイン構造」で、「環境」→「サーバー」の順に選択します。
表の「名前」列で、「soa_server」を選択します。
「チューニング」タブを選択します。
「スタック・スレッド最大時間」の値を変更します。
150MBを超える構成をデータ・ファイルに格納する必要がある場合は、例45-11に示すように、データ・ファイルを拡張または追加して、表領域のサイズを増やす必要があります。
インバウンドWebサービスのメッセージ・サイズにサイズ制限を設定する場合は、composite.xml
ファイルでバインディング・コンポーネントのプロパティmax-message-size
を構成します。プロパティ値は基礎となるWebサービス・インフラストラクチャで使用可能となり、値は受信メッセージ・サイズに対するテストに使用されます。指定した値を超えると、メッセージ・サイズが大きすぎることを示す例外がスローされ、トランザクションは処理されません。例45-12に詳細を示します。
例45-12 composite.xmlでのmax-message-sizeの設定
<composite name="LrgMsg" revision="1.0" label="2011-09-08_22-53-53_259"
mode="active" state="on">
<import namespace="http://xmlns.oracle.com/LargeMsg/LrgMsg/BPELProcess1"
location="BPELProcess1.wsdl" importType="wsdl"/>
<service name="bpelprocess1_client_ep" ui:wsdlLocation="BPELProcess1.wsdl">
<interface.wsdl
interface="http://xmlns.oracle.com/LargeMsg/LrgMsg/BPELProcess1# wsdl.interface
(BPELProcess1)"/>
<binding.ws port="http://xmlns.oracle.com/LargeMsg/LrgMsg/BPELProcess1
#wsdl.endpoint(bpelprocess1_client_ep/BPELProcess1_pt)">
<property name="max-message-size" type="xs:integer" many="false"
override="may">4</property>
</binding.ws>
</service>
<component name="BPELProcess1" version="1.1">
<implementation.bpel src="BPELProcess1.bpel"/>
</component>
<wire>
<source.uri>bpelprocess1_client_ep</source.uri>
<target.uri>BPELProcess1/bpelprocess1_client</target.uri>
</wire>
</composite>
次の関数を使用して、大規模なXSLT/XQuery操作の結果をディレクトリ・システム内の一時ファイルに書き込むことができます。その後、ドキュメントは必要なときに一時ファイルからロードされます。これにより、ドキュメント全体をバイナリXMLとしてメモリーにキャッシュする必要がなくなります。
ora:processXSLT
ora:doXSLTransformForDoc
この機能を有効化にするには、ora:processXSLT
関数でproperties
引数を使用します。
ora:processXSLT('template','input','properties'?)
この引数の値は、XSLT内で、XSL変数からデータを抽出するのと同様な方法で取得します。properties
引数は、例45-13に示されているような構造のXML要素です。大きいペイロードの結果(10MBを超えるなど)に対しては、streamResultToTempFile
をyes
に設定します。一時ファイルに書き込む必要のない小さいペイロードの結果には、このプロパティをデフォルト値のno
の設定のままにしておきます。
例45-13 プロパティXML
<propertiesXMLVar> <common:item xmlns:common="http://schemas.oracle.com/service/bpel/common"> <common:name>streamResultToTempFile</common:name> <common:value>yes</common:value> </common:item> </propertiesXMLVar>
XSLT内で、名前streamResultToTempFile
およびその値yes
を介して、このパラメータにアクセスできます。
Oracle BPEL Process Managerでは、ora:processXSLT('template','input','properties'?)
にプロパティを移入するためにリテラルのassignが実行されます。
この関数の使用の詳細は、B.2.52項「processXSLT」を参照してください。
ora:doXSLTransformForDoc
関数では、この機能を有効にするために、name
およびvalue
プロパティを設定します。
ora:doXSLTransformForDoc ('template','input','name', 'value')
この関数で、name
にstreamResultToTempFile、value
にyes
が渡されます。
この関数の使用の詳細は、B.2.11項「doXSLTransformForDoc」を参照してください。
この項では、大規模メタデータの処理に関する推奨事項について説明します。
BPELプロセスで実行できるアクティビティ数には制限があります。この制限を超えると、システム・メモリーが一杯になり、タイムアウトが発生する可能性があります。たとえば、次のパラメータを使用すると、タイムアウトによって2つのフォルト・インスタンスが発生します。
スレッド数: 100
思考時間(秒数): 1
受信リクエスト・メッセージ数: 1000
システム・メモリーの安定性を確保するために、受信リクエスト・メッセージ数を適切なレベルに保つようにしてください。
多数のアクティビティ(例: 50,000)があるBPELプロセスをデプロイするには、次の設定が必要です。
MEM_ARGS: -Xms512m -Xmx1024m -XX:PermSize = 128m -XX:MaxPermSize = 256m Number of Concurrent Threads = 20 Number of Loops = 5 Delay = 100 ms
この設定によって、flowNアクティビティを使用せずにwhileループのみを使用するBPELプロセスを、正常にデプロイおよび実行できるようになります。
多数のアクティビティ(例: 50,000)があるBPELプロセスをデプロイするには、次の設定が必要です。
USER_MEM_ARGS: -Xms2048m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256m Number of Concurrent Threads= 10 Number of Loops=5 Delay=100 ms
Oracle Enterprise Manager Fusion Middleware ControlのシステムMBeanブラウザで、StatsLastNプロパティを-1
に設定します。
この設定によって、flowNアクティビティを使用するBPELプロセスを、正常にデプロイおよび実行できるようになります。
詳細は、第10.3.1項「BPEL 1.1のflowNアクティビティによるflowアクティビティ数のカスタマイズ」および『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のBPELプロセス・サービス・エンジン・プロパティの構成に関する項を参照してください。
7000までのアクティビティがあるBPELプロセスを、次の設定で正常にデプロイおよび実行できます。
USER_MEM_ARGS: -Xms2048m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256m
注意: 8000を超えるアクティビティがあるBPELプロセスをデプロイすると、Oracle BPEL Process Managerのコンパイルでエラーがスローされます。 |
7000までのアクティビティがあるBPELプロセスを、次の設定で正常にデプロイおよび実行できます。
USER_MEM_ARGS: -Xms2048m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=512m
注意: 10,000を超えるアクティビティがあるBPELプロセスをデプロイすると、そのプロセスのコンパイルに失敗します。 |
多数のアクティビティ(例: 5000まで)があるBPELプロセスを、正常にデプロイおよび実行できます。
BPELプロセスのコンパイルは、6000アクティビティの場合は失敗する可能性があります。
単一のコンポジットに50を超えるOracle Mediatorを含めないことをお薦めします。環境にあわせて、JTAトランザクション・タイムアウトを高い値に増やします。
大規模なデータ・セットのインポートには、ブラウザは使用せずにコマンドライン・ユーティリティを使用することをお薦めします。大規模なデータの構成には、次のユーティリティ・コマンドを使用してください。
purge
: リポジトリ全体をパージします。
import
: 指定したZIPファイルをインポートします。
deploy
: 名前を指定してアグリーメントをデプロイします。名前を指定しない場合は、すべてのアグリーメントがデプロイされます。
ただし、purgeimportdeploy
オプションは、Oracle B2B構成の転送またはデプロイには使用しないことをお薦めします。
詳細は、『Oracle Fusion Middleware Oracle B2Bユーザーズ・ガイド』を参照してください。
この項では、多数のインスタンスおよびフォルト・メトリックの処理に関する推奨事項について説明します。
Oracle Enterprise Manager Fusion Middleware Controlでの数千のインスタンスおよび拒否メッセージの削除は時間を要するため、トランザクション・タイムアウトが発生する可能性があります。このタスクを実行する必要がある場合は、PL/SQLパージ・スクリプトを使用してインスタンスと拒否メッセージを削除します。
詳細は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイドを参照してください。
Oracle Enterprise Manager Fusion Middleware Controlで、大量のインスタンスとフォルト・データを表示するページのロード時間を短縮するには、SOAインフラストラクチャの「共通プロパティ」ページの「データ表示オプション」セクションで2つのプロパティを設定します。
この2つのプロパティによって、次の操作を実行できます。
インスタンス数とフォルト数のデータのフェッチを無効化して、次のページのロード時間を短縮できます。
SOAインフラストラクチャ、SOAコンポジット・アプリケーション、サービス・エンジンおよびサービス・コンポーネントのダッシュボード・ページ
「オプションを指定して削除: インスタンス」ダイアログ
この設定では、ページをロードする際にすべてのメトリック情報のロードが無効化されます。たとえば、SOAインフラストラクチャのダッシュボード・ページでは、「最新のコンポジット・インスタンス」セクションの「実行中」フィールドと「合計」フィールド、および「デプロイ済コンポジット」セクションの「インスタンス」列に通常表示される各値が、リンクに置き換えられます。これらの値が大量にある場合は、このページや類似情報が含まれた他のページのロードに時間を要する可能性があります。
検索基準の一部として使用するデフォルトの期間を指定して、次のページに表示される最新のインスタンスとフォルトを取得できます。
SOAインフラストラクチャ、SOAコンポジット・アプリケーション、サービス・エンジンおよびサービス・コンポーネントのダッシュボード・ページおよびインスタンス・ページ
サービスと参照のダッシュボード・ページ
SOAインフラストラクチャ、SOAコンポジット・アプリケーション、サービスおよび参照のフォルト・ページおよび拒否メッセージ・ページ
サービス・エンジンおよびサービス・コンポーネントのフォルト・ページ
これらのプロパティの設定の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。