12 実行時のOracle Business RulesとのOracle SOAコンポーザの使用方法

Oracle SOAコンポーザ・アプリケーションを使用して、SOAコンポジット・アプリケーションの一部である、デプロイされたディクショナリおよびタスクを使用します。

12.1 Oracle SOAコンポーザの概要

Oracle SOAコンポーザはWebベースのアプリケーションで、Oracle Business Rulesのディクショナリやタスクをデプロイされたアプリケーションで使用可能にします。Oracle SOAコンポーザは、MDSリポジトリ内のディクショナリまたはタスクにアクセスします。

Oracle SOAコンポーザは、DVMドキュメント、SOAコンポジット、Oracle Business Rulesディクショナリなど様々なタイプのメタデータ・アーティファクトの表示および編集をサポートします。図12-1に示すように、「タイプ・ビュー」または「デプロイメント・ビュー」によって様々なタイプのメタデータを表示できます。

「デプロイメント・ビュー」がデフォルトです。「タイプ・ビュー」を選択して、タイプ(「ビジネス・ルール」、「ドメイン値マップ」、「ヒューマン・タスク」または「SOAコンポジット」)別にリストされたアーティファクトを表示します。

図12-1 Oracle SOAコンポーザの「タイプ・ビュー」

図12-1の説明が続きます
「図12-1 Oracle SOAコンポーザの「タイプ・ビュー」」の説明

「デプロイメント・ビュー」には、SOA-InfraSharedの2つのノードがあります。デフォルト・ノードは、Enterprise Managerで作成および管理されるSOAパーティションです。Sharedフォルダには、JDeveloperで作成されて共有アーティファクトとしてデプロイされるルールまたはDVMが表示されます。

どちらのビューでも、ナビゲーション・ツリーでアーティファクトをクリックすると、それらが別のタブで開きます。

SOAコンポーザでは、BPMをインストールしていない場合は「動詞ルール」および「ビジネス・フレーズ」機能は表示されません。

「表示」ドロップダウンの上にある検索フィールドを使用して、図12-2に示すように、名前でタイプをすばやく検索し、フィルタリングします。このページからアーティファクトを開くにはクリックします。

図12-2 検索とフィルタ

図12-2の説明が続きます
「図12-2 検索とフィルタ」の説明

12.1.1 セッションの作成とパブリッシュ

アーティファクトをクリックして読取り専用モードで開きます。アーティファクトに変更を行う予定である場合は、「セッションの編集」ボタンをクリックします。大部分のセッション・ボタンは、セッション内である場合にのみアクティブになります。変更が完了したら、「パブリッシュ」をクリックします。セッション内のすべての変更はメイン・リポジトリにコミットされ、他の人が表示できるようになり、サーバーによって実行が開始されます。検証エラーがある場合はパブリッシュできませんが、検証エラーのあるルールを保存して別のセッションで再びそれらの作業を行えます。

「破棄」ボタンで、保存する必要がない変更を取り消すことができます。セッション内でいくつか変更を行った後に、開始したときの元の状態に戻す必要がある場合は、「セッションの終了」をクリックします。「セッションの編集」を再度クリックすると、最後に保存したセッション情報が表示されます。

次のアイコンおよびボタンで、追加の情報が表示されます。

表12-1 SOAコンポーザのボタン

ボタン 説明

図については、周辺の説明を参照してください。 セッション情報

このアイコンの上にカーソルを移動すると、「セッションの詳細」が表示されます。

図については、周辺の説明を参照してください。 最大化

クリックすると、タブ・セクションが最大化します。これにより、ルールを記述または編集する際に画面領域が広くなります。再度クリックすると、ビューが元のサイズに戻ります。

図については、周辺の説明を参照してください。 検証

クリックして、変更内容を検証します。保存するときにシステムによって検証され、検証エラーのあるルールを保存できますが、パブリッシュはできません。検証の詳細は、「Oracle Business Rulesディクショナリの検証と診断」を参照してください。

図については、周辺の説明を参照してください。 ブックマーク

今後のセッションで検索/デプロイメント・ビューを回避する場合はブックマークをクリックします。詳細は、「ブックマークの作成」を参照してください。

「現在のタブでの変更を保存」または「すべてのタブでの変更を保存」

必要に応じてクリックして保存します。

状況依存ヘルプを開く

クリックすると、オンライン・ヘルプ・ファイルが表示されます。

「すべて閉じる」、「その他を閉じる」

ドロップダウンをクリックして選択し、タブを閉じます。

図については、周辺の説明を参照してください。

「アクション」ドロップダウンによって、ディクショナリの比較およびマージ、Microsoft Excelでのデシジョン表の使用、およびディクショナリ設定の確認を行えます。

「差異のマージ」によって、「ファイルシステム」、「公開済のバージョン」、または「保存済バージョン」と現在選択されているディクショナリを比較できます。差異がある場合、ディクショナリのマージを選択できます。

ディクショナリの比較またはマージの詳細は、「Oracle Business Rulesディクショナリの比較およびマージ」を参照してください。

「Excelからインポート」によって、Excelからデシジョン表をインポートできます。

「Excelにエクスポート」によって、デシジョン表をエクスポートしExcelで編集できます。

Excelの使用方法の詳細は、「Microsoft Excelでのデシジョン表の編集」を参照してください。

「ディクショナリ設定」によって、ディクショナリ・プリファレンスを設定できます。

ディクショナリ設定の確認の詳細は、「ディクショナリ設定の確認」を参照してください。

「診断」、「履歴センター」、「ログの保存」、「検証ログ」

「SOAコンポーザ」ページの下部には、「診断」、「履歴センター」、「ログの保存」および「検証ログ」の4つのタブがあります。これらのタブを使用して、ルールに対する変更を検証し、アーティファクトに対する変更を実行および解決します。

これらのタブの詳細は、「Oracle Business Rulesディクショナリの検証と診断」を参照してください。

12.1.1.1 Oracle Business Rulesディクショナリの変更のパブリッシュ

ディクショナリの変更を検証した後は、「パブリッシュ」をクリックして、MDSリポジトリに対してそれらの変更をコミットします。

Oracle Business Rulesディクショナリに変更をパブリッシュするには:

  1. 「パブリッシュ」メニュー項目をクリックします。
  2. MDSリポジトリに変更を加える場合は、「確認」ダイアログで「はい」をクリックします。MDSリポジトリに変更を加えない場合は、「いいえ」をクリックします。

    「リポジトリからJDeveloperへの実行時のルール変更のインポート」で説明されている作業に従い、実行時の変更をルール・エディタADFに忘れずに反映してください。

  3. 編集セッションを保存して、コンポジットをデプロイした後にディクショナリを開くと、最後に保存された編集セッションが開きます。

    複数ユーザーが同じディクショナリを編集している場合は、ディクショナリが別のユーザーにより編集されているというメッセージが表示され、確認を求められます。複数のユーザーが1つのディクショナリで作業した場合、最後のパブリッシュのみ持続します。

    新しいディクショナリを開くには、トップ・メニューの「破棄」「すべてのセッション編集と保存された変更をクリアします。」ボタンをクリックします。

ノート:

検証エラーのあるディクショナリが保存される可能性がありますが、検証の問題の修正後でなければコミットされません。

12.1.1.2 ブックマークの作成

検索またはデプロイメント・ビューを回避するにはブックマークを作成します。

既知のURLを使用してディクショナリを開くには:

  1. 開いているディクショナリで、Oracle SOAコンポーザのツールバーの「ブックマーク」をクリックします。
  2. URLをコピーし、ブラウザ内に貼り付けると、ブックマークされたアーティファクトがタブに開いた状態でSOAコンポーザが起動されます。

    図12-3 開いているディクショナリのURLの取得

    図12-3の説明が続きます
    「図12-3 開いているディクショナリのURLの取得」の説明
  3. ブラウザで、保存したURLを使用してディクショナリに直接アクセスします。

    次に例を示します。

    http://SERVER_NAME_OR_IP_ADDRESS/soa/composer?docPath=/deployed-composites/ default/BusinessRulesTest_rev1.0/oracle/rules/businessrulestest/OrderBooking.rules
    

    前述の例では、コンポジットは次の構造に従って格納されています。deployed-composites/コンポジット名_revコンポジットのリビジョン/oracle/rules/ディクショナリ・パッケージのパス/ディクショナリ名.rules

12.1.1.3 ディクショナリ設定の確認

「ディクショナリ設定」ボタンをクリックして、プリファレンスを設定します。

図12-4 「ディクショナリ設定」ダイアログ

図12-4の説明が続きます
「図12-4 「ディクショナリ設定」ダイアログ」の説明

表12-2 ディクショナリ設定

ダイアログのセクション 設定

「実行」セクション

ルール実行アルゴリズム: 「RETE」または「非RETE」を選択します。詳細は、第1.3項「Oracle Business Rules Engineのアーキテクチャ」を参照してください。「Reteアルゴリズム」および「非Reteアルゴリズム」

「選択肢」セクション

フレーズ提案: 「ビジネス・フレーズ」、「自動提案」または「すべて」を選択します。

「データ・モデル」セクション

グローバル修飾子パターン: {member} of {fact}を確認します。

変換: クリックして、{member} of {fact}を変換します。

検証: クリックして{member} of {fact}を検証します。

12.1.2 Oracle SOAコンポーザのユーザー認証の使用

図12-5に、Oracle SOAコンポーザのログイン・ページを示します。このページは、Oracle SOAコンポーザによる指定されたユーザーの認証を可能にします。

図12-5 Oracle SOAコンポーザのログイン・ページ

図12-5の説明が続きます
「図12-5 Oracle SOAコンポーザのログイン・ページ」の説明

Oracle SOAコンポーザにログインするには:

  1. ブラウザのアドレス・バーで、次のURLを使用してOracle SOAコンポーザにアクセスします。

    http://サーバー名またはIPアドレス/soa/composer

  2. Oracle SOAコンポーザのログイン・ページの、「ユーザー名」フィールドで、ユーザー名を入力します。
  3. 「パスワード」フィールドに、パスワードを入力します。
  4. 「サインイン」をクリックします。

ユーザーおよびグループの作成と管理の詳細は、統合されたSOAコンポーザ・コンソールのオンライン・ヘルプを参照してください。

12.1.3 SOAコンポーザのアクセス制御およびユーザー認証に関する必知事項

Oracle SOAコンポーザはユーザーとパスワードによるアクセス制御をサポートしており、認証されたユーザーのみがOracle SOAコンポーザを使用できます。ただし、Oracle SOAコンポーザでは、さらに粒度の高いアクセス制御は用意されていません。たとえば、Oracle SOAコンポーザでは個別のルールセットやディクショナリ内のルールに対するアクセス制御はサポートされていません。

Oracle SOAコンポーザでは、メタデータに対するアクセス制御はサポートされています。Oracle SOAコンポーザを使用する際は、SOADesignerアプリケーション・ロールを持つユーザーのみがOracle SOAコンポーザのメタデータにアクセスできます。デフォルトでは、WLS管理者権限を付与されたすべてのユーザーがこのロールを持っています。

Oracle SOAコンポーザへのアクセスが必要な、非管理者ユーザーに対するSOADesignerロールの割当ての詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』Oracle Enterprise Manager Fusion Middleware Controlコンソールでのアプリケーション・ロールの管理に関する項を参照してください。

12.2 アクセシビリティ・オプションの設定

アクセシビリティ設定は、アプリケーションのすべてのコンポーネントを読むのに役立ちます。

SOAコンポーザのアクセシビリティ・オプションは、現在のインスタンスまたはすべてのインスタンスに対して設定できます。

12.2.1 ログイン前にアクセシビリティ機能を設定する方法

SOAコンポーザでは、ログイン・ページに「アクセシビリティ」メニューが用意されており、ログインする前にアクセシビリティを構成できます。これらの設定は、現在のセッションのみ、またはすべてのセッションに対して保持できます。

現在のセッションにのみアクセシビリティ・オプションを設定するには:

  1. SOAコンポーザを起動します。
  2. ログイン・ページで、右上隅の「アクセシビリティ」をクリックします。

    図12-6に示すように「アクセシビリティ設定の編集」ページが表示されます。

    図12-6 「アクセシビリティ設定の編集」ページ

    図12-6の説明が続きます
    「図12-6 「アクセシビリティ設定の編集」ページ」の説明
  3. 次のオプションを選択します。
    • スクリーン・リーダーの使用。

    • 高コントラスト色の使用

    • 大きいフォントの使用。

  4. このセッションに対してのみ新しい設定を保存するには、「このセッションで使用」をクリックします。すべてのセッションに対して設定を保存するには、「プリファレンスとして保存して使用」をクリックします。

12.2.2 ログイン後にアクセシビリティ・オプションを設定する方法

SOAコンポーザにログインした後は、どのページからでもアクセシビリティ・オプションを構成できます。これにより、ユーザー・プリファレンスが変更されます。これらは再度変更されるまで、すべてのセッションで保持されます。

ログイン後にアクセシビリティ・オプションを設定するには:

  1. SOAコンポーザを起動し、ログインします。
  2. 任意のページから、右上隅の「プリファレンス」を選択します。

    「プリファレンス」ダイアログが表示されます。

  3. 「プリファレンス」列で、「アクセシビリティ」をクリックします。

    図12-7に示すように、「アクセシビリティ・プリファレンス」が表示されます。

    図12-7 「プリファレンス」ダイアログ

    図12-7の説明が続きます
    「図12-7 「プリファレンス」ダイアログ」の説明
  4. スクリーン・リーダーを使用する場合は、「モード設定」フィールドで、「スクリーン・リーダー・モードの有効化」を選択します。スクリーン・リーダーを使用しない場合、「スクリーン・リーダー・モードの無効化」を選択します。
  5. 「コントラスト設定」フィールドで、コンソール上のオブジェクト間のコントラストを強めるには、「高コントラストの使用」を選択し、そのようにしない場合は「通常のコントラストの使用」を選択します。
  6. 「フォント設定」フィールドで、フォント・サイズを大きくする場合は「大きいフォントの使用」を選択し、それ以外の場合は「通常フォントの使用」を選択します。
  7. 「OK」をクリックします。

12.3 Oracle Business Rulesディクショナリのオープンおよび表示

Oracle SOAコンポーザを開くとMDSに接続し、ディクショナリが含まれている使用可能なコンポジット・アプリケーションが表示されます。その他に、共有ディクショナリがリストされますが、これらの共有ディクショナリも表示および編集が可能です。

