ビジネス・ルールとOracle ADF Business Componentsファクト・タイプの使用
Oracle ADF Business Componentsファクト・タイプおよびActionTypes
は、ビジネス・ルール・サービス・エンジンから使用できます。通常、デシジョン・コンポーネントはSOAコンポジット内で使用され、BPELコンポーネントおよびXMLタイプに関するOracle Business Rulesのルールに接続できます。ビジネス・ルール・サービス・エンジンは、XMLスキーマ・タイプのインスタンスを含むペイロードが指定されたWebサービスとしてコールされ、同様の方法でレスポンスを返します。
Oracle ADF Business Componentsファクト・タイプはデシジョン・コンポーネントから使用することもできます。Oracle ADF Business Componentsファクト・タイプ・インスタンスをロードしてビジネス・ルール・サービス・エンジンに渡すかわりに、Oracle ADF Business Componentsビュー・オブジェクト行のロード方法を記述した構成情報を指定してビジネス・ルール・サービス・エンジンをコールします。その結果、DecisionPointDictionary
の特別なOracle Business Rulesデシジョン関数およびOracle Business Rules SDKデシジョン・ポイントAPIのクラスによって行がロードされ、Oracle ADF Business Componentsファクト・タイプ・インスタンスがアサートされます。Oracle ADF Business Componentsファクト・タイプを使用する場合は、基礎となるデータベース行を更新するようなOracle ADF Business Componentsファクト・タイプ・インスタンスの変更など、操作に影響を与えるActionTypeから継承するユーザー定義Javaクラスを使用するルールを記述します。
デシジョン・コンポーネントには、入力としてXML文書が必要です。Oracle Business Rulesデシジョン・ポイント・ディクショナリには、この入力として機能するSimpleDecisionPointInput
というXMLファクト・タイプが用意されています。ビジネス・ルール・サービス・コンポーネントには、Oracle ADF Business Componentsの主キーが渡されます。ビジネス・ルール・サービス・コンポーネントはユーザー定義のデシジョン関数を起動します。このデシジョン関数は、Oracle ADF Business Componentsビュー・オブジェクト・インスタンスをロードし、ルール・エンジンでアサートし、結果を次の順にマーシャリングします。
-
DecisionPointDictionary.DecisionPoint_Preprocessing_Webserviceルールセット: 事前処理ルールセットがデータベースからビジネス・コンポーネントを読み取り、ファクトとしてアサートします。
-
ユーザー定義ルールセット: ユーザー・ルールセットがこれらのファクトを照合し、ビジネス・コンポーネントを更新するために
ActionType
を拡張するファクトをアサートします。 -
DecisionPointDictionary.DecisionPoint_Postprocessing_Webserviceルールセット: 実際の更新は、事後処理ルールセットによって実行されます。
ActionTypes
の使用はオプションです。
ビジネス・ルール・サービス・エンジンからOracle ADF Business Componentsファクト・タイプおよびActionTypes
を使用する方法の詳細は、Oracle SOA Suiteサンプルに使用可能なルール・デザイナ固有のサンプルのソース・コードを参照してください。