図12-8に示すように、Oracle SOAコンポーザでは、左側のパネルにメタデータ・アーティファクトのリストを示すナビゲーション・ツリーが表示されます。選択された項目の詳細は、右側に表示されます。Oracle SOAコンポーザには、次のタブが含まれます。

  • ルールセット

  • 値セット

  • グローバル

  • ビジネス・フレーズ

  • テスト

  • エクスプローラ

  • ファクト

  • デシジョン関数

  • リンク

  • 翻訳

    図12-8 「ルール」タブ

    図12-8の説明が続きます
    「図12-8 「ルール」タブ」の説明

ノート:

SOAコンポーザでは、BPMをインストールしていない場合は「動詞ルール」および「ビジネス・フレーズ」機能は表示されません。

12.3.1 ルールセットを表示および編集する方法

図12-9に示すように、Oracle SOAコンポーザではディクショナリ内のルールセットが表示されます。ルールセットを選択して、ルールセットの詳細を表示できます。ルールセットおよびルールは追加および削除できます。

図12-9 Oracle SOAコンポーザのルール・ディクショナリの「ルールセット」タブを使用したルールの表示

図12-9の説明が続きます
「図12-9 Oracle SOAコンポーザのルール・ディクショナリの「ルールセット」タブを使用したルールの表示」の説明

ルールセット・タブを使用するには:

フィールドおよび他のUIコントロールの詳細なドキュメントは、SOAコンポーザ内から「ヘルプ」、「このページのヘルプ」をクリックしてください。

  1. Oracle SOAコンポーザで、ルール・ファイルを開きます。
  2. 「ルールセット」タブをクリックし、「セッションの作成」ボタンをクリックします。アクション・ボタンが有効化されます。
  3. 図12-9に示すように、ClaimRulesの横にある下矢印をクリックし、ルールセットを選択します。そのルールセットが表示され、編集可能になります。ツールバーから、ルールセットを追加または削除することもできます。
  4. 「ルール」パネルをクリックし、デシジョン表、動詞ルール、または一般的なルールを追加します。ルールを削除、切り取り、コピー、または貼り付けることもできます。

    SOAコンポーザでの動詞ルールの追加の詳細は、「SOAコンポーザでの動詞ルールの追加方法」を参照してください。

  5. 変更が完了したら、「現在のタブでの変更を保存」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

デシジョン表の詳細は、「Oracle Business Rulesディクショナリのデシジョン表の編集」を参照してください。

動詞および一般的なルールの詳細は、「Oracle Business Rulesディクショナリでのルールの編集」を参照してください。

ルールセットの詳細は、「ルールセットとルールの使用」を参照してください。

12.3.1.1 SOAコンポーザでの動詞ルールの追加方法

動詞ルールは、自然言語文を使用してルールを作成し、ドメイン固有の文でルール・ロジックを表す柔軟な方法を提供します。

SOAコンポーザで動詞ルールを追加するには:

  1. Oracle SOAコンポーザで、ルール・ファイルを開きます。

  2. 「ルールセット」タブをクリックし、「セッションの作成」ボタンをクリックします。アクション・ボタンが有効化されます。

  3. ドロップダウン・リストから、ルールセットを選択します。

  4. 「ルール」パネルをクリックし、デシジョン表、動詞ルール、または一般的なルールを追加します。

    デシジョン表を追加するには、「デシジョン表の追加」を参照してください。

    動詞ルールを追加するには:

    1. 「追加」アイコンをクリックし、リストから「動詞ルール」を選択します。

      「動詞ルール」ウィンドウが表示されます。

      図12-10 「動詞ルール」ウィンドウ

      図12-10の説明が続きます
      「図12-10 「動詞ルール」ウィンドウ」の説明
    2. 「If」フィールドで、テストを追加します。完了したら、「Then」フィールドでアクションを追加します。

      テストまたはアクションを追加したとき、そのテストまたはアクションは編集可能になることに注意してください。「If」フィールドにフィルタ(たとえば、customer numberなど)を入力すると、すべての関連オプションがドロップダウン・リストに表示されます。

    3. 上または下矢印キーを使用して選択し、選択したオプションに対して右矢印キーを使用して類似した選択肢を表示します。

      リストにさらに選択肢を表示するには、ドロップダウン・リストの終わりまでスクロールし、キーボードまたはマウスを使用して「詳細」オプションを選択します。

    4. リストから、既存のビジネス・フレーズを選択します。または、入力したものに基づいて新しいビジネス・フレーズをインスタンス化できます。

      選択肢を設定すると、テキスト・フィールドは編集できなくなり、既存のパラメータがリンクになります。リンクは、クリックすると編集可能になります。値を設定するには、リンクをダブルクリックします。

      ノート:

      動詞ルールのいくつかの重要なキーボードベースのインタフェースは、次のとおりです。

      • コピー: [Ctrl]+[C]

      • 貼付け: [Ctrl]+[V]

      • 切取り: [Ctrl]+[X]

      • 行を上に移動: [Ctrl]+[↑]

      • 選択項目を上に移動: 上矢印

      • 行を下に移動: [Ctrl]+[↓]

      • 選択項目を下に移動: 下矢印

      • 行の削除: [Ctrl]+[Del]

      • 新規行の追加: [Ctrl]+[Enter]

      • 行の編集: [Enter]

      パラメータ値を設定するための重要なキーボード・ジェスチャーは次のとおりです。

      • パラメータ値を指定する際は、行を選択したままにしないようにします。[Enter]によって、選択した行が編集可能になり、パラメータ値の設定を試みる可能性があるためです。

      • パラメータ・テキスト・フィールド内で[Esc]ボタンを使用すると、値が設定されずにリンクに戻ります。

      • タブを使用したり、キー値を入力しても。フォーカスがあるリンクは編集可能になりません。リンクをアクティブ化するには、マウスを使用するか[Enter]キーを使用する必要があります。

      • パラメータ値を設定するには、パラメータ・テキスト・フィールドから[Tab]を使用して移動するか、[Enter]を押します。

  5. 完了したら、「現在のタブでの変更を保存」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

一般的なルールを追加するには、「一般的なルールの追加方法」を参照してください。

12.3.2 値セットを表示および編集する方法

ディクショナリを開いて「値セット」タブを選択すると、ディクショナリに値セットが含まれている場合、表にすべての使用可能な値セットが表示されます。リンク先ディクショナリの値セットも表示されます。リンク先の値セットを選択し、「編集」ボタンをクリックすると、値を表示できます。ただし、リンク先の値セットは、編集モードでも編集できません。

Oracle SOAコンポーザの編集モードの詳細は、「ディクショナリの編集のスタート・ガイド」を参照してください。

Oracle SOAコンポーザで値セットを表示するには:

フィールドおよび他のUIコントロールの詳細なドキュメントは、SOAコンポーザ内から「ヘルプ」、「このページのヘルプ」をクリックしてください。

  1. Oracle SOAコンポーザで、ルール・ファイルを開きます。
  2. 「値セット」タブをクリックし、「セッションの作成」ボタンをクリックします。図12-11に示すように、アクション・ボタンが有効化されます。
  3. 「+」をクリックし、「値セット」を選択して、ディクショナリに値セットを追加します。
  4. 「+」をクリックし、「範囲値セット」を選択して、範囲値セットを作成します。

    図12-11 Oracle SOAコンポーザのルール・ディクショナリの「値セット」タブの使用

    図12-11の説明が続きます
    「図12-11 Oracle SOAコンポーザのルール・ディクショナリの「値セット」タブの使用」の説明
  5. 「+」をクリックし、表に値を追加します。行内でクリックすると、それを編集可能にすることができます。選択した行は削除したり、上下に移動することもできます。
  6. 「名前」、「説明」および「データ型」を変更できないのは、列挙型の値セットに対してのみです。その他の場合、それらは編集可能です。
  7. 「許可されない値をテストに含める」は、値リストからクリアされた値がテストに含まれるかどうかを制御します。
  8. 変更が完了したら、「現在のタブでの変更を保存」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

12.3.3 グローバルを表示および編集する方法

ディクショナリを開くと、「グローバル」タブが表示されます。グローバルは最後にすることもしないこともでき、SOAコンポーザで編集できます。

「値」フィールドでは、式ビルダーを使用して値を設定できます。妥当性をチェックするには、「検証」ボタンをクリックします。

Oracle SOAコンポーザでグローバルを表示するには:

  1. Oracle SOAコンポーザで、ルール・ファイルを開きます。
  2. 図12-12に示すように、「グローバル」タブをクリックし、「セッションの作成」ボタンをクリックします。

    図12-12 Oracle SOAコンポーザのルール・ディクショナリの「グローバル」タブの使用

    図12-12の説明が続きます
    「図12-12 Oracle SOAコンポーザのルール・ディクショナリの「グローバル」タブの使用」の説明
  3. 「+」をクリックし、グローバルを追加します。「名前」、「説明」および「値」を入力します。
  4. ドロップダウンから「値セット」および「タイプ」を選択します。
  5. 「最後」チェック・ボックスを選択し、グローバルを実行時に変更できるかどうかを示します。
  6. 「定数」チェック・ボックスを選択し、グローバルが定数であるのか変更可能であるのかを示します。
  7. 変更が完了したら、「現在のタブでの変更を保存」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

12.3.4 ビジネス・フレーズを表示および編集する方法

「ビジネス・フレーズ」タブを使用して、ルール・プロジェクトのビジネス・フレーズを表示および管理できます。

ノート:

SOAコンポーザでは、BPMをインストールしていない場合は「動詞ルール」および「ビジネス・フレーズ」機能は表示されません。

ビジネス・フレーズを編集するには:

  1. Oracle SOAコンポーザで、ルール・ファイルを開きます。

  2. 「ビジネス・フレーズ」タブをクリックし、「セッションの作成」ボタンをクリックします。図12-13に示すように、アクション・ボタンが有効化されます。

    図12-13 Oracle SOAコンポーザのルール・ディクショナリの「ビジネス・フレーズ」タブの使用

    図12-13の説明が続きます
    「図12-13 Oracle SOAコンポーザのルール・ディクショナリの「ビジネス・フレーズ」タブの使用」の説明
  3. アクション・ボタンをクリックし、追加、切り取り、コピーまたは貼り付けます。

    ビジネス・フレーズを追加するには、次の詳細を入力します。

    1. 句: フレーズはテストまたはアクションにできます。たとえば、calculate premium as {threshold} of {percentage}などの英語のフレーズにすることができます。「ドラフトの作成」ボタンを選択することで、フレーズをドラフトとしてマークし、後で編集できます。

    2. パラメータ: パラメータ表のパラメータを編集、追加または削除できます。パラメータを「句」フィールドにドラッグ・アンド・ドロップできます。「パラメータの挿入」リンクを使用して、パラメータを「句」にドロップすることもできます。

    3. マッピング: 「マッピング」セクションを使用して、ビジネス・フレーズを内部テストまたはアクションにマッピングします。

  4. 変更が完了したら、「現在のタブでの変更を保存」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

ビジネス・フレーズの詳細は、「動詞ルールおよびビジネス・フレーズの概要」を参照してください。

12.3.5 テストを表示および編集する方法

ランタイムには、SOAコンポーザを使用してルールのリグレッション・テストを実行できます。これによって、ビジネス・ユーザーは、変更後のルールで既存の機能が変更されるかどうかをすばやくチェックできます。「テスト」タブは、デプロイ済コンポジットがあるか、SOAコンポーザ・セッション内である場合にのみ表示されます。

テストを表示して編集するには:

  1. Oracle SOAコンポーザで、ルール・ファイルを開きます。
  2. 「テスト」タブをクリックし、「セッションの作成」ボタンをクリックします。図12-14に示すように、アクション・ボタンが有効化されます。

    図12-14 Oracle SOAコンポーザのルール・ディクショナリの「テスト」タブの使用

    図12-14の説明が続きます
    「図12-14 Oracle SOAコンポーザのルール・ディクショナリの「テスト」タブの使用」の説明
  3. テスト・スイートおよびテスト・テンプレートを作成して実行できます。

    実行時のルールのテストと検証の詳細は、「SOAコンポーザでのルールのテスト」を参照してください。

  4. 変更が完了したら、「現在のタブでの変更を保存」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

12.3.6 エクスプローラを表示する方法

「エクスプローラ」タブを表示するには:

  1. Oracle SOAコンポーザで、ルール・ファイルを開きます。
  2. 図12-15に示すように、「エクスプローラ」タブをクリックします。

    「エクスプローラ」タブを使用して、データ、その型および説明を表示します。「エクスプローラ」表では変更を行えません。

    図12-15 Oracle SOAコンポーザのルール・ディクショナリの「エクスプローラ」タブの使用

    図12-15の説明が続きます
    「図12-15 Oracle SOAコンポーザのルール・ディクショナリの「エクスプローラ」タブの使用」の説明

12.3.7 ファクトを表示および編集する方法

ファクトを表示して編集するには:

  1. Oracle SOAコンポーザで、ルール・ファイルを開きます。
  2. 「ファクト」タブをクリックし、「セッションの作成」ボタンをクリックします。アクション・ボタンが有効化されます。図12-16に示すように、SOAコンポーザではRLファクトのみ作成できます。

    図12-16 Oracle SOAコンポーザのルール・ディクショナリの「ファクト」タブの使用

    図12-16の説明が続きます
    「図12-16 Oracle SOAコンポーザのルール・ディクショナリの「ファクト」タブの使用」の説明
  3. ファクトを選択し、「ファクトの編集」ボタンをクリックし、「ファクトの編集」ダイアログを開きます。RLおよびXMLファクトはここで編集できますが、JavaおよびADFBCファクトは読取り専用です。
  4. 変更が完了したら、「現在のタブでの変更を保存」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

12.3.8 デシジョン関数を表示する方法

Oracle SOAコンポーザでは、現在のディクショナリで使用可能なデシジョン関数を、「デシジョン関数」タブを使用して表示できます。現時点では、セッション内であっても、次のフィールドおよびオプションのみ変更できます。

  • 説明

  • ルール起動制限

  • ルール・フローの確認

  • ステートレスにする

  • 起動する使用可能なルールセット

デシジョン関数の作成、既存のデシジョン関数の名前の変更、入力または出力の追加または削除は一切できません。

Oracle SOAコンポーザでデシジョン関数名を表示するには:

  1. Oracle SOAコンポーザで、ルール・ファイルを開きます。
  2. 「デシジョン関数」タブをクリックします。
  3. 図12-17に示すように、「入力」、「初期アクション」、「出力」およびルールセット・デシジョン関数のタブで情報を表示できます。

図12-17 デシジョン関数の表示

図12-17の説明が続きます
「図12-17 デシジョン関数の表示」の説明

12.3.9 リンク先ディクショナリ名を表示する方法

Oracle SOAコンポーザでは、現在のディクショナリのリンク先のディクショナリの名前を、図12-18に示すように「リンク」タブを使用して表示できます。現時点では、セッション内であっても、リンク先のディクショナリ名は表示できますが、ディクショナリにリンクしたりディクショナリへの既存のリンクを削除することはできません。

Oracle SOAコンポーザでリンク先のディクショナリ名を表示するには:

  1. Oracle SOAコンポーザで、ルール・ファイルを開きます。
  2. 図12-18に示すように、「リンク」タブをクリックします。

    図12-18 リンク先ディクショナリ名の表示

    図12-18の説明が続きます
    「図12-18 リンク先ディクショナリ名の表示」の説明
  3. 「接頭辞リンク名」を選択します。
  4. 変更が完了したら、「現在のタブでの変更を保存」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

12.3.10 Oracle Business Rulesディクショナリでディクショナリ・リンクを使用する方法

Oracle Business Rulesのディクショナリは、他のディクショナリにリンクできます。ディクショナリに定義された完全なデータ・モデルとそのリンク先のディクショナリを結合ディクショナリと呼びます。同一のディクショナリに対して複数のリンクを作成できます。ただし、この場合、最初のリンク以外のすべてのリンクが無視されます。

Oracle SOAコンポーザを使用してディクショナリをリンクすることはできません。ただし、デプロイされたコンポジットにリンクされたディクショナリがすでに存在する場合は、Oracle SOAコンポーザを使用してリンク先ディクショナリ名を表示し、リンク先ディクショナリのグローバル、値セットおよびルールセットをアプリケーション間で利用できます。たとえば、Dict1というディクショナリを含むApp1というアプリケーションがあるとします。Dict1は、Dict2という別のディクショナリにリンクされているとします。Dict1Dict2にリンクされているため、Dict2のオブジェクトをApp1で利用できます。

リンク先ディクショナリ名の表示の詳細は、「リンク先ディクショナリ名を表示する方法」を参照してください。

Oracle SOAコンポーザでは、リンク表の「接頭辞リンク名」チェック・ボックスを使用して、ディクショナリ内のすべての項目(グローバル、値セット、ルールセットなど)の前にリンク先のディクショナリ名を表示するか、または非表示にすることが可能です。チェック・ボックスを選択すると、リンク先ディクショナリのファクトの前にディクショナリ名が付加され、選択を解除するとリンク先ディクショナリのファクトの接頭辞が非表示になります。デフォルトでは、図12-19に示すように、「接頭辞リンク名」チェック・ボックスは選択された状態になっています。

図12-19 「リンク」タブの使用

図12-19の説明が続きます
「図12-19 「リンク」タブの使用」の説明

リンクされたディクショナリの詳細は、「ディクショナリ・リンクに関する必知事項」を参照してください。

12.3.11 変換を表示および編集する方法

「変換」タブには、選択したディクショナリに含まれるフレーズおよび変換された文字列が表示されます。

翻訳表には、現在のロケールおよび以前のロケールでの翻訳済文字列がすべて含まれています。たとえば、現在のロケールは日本語であり、いつくかの翻訳を編集してそれらを保存します。ログアウトしてから、異なるロケール、たとえば英語でログインした場合、翻訳表には、英語と日本語の両方の列が含まれるようになります。

フレーズを翻訳するには:

  1. Oracle SOAコンポーザで、ルール・ファイルを開きます。
  2. 図12-20に示すように、「変換」タブをクリックします。

    図12-20 Oracle SOAコンポーザの「変換」タブの使用

    図12-20の説明が続きます
    「図12-20 Oracle SOAコンポーザの「変換」タブの使用」の説明
  3. 変更が完了したら、「現在のタブでの変更を保存」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

12.4 ディクショナリの編集のスタート・ガイド

ディクショナリを選択して開くと、Oracle SOAコンポーザによってそのディクショナリが読取り専用モードで表示されます。読取り専用モードの各タブで、「セッション」ボタンを使用して変更を行い、それらを作業領域に「保存」します。ディクショナリの実行時バージョンに変更を適用するには、「パブリッシュ」をクリックします。

SOAコンポーザの機能の使用方法の詳細は、「セッションの作成とパブリッシュ」を参照してください。

12.4.1 Oracle SOAコンポーザにおけるローカライズされた数値書式に関する必知事項

Oracle SOAコンポーザでは、ブラウザのロケールに基づき数値書式が変更されます。たとえば、英語(アメリカ)をブラウザ言語としてOracle SOAコンポーザを使用するとします。値として、34533223.2345などの浮動小数点データを入力します。フランス語など、その他の言語でデータを表示する場合は、次の手順を実行する必要があります。

  1. ブラウザのロケールを、フランス語に対するインスタンスに合せて変更します。

  2. ブラウザの「リフレッシュ」ボタンをクリックして、数値書式の変更を表示します。

    フランス語では、この値は34533223,2345と表示されます。

ノート:

Oracle SOAコンポーザでグルーピングおよび小数点セパレータを指定すると、ロケール固有の指定がオーバーライドされます。

12.4.2 ルール要素の切取り/コピーおよび貼付けに関する必知事項

あるディクショナリから、値セットまたはルールを切取りまたはコピーし、コンポーザで別のディクショナリを開いて貼り付けることができます。ただし、切取り/コピー/貼付けは、同一セッション内の異なるディクショナリ間で動作します。

切取り/コピーおよび貼付け機能により、最初から新規要素を作成しなくても、既存のルール要素に基づいて新規の要素をすばやく作成できます。

図12-21に示すボタンは切取り、コピーおよび貼付けに便利です。

図12-21 切取り、コピー、貼付けの各ボタン

図12-21の説明が続きます
「図12-21 切取り、コピー、貼付けの各ボタン」の説明

Oracle SOAコンポーザでは、次のルールの要素を切取り/コピーおよび貼付けできます。

  • ルール

  • パターン

  • 条件

  • アクション

  • 値セット

次に対しては、切取り/コピー/貼付けはサポートされていません

  • グローバル

  • リンク

  • デシジョン関数

ノート:

複数の条件またはアクションを選択した場合、「貼付け」ボタンは無効化されます。このボタンは、単独で選択されている条件またはアクションでのみ有効化されます。貼り付ける場合、コピーまたは切り取られたアイテムはリストの最後尾に追加されます。

12.4.3 Oracle Business Rulesディクショナリでグローバルを編集する方法

図12-22に示すように、Oracle SOAコンポーザで、「グローバル」タブを選択すると、ディクショナリ内のグローバルを一覧表示した表が表示されます。グローバルを編集するには、適切な行を選択すると、行全体が編集可能になります。必要に応じて変更を加えます。

図12-22 ディクショナリ内のグローバルのリスト

図12-22の説明が続きます
「図12-22 ディクショナリ内のグローバルのリスト」の説明

グローバルを追加するには、最上位にある「グローバルの追加」ボタンをクリックします。新しい空の行が追加されます。「名前」、「説明」、「値」、「値セット」、「タイプ」、「最後」、コンセントに必要な変更を加えます。グローバルの追加の詳細は、「Oracle Business Rulesグローバルの使用」を参照してください。

グローバルを削除するには、行を選択し、「削除」ボタンをクリックします。

12.4.4 Oracle Business Rulesディクショナリで値セットを編集する方法

Oracle SOAコンポーザで、「値セット」タブを選択すると、左側に、ディクショナリ内の値セットを表示するマスター・リストと、値を表示する表が含まれた詳細セクションが表示されます。値セットを編集するには、マスター・リストで該当する値セットをクリックし、詳細セクション内で、変更する値をクリックします。

「追加」ボタンをクリックし、タイプを選択することで、範囲値セットを作成できます。これにより、マスター・リストに新しい値セットが追加されます。範囲値を追加すると、範囲のエンド・ポイントおよびLOVの値がデータ型に基づいて自動的に追加されます。新たに追加された値のエンド・ポイントや値は変更できます。エンド・ポイントまたは値を変更した場合、エイリアスが変更されることに注意してください。

値セットの追加の詳細は、「値セットの使用」および「値セットのビジネス条件との関連付け」を参照してください。

値セットを切り取りまたはコピーするには、行を選択し、「切取り」または「コピー」をクリックします。コピーした値セットを貼り付けるには、「貼付け」をクリックします。

値セットを削除するには、行を選択して「削除」をクリックします。

値セットを編集するには:

  1. 値セットまたは範囲値セットを編集するには、Oracle SOAコンポーザで「値セット」タブを選択します。これにより、ディクショナリ内の値セットのマスターと詳細の両方のセクションが表示されます。
  2. マスター・リストから適切な値セットを選択します。図12-23に示すように、これにより、詳細表が表示されます。

    図12-23 値セットの編集

    図12-23の説明が続きます
    「図12-23 値セットの編集」の説明
  3. 表内の該当するフィールドを編集します。「値の追加」をクリックすると値を追加できます。また、行を選択して「値の削除」をクリックすると値を削除できます。
  4. 値セット内の値の順序を変更するには、値を選択し、上または下矢印をクリックして、選択した値を移動します。

    値の相対位置は、LOV値セットでのみ変更できます。範囲値セットでは値を並べ替えることはできません。

    値の「アクションで許可済」フィールドが選択されている場合のみ、デシジョン表の条件セルのドロップダウンに値セットが表示されます。

  5. 「現在のタブでの変更を保存」をクリックして、変更を確認します。

    メニュー・バーの「検証」をクリックして、値セットの変更中にディクショナリを検証します。

12.4.5 Oracle Business Rulesディクショナリでデシジョン関数を編集する方法

Oracle SOAコンポーザでは、「デシジョン関数」タブに、ディクショナリで使用可能なデシジョン関数(親と子の両方)をリストした表が表示されます。

次のフィールドおよびオプションのみ変更できます。

  • 説明

  • ルール起動制限

  • ルール・フローの確認

  • ステートレスにする

  • 初期アクション

  • ルールセットおよびデシジョン関数

デシジョン関数を編集するには:

  1. デシジョン関数を編集するには、Oracle SOAコンポーザで「デシジョン関数」タブを選択します。これにより、左側にデシジョン関数のマスター・リストが、右側に詳細パネルが表示されます。
  2. 左側で適切なデシジョン関数を選択します。図12-24に示すように、「デシジョン関数エディタ」ダイアログ・ボックスが表示されます。

    図12-24 デシジョン関数の編集

    図12-24の説明が続きます
    「図12-24 デシジョン関数の編集」の説明
  3. 必要に応じて「説明」フィールドに説明を入力します。
  4. 必要な数値を「ルール起動制限」リストで入力します。デフォルトで選択されている値は「無制限」です。ただし、「ルール起動制限」に整数値を入力して[Tab]キーを押すこともできます。新しく指定された値は、「ルール起動制限」リストに追加されます。
  5. 適切なデシジョン関数オプションを選択します。
    • ルール・フローの確認: このオプションを選択すると、ルール・フローが確認されるよう指定されます。

    • ステートレスにする: 選択すると、デシジョン関数がステートレスに指定されます。

    次のものは編集できません。

    • 「名前」フィールド

    • 「入力」タブ

    • 「出力」タブ

  6. 「初期アクション」タブでは、アサートする前に入力ファクトを変更したり、ルールセット・スタックを変更したり、有効日を設定したり、出力ファクトをアサートしたりするために使用できるアクションを追加できます。これらのアクションは、ルールのかわりに使用したり、ルールを実行するための環境「設定」のために使用できます。入力がアサートされてルールが実行される直前に、初期アクションが必ず実行されます。入力がアサートされる直前に、アクションに対するRLが実行されます。

    「初期アクション」タブを使用して、1つのデシジョン関数(DF1)で別のデシジョン関数(DF2)をコールする場合を考えてみます。DF1は、Ruleset1をルールセット・スタックに追加するように構成されています。DF2は、Ruleset2を追加するように構成されています。DF1では、初期アクションを実行する前に、Ruleset1をルールセット・スタックに追加します。次に、DF2がコールされると、Ruleset2も追加されます。つまり、ルールの実行が開始されると、ルールセット・スタックによって、両方のルールセットのルールが起動します。Ruleset2を追加する場合(初期アクションでDF2をコールしているため)、DF1の初期アクションを使用して、DF2をコールする前にルールセット・スタックをクリアし、DF2をコールした後でスタックにRuleset1を追加できます。

    assertcallmodifyの範囲の必要なアクションを、ifelseelseifwhileforif (advanced)while (advanced)のような条件アクションにも追加できます。

    if (高度)およびwhile (高度)構造は、ブール値のみを受け付けます。アクション条件ごとに異なるテスト・フォーム・タイプを追加できます。

    ノート:

    「ルールセットおよびデシジョン関数」タブでデシジョン関数DF1にDF2が含まれている場合は、DF2には初期アクションが含まれていない可能性があります。

  7. 「ルールセットおよびデシジョン関数」タブで、左右の矢印ボタンを使用して項目を「使用可能」ボックスから「選択済」ボックスへ移動します。
  8. 「選択済」ボックスで項目を選択し、上矢印または下矢印の各ボタンを適宜クリックしてルールセットおよびデシジョン関数を並べ替えます。
  9. 変更が完了したら、「現在のタブでの変更を保存」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

デシジョン関数の詳細は、デシジョン関数の使用を参照してください。

12.4.6 Oracle Business Rulesディクショナリ・エディタの宣言コンポーネントに関する必知事項

Oracle Business Rulesディクショナリ・エディタの宣言コンポーネントを使用して、あらゆるADFベースのWebアプリケーションでのルール・ディクショナリの編集機能を強化できます。Rules SDK2 APIを使用することで、グローバル、値セット、ルールセットなどのビジネス・ルール・メタデータ・アーティファクトを編集できます。

Oracle Business Rulesディクショナリ・エディタの詳細は、Oracle SOA SuiteでのSOAアプリケーションの開発Oracle Business Rulesディクショナリ・エディタの宣言コンポーネントの使用に関する項を参照してください。

12.4.7 Oracle Business Rulesディクショナリ・エディタのタスク・フローに関する必知事項

ルール・ディクショナリ・エディタのタスク・フローは、ルール・ディクショナリ・エディタの宣言コンポーネントを囲むラッパーであり、宣言コンポーネントではなくタスク・フローを必要とするADFベースのWebアプリケーションで使用されます。

Oracle Business Rulesディクショナリ・エディタの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』Oracle Business Rulesディクショナリのタスク・フローの使用に関する項を参照してください。

12.5 Oracle Business Rulesディクショナリでのルールの編集

SOAコンポーザでは、ディクショナリに対するインタフェースが用意されており、ほとんどのディクショナリのコンポーネントを編集できます。ただし、一部のディクショナリのコンポーネントは、設計時にOracle JDeveloperのルール・デザイナ拡張機能を使用する場合のみ作成および編集が可能です。

SOAコンポーザでは、BPMをインストールしていない場合は「動詞ルール」および「ビジネス・フレーズ」機能は表示されません。

12.5.1 「ルールセット」タブの使用方法

図12-25に示すように、「ルールセット」タブでは、現在選択されているビジネス・ルール・ディクショナリの、ルールセットおよび一般的なルール、これらに含まれている動詞ルールおよびデシジョン表を表示および編集できます。

図12-25 Oracle SOAコンポーザを使用したディクショナリ内のルールセットの編集

図12-25の説明が続きます
「図12-25 Oracle SOAコンポーザを使用したディクショナリ内のルールセットの編集」の説明

表12-3 「ルールセット」タブ

ボタン 説明

「ルールセット」ドロップダウン

リストからルールセットをクリックして選択します。

このボタンについては周囲のテキストで説明しています。拡張プロパティ・エディタ

クリックして、「拡張プロパティ・エディタ」ポップアップでプロパティを編集します。

ルールセットの追加

クリックしてルールセットを追加します。

ルールセットの削除

クリックしてルールセットを削除します。

「ルール」マスター・リストで、エイリアスを入力し、ルールを検索できます。「クリア」をクリックすると、「エイリアス別検索」フィールドがクリアされます。ルールもソートできます。「昇順ソート」または「降順ソート」矢印をクリックしてIF/THEN詳細パネルをソートします。

表12-4 ルール・マスター・リストのボタン

ボタン 説明

追加

クリックして、新しいデシジョン表、動詞ルール、または一般的なルールを追加します。

削除

クリックして削除します。

切取り、コピー、貼付け

クリックして、切り取り、コピーまたは貼り付けます。

このボタンについては周囲のテキストで説明しています。

「昇順ソート」または「降順ソート」矢印をクリックしてIF/THEN詳細パネルをソートします。「タイプ別」をクリックし、オプションを選択し、「タイプ」、「名前」、「アクティブ」、「有効期間開始日」、「有効期間終了日」、「優先度」のいずれかのオプションでソートします。

エイリアス別検索

エイリアス名を入力し、エイリアス名でルールを検索します。

このボタンについては周囲のテキストで説明しています。 クリア

「クリア」をクリックし、検索結果をクリアします。

12.5.2 Oracle Business Rulesディクショナリでルールを編集する方法

Oracle SOAコンポーザを使用すると、ディクショナリ内のルールを編集できます。

Oracle SOAコンポーザを使用してルールを編集するには:

  1. Oracle SOAコンポーザで、Oracle Business Rulesディクショナリを開き、「ルールセット」タブをクリックします。
  2. ドロップダウンから該当するルールセットを選択し、リストからルールを選択します。詳細パネルにルールが表示されます。

    「ルール」ツールバーの「追加」、「削除」、「切取り」、「コピー」および「貼付け」のボタンを使用して、ルールを変更します。

    ノート:

    複数選択した場合、「貼付け」ボタンは無効化されます。このボタンは、単独で選択されている条件またはアクションでのみ有効化されます。貼り付ける場合、コピーまたは切り取られたアイテムはリストの最後尾に追加されます。

  3. 変更が完了したら、「現在のタブでの変更を保存」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

12.5.3 ルールの追加方法

Oracle SOAコンポーザでは、ルールセットにルールを追加できます。

ルールセットにルールを追加するには:

  1. セッションの「ルールセット」タブで、対象のルールセットを選択します。
  2. 「ルール」領域で、「ルールの追加」をクリックし、デシジョン表、動詞ルール、または一般的なルールを追加します。
  3. 「IF」領域で、検索用語を入力して結果を取得し、[→]を押してそれらをさらにフィルタリングし、条件を作成します。
  4. ルールのTHEN領域で、「アクションの追加」をクリックして、このルールに必要なアクションを追加します。
  5. 完了したら、「現在のタブでの変更を保存」をクリックします。
  6. 実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

12.5.4 ルールの削除方法

Oracle SOAコンポーザでは、ルールセット内のルールを削除できます。

ルールセット内のルールを削除するには:

  1. セッションの「ルールセット」タブで、対象のルールセットを選択します。
  2. 「ルールの詳細」領域で、削除するルールを特定し、「削除」をクリックします。
  3. 完了したら、「現在のタブでの変更を保存」をクリックします。
  4. 実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

12.5.5 ルールの詳細設定を表示および編集する方法

Oracle SOAコンポーザでは、ルールセット内のルールに対する詳細設定を編集できます。詳細設定の詳細は、「ルールおよびデシジョン表での詳細設定の使用」を参照してください。

ルールの詳細設定を表示および編集するには:

  1. セッションの「ルールセット」タブで、対象のルールセットを選択します。
  2. 「ルール」領域で、詳細設定を表示または変更するルールを特定します。必要であれば、最初にルールを展開しておきます。
  3. ルール名の横にある「拡張プロパティ・エディタ」ボタンをクリックします。図12-26に示すように、これにより、「詳細設定」ダイアログが表示されます。

    図12-26 「拡張プロパティ・エディタ」ダイアログ

    図12-26の説明が続きます
    「図12-26 「拡張プロパティ・エディタ」ダイアログ」の説明

12.5.6 ルール条件の追加方法

Oracle SOAコンポーザでは、ルールセット内のルールに対する条件を追加できます。ルール内の条件では、ツリー表示が使用されます。条件ツリーの最上部にあるツールバーを使用して、追加、削除、切取り、コピーおよび貼付けを実行します。条件ツリー内で、親ノードを選択し、同様のアクションを実行できます。

条件の使用の詳細は、「ルールの使用」を参照してください。

ルール条件を追加するには:

条件が選択されていない場合、その条件は最後尾に追加されます。条件が選択されている場合、選択されている条件の兄弟が追加されます。

  1. セッションの「ルールセット」タブで、対象のルールセットを選択します。
  2. 「ルール」領域で、条件を追加するルールを特定します。
  3. 図12-27に示すように、既存のルール条件の隣の下矢印をクリックして、条件の追加で使用可能なオプションのリストを表示します。

    条件の追加先のルールに既存の条件が含まれていない場合、図12-27に示すように、「テストの追加」下矢印をクリックして、使用可能な条件追加のオプションのリストを表示する必要があります。

条件の追加に使用可能なオプションのいくつかを次に示します。

  • 簡易テスト: 簡易テストの条件を追加します。

  • 変数: 変数の定義を追加します。変数およびその値は、インラインのビジネス条件定義と表現されることがあります。

  • (...): 新しい簡易テストをネストされた小カッコ内に追加します。

  • not(...): 新しい簡易テストをNOTでネストされた小カッコ内に追加します。

各ネスト・レベルで、前述のオプションのリストが用意されており、ネストされたブロックで動作するようになっています。

テストの詳細は、「拡張テストの使用方法」を参照してください。

12.5.7 ルール条件の削除方法

Oracle SOAコンポーザでは、ルールセット内のルールに対する条件を削除できます。条件の使用の詳細は、「ルールの使用」を参照してください。

ルール条件を削除するには:

  1. セッションの「ルールセット」タブで、対象のルールセットを選択します。
  2. 「ルール」領域で、条件を削除するルールを特定します。
  3. 削除するルール条件の隣の下矢印をクリックし、リストの中から「テストの削除」をクリックします。

    ネスト・レベルごとに1つの独立したリストを使用できます。そのため削除操作は、単一の条件または1つのネストされたブロックに対して実行できます。

12.5.8 ルール条件の変更方法

Oracle SOAコンポーザを使用すると、ルール内の条件を編集できます。ネストに対してルール条件を選択することも、条件内の式の値を変更することもできます。条件の使用の詳細は、「ルールの使用」を参照してください。

ルール内の条件を変更するには:

  1. セッションの「ルールセット」タブで、対象のルールセットを選択します。
  2. 「ルール」領域で、条件を変更するルールを特定します。
  3. 「IF」領域で、「左の値」式ボタン、演算子のドロップダウン・リスト、「右の値」式ボタンを含む、コントロール、ボタンおよび選択ボックスを使用して条件を変更します。

    式ではフィルタリングがサポートされています。たとえば、Employeeと入力すると、値がフィルタされ、Employeeを含む値がドロップダウンに表示されます。マウスまたは矢印キーを使用して値を選択します。

式ビルダー条件ブラウザ「日付」ブラウザおよび「右のオペランド」ブラウザを使用して、左右の側の式を編集できます。

値の変更のほか、条件のフォーム・タイプも変更できます。たとえば、簡易テストを変数定義などに変更できます。条件のフォーム・タイプを変更するには、すぐ横のチェック・ボックスを使用して条件を選択し、必要なフォーム・タイプを「選択したテスト」リストから選択します。

12.5.9 ルール・アクションの追加方法

Oracle SOAコンポーザでは、ルールにアクションを追加できます。ルール・アクションの使用の詳細は、「ルールの使用」を参照してください。

ルール・アクションを追加するには:

  1. セッションの「ルールセット」タブで、対象のルールセットを選択します。
  2. 「ルール」領域で、アクションを追加するルールを特定します。
  3. 図12-28に示すように、ルールの「THEN」領域で、ルール・アクションの隣の「アクションの追加」をクリックします。

    図12-28 ルールセット内のルール・アクション

    図12-28の説明が続きます
    「図12-28 ルールセット内のルール・アクション」の説明

    アクションの追加先のルールに既存のアクションが含まれていない場合、「THEN」領域の「アクションの追加」ボタンをクリックする必要があります。

12.5.10 ルール・アクションを削除する方法

Oracle SOAコンポーザでは、ルール内のアクションを削除できます。ルール・アクションの使用の詳細は、「ルールの使用」を参照してください。

ルール・アクションを削除するには:

  1. セッションの「ルールセット」タブで、対象のルールセットを選択します。
  2. 「ルール」領域で、アクションを削除するルールを特定します。
  3. ルールの「THEN」領域で、アクションを選択します。

    「アクションの削除」をクリックします。

12.5.11 ルール・アクションを変更する方法

Oracle SOAコンポーザでは、ルール内のアクションを変更できます。ルール・アクションの使用の詳細は、「ルールの使用」を参照してください。

ルール・アクションを変更するには:

  1. セッションの「ルールセット」タブで、対象のルールセットを選択します。
  2. 「ルール」領域で、アクションを変更するルールを特定します。
  3. ルールの「THEN」領域で次のことを実行できます。
    • 上の「追加」および「削除」ボタンを使用した、アクションの追加および削除。

    • アクションを選択し、各矢印ボタンを使用して上下に移動させることができます。

    • 上の「切取り」、「コピー」および「貼付け」ボタンを使用した切取り、コピーおよび貼付け。

    • ドロップダウン領域の「詳細」リンクをクリックして「ターゲットの選択」ポップアップを起動し、値を選択できます。

    • ルール・アクションの横にある「プロパティの編集」ボタンをクリックし、プロパティを変更します。

    「プロパティ」ダイアログ・ボックスが表示され、そこでプロパティの詳細を変更できます。

ルールの数値書式の詳細は、「Oracle SOAコンポーザにおけるローカライズされた数値書式に関する必知事項」を参照してください。

12.5.12 拡張モードのルールの使用方法

Oracle SOAコンポーザでは、ルールセット内の拡張モードのルールを使用できます。

ノート:

「拡張モード」機能は、下位互換性のためにのみ維持されています。簡易モードで拡張テストを使用し、必要な任意の種類の条件を作成することをお薦めします。

拡張モードで実行できることはすべて、簡易モードで実行できます。拡張モード・ルールは、単に「拡張モード」チェック・ボックスをクリアすることで同等の簡易モードに変換できます。

詳細は、「拡張テストの使用方法」を参照してください。

拡張モードのルールを表示および変更するには:

  1. セッションの「ルールセット」タブで、対象のルールセットを選択します。
  2. 「ルール」領域で、拡張モードのルールを表示または変更するルールを特定します。
  3. 「拡張プロパティ・エディタ」ボタンをクリックし、詳細設定を表示します。詳細設定の表示の詳細は、「ルールの詳細設定を表示および編集する方法」を参照してください。
  4. 「拡張モード」チェック・ボックスの選択が解除されている場合は、「拡張モード」チェック・ボックスを選択します。図12-29に示すように、拡張モードのルール・オプションが表示されます。

    図12-29 拡張モードのルール・オプションの表示

    図12-29の説明が続きます
    「図12-29 拡張モードのルール・オプションの表示」の説明
12.5.12.1 拡張モード・オプションの使用

拡張モードのルール・オプションを使用すると、パターンに条件およびアクションを追加、変更、削除するだけでなく、パターンを作成、変更および削除できます。

拡張モードのルール・オプションを使用すると、次のことが可能です。

  • パターン変数の指定および変数のファクト・タイプの選択: 「変数」フィールドに、パターン変数の名前を直接入力できます。図12-30に示すように、「ファクト・タイプ」リストを使用して、変数のファクト・タイプを指定できます。

    図12-30 パターン変数およびファクト・タイプの指定

    図12-30の説明が続きます
    「図12-30 パターン変数およびファクト・タイプの指定」の説明

    図の例では、CustomerOrderCustomerOrderファクト・タイプのパターン変数です。

  • パターンの追加: 「パターンの追加」ボタンをクリックして、既存のルールに対するパターンを作成します。図12-31は、追加済のパターンを示しています。新しく作成されたパターンは空です。

    図12-31 パターンの追加

    図12-31の説明が続きます
    「図12-31 パターンの追加」の説明
  • パターンの削除: 「パターンの削除」ボタンをクリックし、ルールからパターンを削除します。

  • 連結詞の指定: 2つ以上のパターンを、連結詞andまたはorで連結します。連結詞のリンクを使用して、連結詞間の切り替えを行うことができます。

  • ネスト・パターンの使用: ネスト・パターンには、その内側にパターンが存在します。これらは中カッコ({})で囲まれています。「パターン演算子」リストの後ろに開き中括弧が続きます。図12-32に示すように、「パターンを括弧で囲む」ボタンをクリックして、ネスト・パターンを作成できます。また、ネストしているパターンを「パターンから括弧を削除する」ボタンをクリックして削除できます。

    図12-32 ネストしたパターンの追加および削除

    図12-32の説明が続きます
    「図12-32 ネストしたパターンの追加および削除」の説明

    同じパターン・ブロックに別のパターンを追加するだけでなく、開き中括弧の中でパターンを指定してから「テストの追加」の下矢印をクリックして、ネスト・パターンに対して条件を追加できます。

    ネスト・パターン・ブロックは、閉じ中括弧で終わります。ネスト・パターンは複数レベル持つことができます。つまり、あるネスト・パターンの内側に、別のネスト・パターンを持つことができます。「ネスト・パターン・ブロックの削除」ボタンをクリックすると、ネスト・パターン・ブロック全体を削除できます。

    パターンをネストすると、演算子のリストには、デフォルトの演算子として「(次の各ケース)」が選択された状態で表示されます。その他の項目は「次のケースがある」「次のケースがない」および「集計」などです。

    演算子として「次のケースがある」または「次のケースがない」を選択した場合も、ユーザー・インタフェースは「(次の各ケース)」と同じままです。ただし、「集計」を選択した場合は、ユーザー・インタフェースが変更されます。集計演算子に対しては、必ず「使用可能」フィールドに変数を入力し、「関数」リストから関数を選択してください。「関数」リストには、次のものが表示されます。

    • count

    • average

    • maximum

    • minimum

    • sum

    • collection

    count関数を除いたすべての関数では、式が必要です。「選択可能」フィールドに式を指定するか、または「条件ブラウザ」ウィンドウを起動できます。

ルールの拡張モードの「THEN」の部分では、assertcallmodifyからifelseelseifwhileforif (advanced)およびwhile (advanced)といった条件付きアクションにおよぶ、あらゆる必要なアクションを追加できます。

12.5.13 拡張テストの使用方法

拡張テストは、複雑なルールを構築する場合に使用する必要があります。拡張テスト、つまり簡易モードは、拡張モード・ルールを置き換えます。

ノート:

「拡張モード」機能は、下位互換性のためにのみ維持されています。

拡張モードで実行できることはすべて、簡易モードで実行できるようになりました。UIは、図12-33に示すように、複雑なルールおよびテストをより簡単に作成できるように合理化され、向上しています。

図12-33 拡張テストのリスト

図12-33の説明が続きます
「図12-33 拡張テストのリスト」の説明

拡張モード・ルールは、「拡張プロパティ・エディタ」の「拡張モード」チェック・ボックスをクリアすることで同等の簡易モードに変換できます。

拡張テストは、一般的なルール、デシジョン表、およびビジネス・フレーズの定義中にのみ適用できます。それらは、動詞ルールでは表示されません。

元の4つのテスト(表12-5の最初に示す)に加えて、次の新しいフォームがあります。

表12-5 拡張テスト

フォーム 説明

簡易テスト

これは、条件のビルディング・ブロックです。値を、別の値、範囲またはセットと比較します。

例: Emp.salary > 1000

変数

変数を初期化します。

例: age = Duration.years between(Emp.birthdate,RL.date.get current())

ネストされたテスト

包含ブロック内にテストをカプセル化します。

例: (age > 50 or Emp.salary > 50000)

否定されたテスト

テストを否定します。

例: not(age > 50 and Emp.salary > 50000)

次のすべて

次のすべてがtrueです。

例: (age > 50 and Emp.salary > 50000)

次のいずれか...

次のいくつかがtrueです。例:

IF
  e is a Emp and  there is no Emp where     Emp.salary < e.salary     <insert test>  <insert test>THEN  assign e.isLowestPaid = true

ファクトを定義します。

例: eはEmpです

次のケースがある

このテストにはANDで接続された1つ以上の子テストがあります。

これらの子テストは、少なくとも1つのケースに対してすべてtrueです。1つのケースは、含まれる「は」テストへのファクトのバインディングです。

「は」子孫を持つ必要があります。

例:

There is a case where
e is a Emp and
d is a Dept and
e.salary > 1000000 and
d.name == "Marketing" and
d.employees contains e

次がある <factType1>,...<factTypeN> 条件#*

このテストにはANDで接続されたN個以上の子テストがあります。

非表示の「<factType><factType>」が最初のN個の子としてテストします。

これらの子テストは、少なくとも1つのケースに対してすべてtrueです。

表示される子テストがないことも有効です。その場合、「条件」キーワードは抑止されます。

例:

IF
  there is a Emp, Dept where
  Emp.salary > 1000000 and
  Dept.name == "Marketing" and
  Dept.employees contains Emp
THEN 
 call print "there is a highly paid marketer!"
IF  
  there is a Emp
THEN  
  call print "somebody works here!"

次のケースがない

このテストにはANDで接続された1つ以上の子テストがあります。

この子テストはどのケースに対してもtrueになりません(含まれている「は」テストへのファクトのバインディングは、他のどのテストも満たしません)。

「は」子孫を持つ必要があります。

次がない <factType1>,...,<factTypeN> 条件

最初のN個の子としての非表示の「<factType><factType>」

これらの子テストは、どのケースに対してtrueになりません。

集計

このテストにはANDで接続された0個以上の子テストがあります。

「は」子を持つ必要があります(非表示の可能性あり)。

v is the sum|average|minimum|maximum|count|collection of <expression> where

表示される子テストがない場合、「条件」句は省略されます。

IF
  number of employees is the count of Emp
THEN
  call print "number of employees: " + number of employees
 
IF
  number of male employees is the count of Emp where
  Emp.gender == "M"
THEN
  call print "number of male employees: " + number of male employees

前述の両方のルールで、SDKによって、非表示のネストされた「は」テストがEmpに対して作成されることに注意してください。

明示的な「は」を使用することもできます。

IF
  number of male employees is the count of e where
    e is Emp and
    e.gender == "M"
THEN
  call print "number of male employees: " + number of male employees

ブール式

ブール式をキャプチャします。

例: isEligible(Emp)

図12-34は、「次のケースがある」フォームの例を示しています。

図12-34 拡張テストの例1

図12-34の説明が続きます
「図12-34 拡張テストの例1」の説明

図12-35は、「次のケースがない」フォームの例を示しています。

図12-35 拡張テストの例2

図12-35の説明が続きます
「図12-35 拡張テストの例2」の説明

複雑なルールの構築方法の詳細は、「ルール条件の追加方法」を参照してください。

拡張モードの詳細は、「拡張モードのルールの使用方法」を参照してください。

12.5.14 ツリー・モードのルールの使用方法

Oracle SOAコンポーザでは、ルールセット内のツリー・モードのルールを使用できます。ツリー・モードのルールの使用の詳細は、「ツリー・モードのルールの使用」を参照してください。

ツリー・モードのルールを表示および変更するには:

  1. セッションの「ルールセット」タブで、対象のルールセットを選択します。
  2. 「ルール」領域で、ツリー・モードのルールを表示または変更するルールを特定します。
  3. 「拡張プロパティ・エディタ」ボタンを選択し、詳細設定を表示します。
  4. 「ツリー・モード」チェック・ボックスの選択が解除されている場合は、「ツリー・モード」チェック・ボックスを選択します。これにより、図12-36の「ルート」領域に示すように、ツリー・モードのルール・オプションが表示されます。

    図12-36 ルールのツリー・モード・ルール領域の表示

    図12-36の説明が続きます
    「図12-36 ルールのツリー・モード・ルール領域の表示」の説明

12.5.15 Oracle Business Rulesエディタの宣言コンポーネントに関する必知事項

Oracle Business Rulesエディタのコンポジット宣言コンポーネントを使用して、あらゆるADFベースのWebアプリケーションでのビジネス・ルールの編集機能を強化できます。Rules SDK2 APIを使用することで、ルールセットで使用可能なビジネス・ルールを編集できます。

Oracle Business Rulesエディタの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』Oracle Business Rulesエディタの宣言コンポーネントの使用に関する項を参照してください。

12.5.16 Oracle Business Rulesディクショナリ・エディタの宣言コンポーネントに関する必知事項

Oracle Business Rulesディクショナリ・エディタは、ADFベースのWebアプリケーションに埋め込むことができるコンポジット宣言コンポーネントです。Rules SDK2 APIを使用することで、グローバル、値セット、ルールセットなどのビジネス・ルール・メタデータ・アーティファクトを編集できます。

Oracle Business Rulesディクショナリ・エディタの詳細は、Oracle SOA SuiteでのSOAアプリケーションの開発Oracle Business Rulesディクショナリ・エディタの宣言コンポーネントの使用に関する項を参照してください。

12.5.17 Oracle Business Rulesディクショナリ・エディタのタスク・フローに関する必知事項

Oracleルール・ディクショナリ・エディタのタスク・フローは、基本的にはルール・ディクショナリ・エディタの宣言コンポーネントを囲むラッパーです。このタスク・フローは、タスク・フローが必要なADFベースのWebアプリケーションで、宣言コンポーネントのかわりに使用されます。

Oracle Business Rulesディクショナリ・エディタのタスク・フローの詳細は、Oracle SOA SuiteでのSOAアプリケーションの開発Oracle Business Rulesディクショナリ・エディタのタスク・フローの使用に関する項を参照してください。

12.6 Oracle SOAコンポーザのブラウザ・ウィンドウの使用

Oracle SOAコンポーザでは、ブラウザ・ウィンドウが用意されており、ルール式、XPATH式、日付式など、様々なタイプの式での作業を支援します。

Oracle SOAコンポーザで用意されている、各タイプのブラウザは次のとおりです。

12.6.1 式ビルダー

式ビルダーは、XPATH式、ルール式などといった、様々なタイプの式の作成に使用されます。

式ビルダーには、式を直接入力できるフィールドがあります。また、「変数」、「関数」、「演算子」および「定数」の4つのタブがあります。これらの各タブでは、データがツリー構造で表示されます。「変数」タブでは、ルール・メタデータ内のすべての変数が表示されます。「関数」タブでは、ルール・メタデータ内のすべての関数が表示されます。「演算子」タブでは、+、-、*などといった演算子が表示されます。「定数」タブでは、ルール・メタデータ内に存在するすべての定数が表示されます。タブ間を切り替えてツリー内の項目を選択し、「式に挿入」ボタンをクリックして、選択された項目を「式」フィールドのカーソルのある位置に挿入できます。ツリー内で項目が選択されると、「コンテンツのプレビュー」および「説明」領域に、選択された項目の詳細情報が表示されます。いったん式を作成して「OK」をクリックすると、「式ビルダー」ボタンの左にある使用可能なフィールドに、新しく作成された式が表示されます。

図12-37に、「式ビルダー」ブラウザを示します。

図12-37 「式ビルダー」ブラウザ

図12-37の説明が続きます
「図12-37 「式ビルダー」ブラウザ」の説明

12.6.2 条件ブラウザ

条件ブラウザは、フィールドと階層ツリーを持ち、内側に式ビルダーが埋め込まれています。フィールドに式を直接入力するか、ツリーから項目を選択できます。条件ブラウザでは、フィルタ処理がサポートされています。たとえば、customerと入力し始めると、customerと付いた項目でツリーが絞り込まれます。

ツリー内で項目が選択されると、新たに選択されたものが、ただちにフィールドに表示されます。埋め込まれている式ビルダーを使用して、式を作成することもできます。

いったん式ビルダーが起動され、式が作成されると、「条件ブラウザ」フィールドに新しい式が表示されます。いったん式を作成して条件ブラウザの「OK」ボタンをクリックすると、「条件ブラウザ」ボタンの左にあるフィールドに、新しく作成された式が表示されます。

図12-38に、条件ブラウザを示します。

図12-38 条件ブラウザ

図12-38の説明が続きます
「図12-38 条件ブラウザ」の説明

12.6.3 「日付」ブラウザ

「日付」ブラウザは、リテラル日付または日付式の選択に使用されます。「日付」ブラウザには、リテラル日付と日付式間を切り替える2つのオプションがあります。一方のオプションが選択されている場合、もう一方は使用不可になります。

選択:

  • 「カレンダ」ポップアップを使用して日付を入力する「リテラル日付」オプション。

  • 「日付式」フィールドに直接式を入力するか、条件ブラウザを起動して日付式を選択する「日付式」オプション

図12-39に「日付」ブラウザを示します。

図12-39 「日付」ブラウザ

図12-39の説明が続きます
「図12-39 「日付」ブラウザ」の説明

12.6.4 「右のオペランド」ブラウザ

「右のオペランド」ブラウザは、右の複数の式を選択するため使用されます。オペランドは各行に表示されます。「オペランド」フィールドに式を直接入力するか、「条件ブラウザ」を起動して、式を選択できます。「+」ボタンを使用すると、現在の行の後に行が追加されます。「-」ボタンを使用すると、現在の行が削除されます。これらのボタンは選択された演算子に基づき、使用可能または使用不可になります。たとえば、in演算子では、右の複数の式が使用できます。したがって、この場合、ボタンが有効化されます。

図12-40に、「右のオペランド」ブラウザを示します。

図12-40 「右のオペランド」ブラウザ

図12-40の説明が続きます
「図12-40 「右のオペランド」ブラウザ」の説明

ノート:

「右のオペランド」ブラウザを使用すると、右側の式に複数の値を入力できます。ただし、「日付」ブラウザを「右のオペランド」ブラウザの外側に置くことはできますが、その場合、入力可能な式は1つのみになります。これらのどちらのブラウザでも、右側の「式」フィールドに値を直接入力することはできません。いったんブラウザを使用して値を入力後に「OK」をクリックすると、ルールのUIに値がカンマ区切りの値として追加されます。

12.7 Oracle Business Rulesディクショナリのデシジョン表の編集

Oracle SOAコンポーザがセッション内の場合、ルールセット内のデシジョン表の編集、追加、削除ができます。

セッションの使用方法の詳細は、「セッションの作成とパブリッシュ」を参照してください。

デシジョン表内のルール、条件またはアクションの説明を編集できます。条件の上にカーソルを移動すると、右矢印を使用して条件を選択します。条件値をクリックすると、ポップアップが表示され、そこで説明を編集できます。

12.7.1 デシジョン表の追加

Oracle SOAコンポーザでは、ルールセットにデシジョン表を追加できます。デシジョン表の使用の詳細は、「デシジョン表の使用の概要」を参照してください。

ルールセットにデシジョン表を追加するには:

  1. セッション内で、対象のルールセットを選択します。
  2. 図12-41に示すように、「ルールセット」領域で「追加」をクリックしてから「デシジョン表の追加」をクリックします。空のデシジョン表が表示されます。

    図12-41 ルールセットへのデシジョン表の追加

    図12-41の説明が続きます
    「図12-41 ルールセットへのデシジョン表の追加」の説明

12.7.2 デシジョン表への条件行の追加

Oracle SOAコンポーザを使用すると、デシジョン表に条件行を追加できます。

デシジョン表に条件行を追加するには:

  1. デシジョン表のツールバーの「追加」ボタンの隣のリストから、「条件の追加」を選択すると、「条件ブラウザ」ウィンドウが表示されるので、そこで条件を指定または選択できます。

    選択または指定された条件行と、ヘッダー「R1」の付いた「ルール」列が表に追加されます。「R1」の下のセルには、"?"マーク(図12-42)が付いています。"?"マークは、セルに値がまだ格納されていないことを示しています。

    図12-42 新規デシジョン表に追加された新しい条件行

    図12-42の説明が続きます
    「図12-42 新規デシジョン表に追加された新しい条件行」の説明

    既存の条件行がある表に条件を追加する場合は、空のデシジョン表に条件を追加する場合と同様に、条件の詳細を指定するよう要求されます。いったん詳細が入力されると、指定された条件が最終の条件行として追加されます。新しい行の各「ルール」列の下の条件セルにも、"?"マークが付いています。

    図12-43 デシジョン表の最終行として追加された新しい条件行

    図12-43の説明が続きます
    「図12-43 デシジョン表の最終行として追加された新しい条件行」の説明

    デシジョン表で使用されるすべての記号の詳細は、「デシジョン表のセルの編集」を参照してください。

  2. 指定された条件を編集する場合は、「条件」領域で条件行をクリックしてから、ツールバーの「条件の編集」ボタンをクリックします。「条件ブラウザ」が表示されます。
  3. 「条件ブラウザ」でクリックして変数を選択するか、「式ビルダー」ボタンをクリックして式ビルダーを表示し、式を入力します。

    式ビルダーを使用すると、式が作成できます。

  4. 各条件行には、各セルの値の取得元の値セットが必要です。選択した値に、関連付けられたグローバル値セットがある場合、デフォルトでは、その値セットが条件行に関連付けられています。

    値に関連付けられているグローバル値セットがない場合、デシジョン表に条件行を追加した後、既存のグローバル値セットを指定するか、ローカル値リストまたはローカル範囲リストのいずれかの値セットを作成する必要があります。

    値セットを条件と関連付けるには、次のいずれかを実行します。

    • 「条件」領域で条件を選択し、既存の値セットを「値セットの選択」リストから選択します。

    • 「条件」領域で条件を選択し、「ローカルの値リスト」または「ローカルの範囲リスト」のいずれか(適切なもの)を「値セットの選択」リストから選択します。

    「値セットの編集」ボタンをクリックすることで、選択した条件について値セットを編集できます。

    「値セット・エディタ」が表示されるので、そこで値の追加、編集または削除ができます。ローカル値リスト値セットを編集している場合、その値セット内の値を並べ替えることもできます。

    値セットの数値書式の詳細は、「Oracle SOAコンポーザにおけるローカライズされた数値書式に関する必知事項」を参照してください。

  5. 必要に応じてステップ2からステップ5を繰り返し、デシジョン表にさらに条件行を追加します。

条件行の追加の詳細は、「デシジョン表への条件行の追加方法」を参照してください。

12.7.3 デシジョン表へのアクションの追加

Oracle SOAコンポーザでは、デシジョン表にアクションを追加できます。

デシジョン表にアクションを追加するには:

  1. Oracle SOAコンポーザで、「ルールセット」ナビゲーション・タブからルールセットを選択し、アクションを追加するデシジョン表を選択します。
  2. 「追加」ボタンの横にあるリストから「アクションの追加」を選択し、リストから使用可能なアクションを選択します。たとえば、図12-44に示すように、「変更」をクリックします。

    図12-44 デシジョン表へのアクションの追加

    図12-44の説明が続きます
    「図12-44 デシジョン表へのアクションの追加」の説明

    デシジョン表の使用表5-1に、使用可能なアクションが記載されています。

  3. 「アクション・エディタ」ウィンドウで、アクションの対象を選択してからアクション・セルで値を指定します。

    値セットの数値書式の詳細は、「Oracle SOAコンポーザにおけるローカライズされた数値書式に関する必知事項」を参照してください。

デシジョン表へのアクションの追加の詳細は、「デシジョン表へのアクションの追加方法」を参照してください。

12.7.4 デシジョン表へのルールの追加

Oracle SOAコンポーザを使用すると、デシジョン表にルールを追加できます。

デシジョン表にルールを追加するには:

  1. セッション内で、対象のルールセットを選択し、ルールを追加するデシジョン表を選択します。
  2. 「ルール」マスター・リストで、ルールを追加するデシジョン表を選択します。「追加」ボタンの横の詳細セクションで、「ルールの追加」を選択します。

    追加されたルールの新しい列が表示されます。

    新しいルールがデシジョン表の先頭のルールとして追加され、その他のルールは値の順序が定義どおりに保たれるように、必要に応じて移動することに注意してください。これは「バケットによるルールの順序付け」がデフォルトで有効になっているためです。これは、デシジョン表でのルールの順序付けが、条件式に関連付けられている値の相対位置によって設定されることを意味します。ルールを追加するときに「バケットによるルールの順序付け」が有効でない場合、新しいルールはデシジョン表の最後のルールとして追加されます。どちらの場合も、新しいルールの列のセルには、セルに値がまだ設定されていないことを示す「?」という記号が表示されます。

    表で使用されるすべての記号の詳細は、「デシジョン表のセルの編集」を参照してください。ルールの順序についての詳細は、「デシジョン表でのルールの順序の操作」を参照してください。

  3. セルをクリックして、条件セルに値を入力します。
  4. 「アクション」行をクリックしてアクション・セルの値を入力します。

ノート:

列幅が足りないため、デシジョン表のセルの内容の全体が表示されない場合は、マウス・ポインタを移動してセルに重ねることで内容を表示できます。また、「タブ・セクションを最大化してください」ボタンをクリックすると、ビューが広くなります。

12.7.4.1 デシジョン表のセルの編集

デシジョン表内の各ルールには、「条件」、「競合」および「アクション」の3つのセクションに属するセルが含まれます。

条件セルの使用

表示モードでは、"?"マークの付いた条件セルは、セルに条件値が格納されていないことを示します。セルに2つ以上の値が指定されている場合は、セミコロン区切りの値リストがセルに表示されます。

編集可能モードでは、条件セルに、複数選択リストで指定された条件値が表示されます。新しいルールを編集する場合や条件値が指定されていない場合は、条件セルは空になっています。

「すべて」を選択した場合は、次のように動作します。

  • 特定の条件セルをクリックした場合は、セルに"All"と表示されます。

  • 特定の条件セルが選択されていない場合は、セルに"-"記号が表示されます。

条件値のリストから、使用可能な任意の値を選択できます。

ノート:

条件セルの編集の際に、「バケットによるルールの順序付け」が選択されている場合、デシジョン表がリフレッシュされ、編集されたルール列が選択された条件セルの値により左または右へ移動します。「ツール」ドロップダウンをクリックし、「バケットによるルールの順序付け」を選択します。

ノート:

条件と関連付けられた値セットは、条件をクリックすると変更できます。これにより、値セット・リストおよび「値セットの編集」ボタンが有効化され、関連する値セットを編集できるようになります。

アクション・セルの使用

アクションを追加する際は、指定されたアクション・タイプのアクション行が作成されます。アクション・セルには、次の2つのタイプがあります。

  • 「アクション・フォーム」セル。チェック・ボックスを含みます。ルールの起動の際に、選択されたアクションのみが実行されます。図12-45で、R1およびR3アクション・チェック・ボックスが選択されており、その他のアクション・チェック・ボックスはクリアされています。この場合、「R1」が起動するとアクションが実行されますが、「R2」が起動してもアクションは実行されません。

    ノート:

    「アクションの編集」ボタンは、「アクション・フォーム」セルの行が選択されている場合のみ、使用可能になります。「アクションの編集」ボタンを使用すると、「アクション・エディタ」ウィンドウが起動します。

  • 「アクション・パラメータ」セル。「アクション・フォーム」のパラメータが含まれます。各フィールドにアクション・パラメータ値を直接入力するか、「条件ブラウザ」ウィンドウを起動して値を選択できます。

図12-45に、「アクション・パラメータ」セルの値を選択できる、「アクション・エディタ」ウィンドウを示します。「常に選択」チェック・ボックスを選択した場合、その特定のアクション・フォームのすべてのチェック・ボックスが選択されます。指定されたアクションが常に選択のため、アクション・フォームに属するすべてのチェック・ボックスも使用不可になります。

図12-45 「アクション・エディタ」ウィンドウ

図12-45の説明が続きます
「図12-45 「アクション・エディタ」ウィンドウ」の説明

ノート:

デシジョン表のすべての条件セルおよびすべてのアクション・セルは一括で削除できます。「条件」または「アクション」の各ボックスをクリックすると、デシジョン表のすべての条件またはアクションがそれぞれ選択されます。

その後、デシジョン表のツールバーにある「削除」ボタンをクリックすると、条件またはアクションを削除できます。

12.7.4.2 デシジョン表でのルールの順序の操作

デシジョン表の「バケットによるルールの順序付け」チェック・ボックスは、デフォルトで有効になっています。つまり、条件行に関連付けられている値セット内の値の順序によって条件セルの順序が決まり、それに従いルールの順序も決まります。「ツール」ドロップダウンをクリックし、「バケットによるルールの順序付け」を選択します。

デシジョン表のルールの順序を変更するには、値セット内の値の順序を変更する必要があります。たとえば、デシジョン表でのルールの順序付けは、条件行に関連付けられているLOV値セット内の値の相対位置を変更することで操作できます。ただし、範囲値セットは並べ替えできないことに注意してください。

デシジョン表で「バケットによるルールの順序付け」チェック・ボックスが選択されている状態でルールを追加すると、デフォルトで新しいルールが先頭のルール列として追加されます。つまり、その他のルール列は、値セット値の順序が定義どおりに保たれるように、必要に応じて移動します。「バケットによるルールの順序付け」チェック・ボックスが無効な状態でルールを追加すると、新しいルールが最後のルール列として追加されます。「バケットによるルールの順序付け」チェック・ボックスをこれから選択すると、新しく追加されたルールが最初の列に移動します。

12.7.5 デシジョン表でのルールの削除

デシジョン表では、1つまたは複数のルールの削除が可能です。

デシジョン表のルールを削除するには:

  1. 削除する「ルール」列を選択します。

    複数のルールを削除する場合は、[Ctrl]キーを押し、キーを押したまま、その他の「ルール」列を選択します。

  2. 「削除」ボタンをクリックします。

12.7.6 デシジョン表でのテストの定義

Oracle SOAコンポーザでは、ファクトに条件を追加することでデシジョン表にテストを定義できます。テストの定義とルール条件の使用方法の詳細は、「ルールの使用」を参照してください。

ノート:

ファクトに複雑な条件を追加するには、「拡張テストの使用方法」を参照してください。

デシジョン表にテストを追加するには:

  1. Oracle SOAコンポーザで、「ルールセット」ナビゲーション・タブからルールセットを選択し、テストを追加するデシジョン表を選択します。
  2. デシジョン表名の横にある「拡張プロパティ・エディタ」ボタンをクリックします。「拡張モード」が選択されている場合は、そのチェック・ボックスをクリアします。
  3. デシジョン表名の下にある「クリックして、テストと変数を表示します」リンクをクリックします。
  4. 「追加」ボタンの横にある下矢印をクリックし、必要に応じてオプションを選択します。
  5. フィールドのコントロールまたは「左の値」および「右の値」ボタン、また「演算子」リストを使用して、条件式を作成します。

    ノート:

    デシジョン表にテスト条件がすでに含まれている場合は、既存の条件の端にある「追加」をクリックし、必要なテストのフォーム・タイプを選択して新しいテスト条件を追加できます。

12.7.7 デシジョン表の分割および圧縮

デシジョン表の内容を変更して、すべてのケースに関する完全なルールセットを含む表の作成、または複数のケースに関して最小数のルールを提供する表を作成できます。分割操作と圧縮操作によって、デシジョン表の内容を操作できます。

表分割操作では、条件間で値の組合せごとにルールが作成されます。たとえば、2つのブール条件を持つデシジョン表には、2 x 2 = 4 のルールが作成されます。20のブール条件を持つデシジョン表では、2**20から100万のルールが作成されます。したがって、作成されるルールの数が少なく、アクション・セルに十分に収まる場合は、表分割を使用するのが適切です。

Oracle SOAコンポーザを使用すると、デシジョン表全体に分割を適用できます。ただし、分割操作を個々の条件行または条件セルに対して実行することはできません。

デシジョン表を分割または圧縮するには:

  1. Oracle SOAコンポーザで、「ルールセット」ナビゲーション・タブからルールセットを選択し、分割または圧縮するデシジョン表を選択します。
  2. 「ツール」ドロップダウンで、「表の分割」ボタンまたは「表の圧縮」ボタンをクリックします。

Oracle SOAコンポーザを使用すると、ルールの条件を同一アクションとマージすることでデシジョン表を圧縮できます。そのため、表を圧縮するとデシジョン表から条件を削除できます。ただし、Oracle SOAコンポーザを使用する場合、2つ以上の条件セルをマージすることはできません。

デシジョン表の分割および圧縮の詳細は、「デシジョン表の操作の概要」を参照してください。

12.7.8 デシジョン表での欠落しているルールのチェック

デシジョン表では、欠落しているルールはギャップとも呼ばれます。デシジョン表にギャップが発生するのは、各条件からの1つの値の組合せの一部がルールの対象でない場合です。

Oracle SOAコンポーザを使用すると、デシジョン表の欠落しているルールをチェックできます。

欠落しているルールをチェックするには:

  1. Oracle SOAコンポーザで、「ルールセット」ナビゲーション・タブからルールセットを選択し、欠落しているルールをチェックするデシジョン表を選択します。
  2. 「ツール」ドロップダウンから「ギャップ分析」を選択します。

    図12-46に示すように、「ギャップ分析」ウィンドウが表示されます。デシジョン表に追加する必要のあるルールを選択できます。

    図12-46 「ギャップ分析」ウィンドウ

    図12-46の説明が続きます
    「図12-46 「ギャップ分析」ウィンドウ」の説明

欠落しているルールのチェックの詳細は、「デシジョン表のギャップのチェック方法」を参照してください。

12.7.9 デシジョン表での競合解決の実行

デシジョン表内のルールが重複し、かつ異なるアクションが存在する場合、ルールが競合する可能性があります。2つのルールが重複するのは、その条件セルの1つ以上に共通する値がある場合です。ただし、競合のない重複は一般的であり、問題はありません。デシジョン表での競合の詳細は、「デシジョン表の競合分析」を参照してください。

Oracle SOAコンポーザを使用すると、デシジョン表内の競合を検出および解決できます。

デシジョン表の競合解決を実行するには:

  1. Oracle SOAコンポーザで、「ルールセット」ナビゲーション・タブからルールセットを選択し、競合解決を実行するデシジョン表を選択します。
  2. 「ツール」ドロップダウンで「競合の表示」ボタンが選択されていることを確認してください。
  3. デシジョン表名の横にある「拡張プロパティ・エディタ」ボタンをクリックします。
  4. 「詳細設定」領域で「競合ポリシー」「手動」に設定されていることを確認してください。これはデフォルトの競合ポリシーです。

    ノート:

    競合ポリシーの詳細は、「デシジョン表の競合分析」を参照してください。

  5. 「競合」行を選択し、競合があるルールをクリックして、「競合解決」ウィンドウを表示します。
  6. 図12-47に示すように、「競合解決」ウィンドウで、競合するルールごとに「解決」フィールドでリストから解決を選択し、「OK」をクリックします。

    図12-47 「競合解決」ダイアログ

    図12-47の説明が続きます
    「図12-47 「競合解決」ダイアログ」の説明

    デシジョン表の競合解決オプションの詳細は、「デシジョン表の競合分析」を参照してください。

12.7.10 行から列への切替

Oracle SOAコンポーザでは、詳細領域の「行を列に切替」リンクをクリックすることで、デシジョン表の行を列に変更できます。これによりルールを行として、また条件、アクションおよび競合を列として表示できます。

デシジョン表に多数のルールが存在する場合、行を列に切り替えることにより、ナビゲーションが容易になります。これはすべてのルールが一括して表示され、ルールの表示のため列をページングする必要がなくなるためです。

図12-48に、切替操作前のデシジョン表を示します。

図12-48 サンプルのデシジョン表

図12-48の説明が続きます
「図12-48 サンプルのデシジョン表」の説明

図12-49に、行を列に切替後のサンプルのデシジョン表を示します。

図12-49 行を列に切替

図12-49の説明が続きます
「図12-49 行を列に切替」の説明

12.7.11 デシジョン表での拡張モード・オプションの使用

Oracle SOAコンポーザでは、ルールセットで拡張モードのルールを使用できるのと同様、デシジョン表でも拡張モードのルールが使用できます。拡張モードのルール・オプションを使用すると、パターンに条件およびアクションを追加、変更、削除するだけでなく、パターンを作成、変更および削除できます。

ノート:

「拡張モード」機能は、下位互換性のためにのみ維持されています。簡易モードで拡張テストを使用し、必要な任意の種類の条件を作成することをお薦めします。

拡張モードで実行できることはすべて、簡易モードで実行できます。拡張モード・ルールは、単に「拡張モード」チェック・ボックスをクリアすることで同等の簡易モードに変換できます。

詳細は、「拡張テストの使用方法」を参照してください。

拡張モードのオプションを表示および使用するには:

  1. Oracle SOAコンポーザで、「ルールセット」ナビゲーション・タブからルールセットを選択し、さらに複雑なルールを追加するデシジョン表を選択します。
  2. デシジョン表名の横にある「拡張プロパティ・エディタ」ボタンをクリックします。
  3. 「拡張モード」を選択します。

    デシジョン表の拡張モード・オプションは、ルールセットの拡張モード・オプションとほぼ同じです。詳細は、「拡張モード・オプションの使用」を参照してください。

12.7.12 デシジョン表の削除

Oracle SOAコンポーザでは、ルールセット内のデシジョン表を削除できます。デシジョン表の使用の詳細は、「デシジョン表の使用の概要」を参照してください。

ルールセット内のデシジョン表を削除するには:

  1. セッション内で、対象のルールセットを選択します。
  2. 「ルール」マスター・リストで、削除するデシジョン表をクリックします。
  3. 「削除」をクリックします。
  4. 変更が完了したら、「現在のタブでの変更を保存」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

12.7.13 Microsoft Excelでのデシジョン表の編集

ビジネス・ユーザーの場合は、Microsoft Excelを使用するとデシジョン表の編集が容易になることがあります。新機能を使用すると、開発者とビジネス・ユーザーのどちらも、デシジョン表をエクスポートしてExcelで編集してから、ディクショナリにデシジョン表をインポートして戻すことができます。

Microsoft Excelにデシジョン表をエクスポートすると、「新規アサート」、「変更」、「割当て」、「リトラクト」、「コール」など、基本のアクション・タイプしかサポートされません。

デシジョン表は、設計時にエクスポートして、Oracle JDeveloperまたはBusiness Process Composerで編集できます。実行時には、エクスポートしてSOAコンポーザで編集できます。ルール・ディクショナリから同じExcelワークブックに1つ以上のデシジョン表をエクスポートできます。

ディクショナリにインポートして戻すときに、新しいディクショナリを作成するか、既存のディクショナリを上書きするか、差異のマージを実行することができます。差異のマージにより、ディクショナリを比較できます。

ディクショナリの比較の詳細は、「Oracle Business Rulesディクショナリの比較およびマージ」を参照してください。

Excelワークブックの構造は、図12-50に示すように複数のワークシートで構成されます。これらのシートは1枚のREADMEシート、1枚の値セットシートおよびエクスポートされた各デシジョン表に対応する1枚ずつのシートです。Excelで編集できるものはルールと値セットのみです。.xlsm (デフォルト)または.xlsにエクスポートできます。

図12-50 Excelワークブック

図12-50の説明が続きます
「図12-50 Excelワークブック」の説明

スプレッドシートを開く際のデフォルトではマクロが無効化されています。マクロを有効にすると、「Oracle Business Rules」という新しいタブが表示されます。このタブで、ルールの追加または削除、セルのマージまたは分割、値セットの値の追加または削除を実行できます。また、強調表示の無効化または有効化、簡易モードまたは拡張モードの使用、READMEシートの非表示または表示も実行できます。

マクロを無効にした状態でも編集はできますが、次のことを実行できません。

  • 制限付きセルでのドロップ・リストからの値の選択

  • フリー・フォーム・セルの編集

  • セル範囲のコピーおよび貼付けによるルールまたは値セットの追加

  • セル範囲の削除によるルールまたは値セットの削除

  • セルの分割またはマージ

  • 値セットの自動作成

  • デシジョン表または値セットの構造の検証

事前定義済のマクロを使用すると、次の実行が可能になります。

  • ルールの追加と削除

  • セルの分割またはマージ

  • 値セットの追加または削除

  • 編集可能なセルには次が含まれます。

    • ルール、条件、アクションの説明。

    • 条件およびアクション・ノード。

    • アクションの状態。

    • アクション・パラメータのパラメータ化オプション

  • 編集不可のセルには次が含まれます。

    • 条件式。

    • アクション式。

    • アクション・パラメータ。

    これらのセルを編集しようとすると、図12-51に示すようにエラー・メッセージが表示されます。

    図12-51 変更不可のセル

    図12-51の説明が続きます
    「図12-51 変更不可のセル」の説明
12.7.13.1 エクスポートされるものの理解

SDKには、複数のデシジョン表にわたる複数の条件と関連付けることができる共有値セットがあります。ただし、Excelでは、共有値セットは存在しません。各条件に独自の値セットがあるため、Excelで変更可能な場合にエクスポート可能な値セットは1つのみになります。変更不可の値セットには、次が含まれます。

  • リンク先のディクショナリ値セット。

  • 列挙。

  • ブール値セットなどの内部値セット。

ワークシートでは、変更不可の値セットと関連付けられた条件のドロップダウンから値を選択することのみが可能です。強調表示メカニズムによって、変更不可の値セットに関連付けられている条件が示されます。

12.7.13.2 デシジョン表をエクスポートする方法

図12-52に示すように、エクスポート機能は、ツールバー・オプションの「Excelにエクスポート」ボタンを使用して起動できます。

図12-52 「アクション」ツールバー

図12-52の説明が続きます
「図12-52 「アクション」ツールバー」の説明

Excelフォーマットでエクスポートするには:

  1. SOAコンポーザのセッション内で、「アクション」、「Excelにエクスポート」をクリックします。
  2. 「デシジョン表のエクスポート」ダイアログ・ボックスで、「形式」を選択し、ワークシートを保存するフォルダを参照します。
  3. エクスポートするデシジョン表を選択し、「OK」をクリックします。
  4. 「読取り専用値セット」チェック・ボックスを選択し、Excel内のすべての値セットを読取り専用にします。Excelワークブックに値セット・シートが存在しなくなります。すべての条件に、ドロップダウン・メニューがあり、それらの値は選択できますが、値を追加したり削除することはできません。
  5. 「エクスポート」をクリックします。これで、ワークシートを開いてデシジョン表を編集できます。
12.7.13.3 デシジョン表をディクショナリにインポートする方法

インポートできるExcelスプレッドシートは前にエクスポートしたもののみです。

編集済デシジョン表をディクショナリにインポートして戻すには:

  1. ルール・デザイナで、「アクション」、「Excelからインポート」をクリックします。
  2. 「デシジョン表のインポート」ダイアログ・ボックスで、「参照」をクリックし、ワークシートを保存したフォルダを参照します。
  3. 「差異のマージ」チェック・ボックスはデフォルトで選択されています。差異のマージの使用方法の詳細は、「Oracle Business Rulesディクショナリの比較およびマージ」を参照してください。必要に合せて「新規作成」または「上書き」を選択します。
  4. 「インポート」をクリックします。デシジョン表がルール・デザイナにインポートされ、そこで変更の受入れるか拒否できます。各変更済アーティファクトには、変更アイコンのフラグが付いています。

ノート:

マージは注意深く実行してください。「Oracle Business Rulesディクショナリの比較およびマージ」を参照してください

12.7.13.4 Excelでデシジョン表を編集する方法

Excelで、マクロを有効化して、「Oracle Business Rules」タブを表示します。これにより、ルールの作成、値セットの編集、およびプリファレンスの設定を行えるオプションが表示されます。

詳細は、「Microsoft Excelでのデシジョン表の編集」を参照してください。

12.7.14 ルール・テスト変数に関する必知事項

Oracle SOAコンポーザを使用して、テスト関数を定義できます。これはルールおよびデシジョン表の条件およびアクションで発生する、非常に長い式を短縮する手段を提供するものです。変数およびその値は、インラインのビジネス条件定義と表現されることがあります。テスト変数は、インライン・エイリアスとも呼ばれます。

したがって、次のような記述ではなく

次のように記述できます。

続いてテスト条件で、fooを式の一部として使用できます。簡単なものから複雑な式まで、あらゆる式にすることが可能です。

変数を定義するには、ルールの「IF」セクションで、「テストの追加」のすぐ横の下矢印をクリックし、リストから「変数」を選択する必要があります。

変数とは別に、簡易テスト、ネスト・テスト((...))およびNotネスト・テスト(not (...))などの、他のテスト・フォームのタイプを定義することもできます。

12.8 Oracle Business Rulesディクショナリの比較およびマージ

「差異のマージ」機能により、ディクショナリの最新バージョンと任意の旧バージョンとの差異を確認し、それ以降の変更を保存またはロールバックできます。実行時に、SOAコンポーザで、「差異のマージ」機能を使用して、「ファイルシステム」、「公開済のバージョン」、または「保存済バージョン」を、開いているディクショナリと比較できます。

SOAコンポーザは、編集済バージョンと以前に保存したバージョンとの比較、保存済バージョン以降に変更されたアイテムの選択、およびそれらをその保存されている値に戻すことのみをサポートしています。最新バージョンから見た差異が確認されます。

「マージ」機能を使用すると、2つのバージョン間との差異を確認し、それらの差異を解決またはマージできます。変更されたバージョンから見た差異が確認されます。

「差異ディクショナリ」オプションは、図12-53に示すようにルール・デザイナ・ツールバーで使用できます。

図12-53 「アクション」ドロップダウン・リスト

図12-53の説明が続きます
「図12-53 「アクション」ドロップダウン・リスト」の説明

警告:

ディクショナリは差異またはマージ・モードになっているときは読取り専用になるため、この機能の実行を決定する前に、すべての変更を解決する準備をする必要があります。

ディクショナリのマージは注意深く実行してください。

12.8.1 ディクショナリ間の差異を調べる方法

ディクショナリを比較する場合は、新しいディクショナリを開き、「差異のマージ」を使用して、比較するディクショナリを選択します。新しい方のディクショナリに存在しないものはすべて、新しいバージョンからの削除としてフラグが指定されます。

ディクショナリ間の差異を調べるには:

  1. SOAコンポーザで、新しいディクショナリを開いたまま、「アクション」、「差異のマージ」をクリックします。

    図12-54に示すように、「ディクショナリ・バージョン」ダイアログが表示されます。

    図12-54 「ディクショナリ・バージョン」ダイアログ

    図12-54の説明が続きます
    「図12-54 「ディクショナリ・バージョン」ダイアログ」の説明
  2. 「ディクショナリの選択」フィールドで、比較するディクショナリ・バージョンの1つを選択します。
    • ファイルシステム: 「ファイルシステム」バージョンでは、ユーザーは、ローカル・ファイル・システムで使用可能なルール・ファイルを、サーバーにデプロイされているコンポジットのルール・ファイルと比較できます。

    • 公開済のバージョン: 「公開済のバージョン」は、バージョンが変更されたときに変更されるコンポジット・バージョンです。

    • 保存済バージョン: 「保存済バージョン」は、バージョンが変更されたときに変更されるコンポジット・バージョンです。

  3. 「OK」をクリックして、比較対象のディクショナリを開きます。

    2つのディクショナリ間のすべての差異に変更アイコンのフラグが指定されます。

    変更アイコンは、すべてのタブに対して、および各タブ内の特定のアーティファクトに対して表示されます。例を図12-55に示します。

    図12-55 変更のマージと元に戻す

    図12-55の説明が続きます
    「図12-55 変更のマージと元に戻す」の説明
  4. 「保持」をクリックして変更を保持するか、「元に戻す」を選択して、行った変更を破棄します。

    各タブをクリックして、変更を保持するか元に戻すかを決定できます。

  5. または、「アクション」ドロップダウン・リストで「すべてを受入れ」または「すべて却下」を選択し、1回のクリックですべての変更を受け入れるか却下できます。

    図12-56 「アクション」ドロップダウンからの「すべてを受入れ」または「すべて却下」

    図12-56の説明が続きます
    「図12-56 「アクション」ドロップダウンからの「すべてを受入れ」または「すべて却下」」の説明

「差異のマージ」機能は、JDeveloperルール・デザイナのほうが完全に機能します。詳細は、「2つ以上のディクショナリを比較またはマージする方法」を参照してください。

12.9 Oracle Business Rulesのリソース名のローカライズ

Oracle BPMを使用すると、一部のルール・コンポーネントの名前をローカライズできます。

これらのエイリアスの変換バージョンを提供することで、次のアプリケーションを使用する際に、ユーザーがこれらのエイリアスを自分のブラウザの地域の設定に基づいて表示できるようになります。

  • Oracle SOAコンポーザ

  • Oracle Business Process Composer

  • Oracle Process Workspace

ノート:

ロケールのディクショナリは、リソース・バンドルとして格納されています。Oracle JDeveloperを使用して、リソース・バンドルを作成する必要があります。これらはSOAコンポジット・アプリケーションの一部としてデプロイする必要があります。

Oracle SOAコンポーザを使用してリソース・バンドルを作成することはできません。ただし、Oracle SOAコンポーザを使用して、リソース・バンドル内のローカライズされた文字列を編集することは可能です。

Oracle SOAコンポーザを使用すると、次のルール・コンポーネントのエイリアスをローカライズできます。

  • 値セット

  • デシジョン関数

  • デシジョン関数のファクト

  • グローバル

  • リンク

  • ルールセット

  • ルール

  • パターン

12.9.1 Oracle Business Rulesコンポーネントのエイリアスのローカライズ方法

Oracle SOAコンポーザを使用して、セッション内で、ルール・コンポーネントの特定に使用される、エイリアスおよびその詳細の翻訳バージョンを追加できます。

ルール・コンポーネントのエイリアスをローカライズするには:

  1. Oracle SOAコンポーザで、「変換」タブを選択します。「変換」タブに、複数の列を持つ表が表示されます。デフォルトでは、2つの列が存在し、一方にルール・コンポーネントの未変換の識別子が表示されています。そのほかでは、英語ロケールが表示されます。

    アプリケーションに他のロケールが定義されている場合は、それらもこの表に列として表示されます。詳細は、「Oracle Business Rulesリソースのローカライズ」を参照してください。

  2. 編集するロケールの列で、変換するエイリアスに対応するセルをダブルクリックします。
  3. ローカライズされたエイリアスのテキストを入力します。
  4. ステップ2および3を繰り返して、ロケールに必要なすべてのエイリアスをローカライズします。

ノート:

ロケール・ファイルのオフラインでの編集はサポートされていません。ロケールの追加の際は、生成されたxmlファイルにすべてのキーがデフォルトで含まれているわけではありません。これらは値が追加される際に追加されます。

エディタからローカライズすることもできます。エディタからローカライズするには、「変換」ボタンをクリックします。

翻訳エディタで、ルール・コンポーネントの「エイリアス」を入力し、「OK」をクリックできます。

12.10 Oracle JDeveloperのルール・ディクショナリと実行時のディクショナリの更新の同期

Oracle SOAコンポーザを使用すると、実行時にルール・ディクショナリの更新を行うことができます。ただし、Oracle SOAコンポーザを介してディクショナリに加えられた変更は、Oracle JDeveloperに自動的には反映されません。Oracle SOAコンポーザで行われたディクショナリの更新を、Oracle JDeveloperで使用可能なディクショナリに同期するには、Oracle Enterprise Manager Fusion Middleware Controlコンソールの「エクスポート」オプションを選択する必要があります。このユーティリティを使用すると、SOAコンポジット・アプリケーションをディクショナリとともにエクスポートできます。

Fusion Middleware Controlコンソールで「エクスポート」オプションを選択するには:

  1. Fusion Middleware Controlコンソールで、エクスポートされるディクショナリを含むコンポジットを選択します。
  2. 図12-57に示すように、右のパネルの「SOAコンポジット」ドロップダウン・リストをクリックし、「エクスポート」を選択します。

    図12-57 「エクスポート」ユーティリティの選択

    図12-57の説明が続きます
    「図12-57 「エクスポート」ユーティリティの選択」の説明
  3. 図12-58に示すように、「コンポジットのエクスポート」ページから、「オプション1:デプロイ後のすべての変更を有効にしてエクスポート」を選択し、「エクスポート」をクリックします。

    図12-58 デプロイ後のすべての変更のエクスポート

    図12-58の説明が続きます
    「図12-58 デプロイ後のすべての変更のエクスポート」の説明

12.11 Oracle Business Rulesディクショナリの検証と診断

Oracle SOAコンポーザで、セッション内で、下部のタブを使用して診断を確認し、エラーがないかディクショナリを検証します。セッションをパブリッシュした後、「診断」タブに移入されます。

セッションのパブリッシュ中に、別のユーザーが同じアーティファクト(ディクショナリなど)に変更を行った場合、それがこのセクションに一覧表示されます。競合を処理するために3つのオプションがあります。

12.11.1 「検証ログ」タブの理解

「検証ログ」タブでは、すべてのディクショナリ・レベルの検証エラーが一覧表示されます。

検証ログは自動的に更新されません。検証は、「検証」をクリックした場合と、変更を保存したときにのみ実行されます。

たとえば、エラーがある新しいルールが追加された場合、「検証ログ」タブは自動的には更新されません。ツールバーの「検証」ボタンをクリックすると、検証ログが新しいエラー・エントリで更新されます。

12.11.2 「診断」タブの理解

図12-59に示すように、「診断」タブを使用して、他のユーザーが同じアーティファクトを変更しているか調べ、それらの競合を解決します。

図12-59 「診断」タブ

図12-59の説明が続きます
「図12-59 「診断」タブ」の説明

自身または他のユーザーが行った変更を解決するには:

  1. 表のアイテムごとに、「解決」ドロップダウンを使用して、変更の「無視」、「採用」または「上書き」を行います。
  2. 「採用」は、変更のマージを試みます。
  3. 「無視」は、自身の変更を破棄することを意味します。
  4. 「上書き」は、自身の変更を行い、他のユーザーの変更を破棄することを意味します。
  5. 完了したら「パブリッシュ」をクリックします。

12.11.3 「履歴センター」タブの理解

「履歴センター」タブに、現在のアクティブなセッションで自身または他のユーザーが行った保留中の変更が表示されます。たとえば、自身が行ったすべての変更を一度にすばやく元に戻す場合など、ここから、変更を破棄できます。

12.11.4 「ログの保存」タブの理解

「ログの保存」タブは、保存するたびに更新されます。正常に行われた場合、保存ログにエントリが追加されます。失敗した場合は、ここにエラー・メッセージが表示されます。

12.12 タスクの操作

Oracle SOAコンポーザを使用すると、Approval Management Extensions (AMX)のルールと関連付けされている、または関連付けされていないタスクを表示および編集できます。AMXを使用すると、作業アイテムの承認階層を決定するビジネス・ドキュメントおよび関連付けられたルールを考慮することによって、ヒューマン・ワークフローの複雑なタスク・ルーティング・スリップを定義できます。

さらに、AMXでは、スーパーバイザまたはポジション階層に基づいて関連付けられたリスト・ビルダーを使用して、複数ステージの承認を定義できます。設計時には、Oracle JDeveloperのヒューマン・タスク・エディタで承認タスクを定義し、そのタスクをBPELプロセスに関連付けることができます。承認管理およびタスクの詳細は、『Oracle Business Process Management Studioでのビジネス・プロセスの開発』承認管理の使用に関する項を参照してください。

Oracle SOAにはタスク・エディタがタスク・フローとして埋め込まれているため、タスク・メタデータのライフサイクル全体の操作を表示および実行できます。

12.12.1 タスク・メタデータの表示方法

タスク・メタデータを表示するには:

  1. Oracle SOAコンポーザで、タスクまたはAMXルール・メタデータ・アーティファクトを開くには、図12-60に示すように、「タイプ・ビュー」から、「ヒューマン・タスク」フォルダを開き、アーティファクトをクリックして新しいタブにそれを開きます。

    図12-60 タスクのオープン

    図12-60の説明が続きます
    「図12-60 タスクのオープン」の説明
  2. 変更を行う場合は、「セッションの編集」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

    セッション・ボタンの使用方法の詳細は、「セッションの作成とパブリッシュ」を参照してください。

従来のルールとAMXのルールは、ネーミング規則により区別できます。

たとえば、コンポジットに次のアーティファクトがあるとします。

  • <AMXタスク名>.tsk

  • <AMXルール名>Rules.rules

12.12.2 タスクまたはAMXのルール・メタデータを構成する方法

タスク構成を使用すると、ビジネス・ユーザーと管理者は、ワークフロー・デザイナが自動的に構成したルールを参照できます。この事前定義済ルールは、特定の顧客向けに、適用可能な顧客企業ポリシーに基づいて変更できます。

Oracle SOAコンポーザでタスク構成を使用すると、承認フローに関連付けられた、イベント・ドリブン(タスクのみ)およびデータ・ドリブンの各ルール(関連付けられたAMXのルールが存在するタスク)を実行時に編集できます。

図12-61 タスクの構成

図12-61の説明が続きます
「図12-61 タスクの構成」の説明
12.12.2.1 イベント・ドリブンの設定の構成

イベント・ドリブンの設定を構成するには:

  1. Oracle SOAコンポーザにログオンし、必要なタスクを開きます。
  2. 図12-62に示すように、Oracle SOAコンポーザのメニュー・バーの「セッションの編集」をクリックして、編集のため選択されたタスクを開きます。

    図12-62 編集するタスクのオープン

    図12-62の説明が続きます
    「図12-62 編集するタスクのオープン」の説明
  3. 関連する編集を行い、「現在のタブでの変更を保存」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

次のオプションおよび設定を構成できます。

  • タスク集計

  • エラー通知

  • 割当ておよびルーティング・ポリシー

  • 有効期限とエスカレーションのポリシー

  • 通知設定

  • タスク・アクセスの設定

12.12.2.1.1 承認集計の設定要件

タスク集計の要件として、次のいずれかを指定できます。

  • なし

  • タスクごとに1回

  • ステージごとに1回

12.12.2.1.2 エラー通知

タスクでエラーが発生した場合、通知する必要があるユーザー名およびグループ名を指定できます。「エラー通知時」検索ボタンをクリックして、「エラー割当て先の構成」ダイアログ・ボックスを表示する必要があります。そこでユーザー名またはグループ名を指定できます。

12.12.2.1.3 割当ておよびルーティング・ポリシーの設定

割当ておよびルーティング・ポリシーは、Oracle SOAコンポーザで使用可能なオプションを使用して設定できます。クリックして、割当ておよびルーティング・ポリシーの設定で使用可能なオプションを選択します。

イベント・ドリブンの構成で使用可能な、割当ておよびルーティングのオプションの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』ルーティング・ポリシーの手法に関する項を参照してください。

12.12.2.1.4 有効期限とエスカレーションのポリシーの設定

タスクの有効期限とエスカレーションのポリシーは、「有効期限およびエスカレーション・ポリシー」リストにある使用可能な項目を使用して設定できます。使用可能なリスト項目は、次のとおりです。

  • 期限切れなし

  • 期限切れまでの時間

  • エスカレートまでの時間

  • 期限更新までの時間

12.12.2.1.5 通知設定の構成

タスクの通知設定は、Oracle SOAコンポーザの「通知設定」セクションで使用可能なオプションを使用して構成できます。

図12-63に、タスクの通知設定の構成で使用可能な、様々なオプションを示します。

図12-63 「通知設定」の指定

図12-63の説明が続きます
「図12-63 「通知設定」の指定」の説明
12.12.2.1.6 タスク・アクセス設定の構成

アクセスルール設定は、ユーザーが実行できるアクションを制御するよう設定できます。コンテンツおよびアクションの権限も、作成者(イニシエータ)、所有者、割当て先、レビューアなどユーザーの論理上のロールに基づいて指定できます。

Oracle SOAコンポーザでは、図12-64および図12-65に示すように、「タスク・アクセス」領域の下の使用可能なオプションを使用して、アクセス設定を設定できます。

図12-64 タスク・アクセスの設定の指定

図12-64の説明が続きます
「図12-64 タスク・アクセスの設定の指定」の説明

図12-65 「タスク・アクション」設定の指定

図12-65の説明が続きます
「図12-65 「タスク・アクション」設定の指定」の説明

タスク・アクセスの構成の詳細は、『Oracle Business Process Management Studioでのビジネス・プロセスの開発』セキュリティ・アクセス・ルールの定義方法に関する項を参照してください。

12.12.2.2 データ・ドリブンの設定の構成(ルールまたは条件)

データ・ドリブンの設定を構成するには:

  1. Oracle SOAコンポーザにログオンし、必要なタスクを開きます。
  2. 図12-66に示すように、Oracle SOAコンポーザのメニュー・バーの「セッションの編集」をクリックして、編集のため選択された、AMXのルールに関連付けられたタスクを開きます。

    図12-66 ルール関連タスクの編集

    図12-66の説明が続きます
    「図12-66 ルール関連タスクの編集」の説明
  3. 関連する編集を行ったら、「現在のタブでの変更を保存」をクリックします。実行時バージョンに変更を適用する準備が整ったら、「パブリッシュ」をクリックします。

実行可能な操作は次のとおりです。

  • ルールの追加、更新および削除

  • ルールのアサーションの変更(アサーションはルールの構成対象となったリスト・ビルダーのタイプによって異なります)

  • 変数の追加

データ・ドリブンの設定の編集の詳細は、『Oracle Business Process Managementによるプロセスの管理とモニタリング』データ・ドリブンの設定の編集方法に関する項を参照してください。