Skip Headers
Oracle® Fusion Middleware User's Guide for Oracle Business Rules
11g Release 1 (11.1.1.5.0)

Part Number E10228-06
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

12 Using Oracle SOA Composer with Oracle Business Rules

Oracle Business Rules lets you create rules at design-time with the Oracle Business Rules Designer (Rules Designer) extension to Oracle JDeveloper. Rules Designer is an editor that enables you to create and edit rules with Oracle JDeveloper, and store the rules in a rules dictionary. When a dictionary is deployed in an SOA composite application, Oracle Business Rules lets you use Oracle SOA Composer to view, edit, and commit changes to a dictionary. In addition, Oracle SOA Composer enables you to work with other metadata types such as tasks. This chapter shows you how to use the Oracle SOA Composer application (Oracle SOA Composer) to work with a deployed dictionary and tasks that are part of an SOA composite application.

This chapter includes the following sections:

12.1 Introduction to Oracle SOA Composer

Oracle SOA Composer is a Web-based application that allows you to work with Oracle Business Rules dictionaries and tasks for deployed applications. Figure 12-1 shows how Oracle SOA Composer accesses a dictionary or a task in an MDS repository.

Figure 12-1 Oracle SOA Composer Architecture

Description of Figure 12-1 follows
Description of "Figure 12-1 Oracle SOA Composer Architecture"

12.2 Using Oracle SOA Composer User Authentication

Figure 12-2 shows the Oracle SOA Composer login page. This page allows Oracle SOA Composer to authenticate the specified user.

Figure 12-2 Oracle Oracle SOA Composer Login Page

Description of Figure 12-2 follows
Description of "Figure 12-2 Oracle Oracle SOA Composer Login Page"

To login to Oracle SOA Composer:

  1. Access Oracle SOA Composer using the following URL in your browser address bar:

    http://SERVER_NAME_OR_IP_ADDRESS/soa/composer

  2. In the Oracle SOA Composer login page, in the Username field, enter a user name.

  3. In the Password field, enter a password.

  4. Click Login.

For information on creating and managing users and groups, see Oracle Fusion Middleware Oracle WebLogic Server Administration Console Online Help.

12.2.1 What You Need to Know About SOA Composer Access Control and User Authentication

Oracle SOA Composer supports user and password access control and only authenticated users can use Oracle SOA Composer. However, Oracle SOA Composer does not provide finer grained access control. For example, Oracle SOA Composer does not support access control for individual rulesets or rules within a dictionary.

Oracle SOA Composer does support access control to metadata. Using Oracle SOA Composer, only users with the SOADesigner application role can access the metadata from Oracle SOA Composer. By default all the users with the WLS Administrator privileges have this role.

If a user without the SOADesigner role logs into Oracle SOA Composer, a message is shown indicating the user is not authorized to modify the SOA metadata, as shown in Figure 12-3.

Figure 12-3 SOA Composer Unauthorized Metadata Access Message

Description of Figure 12-3 follows
Description of "Figure 12-3 SOA Composer Unauthorized Metadata Access Message"

For more information on assigning the SOADesigner role to a nonadmin user who requires access to Oracle SOA Composer, see "Managing Application Roles in Oracle Enterprise Manager Fusion Middleware Control Console" in Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

12.3 Opening and Viewing an Oracle Business Rules Dictionary at Run Time

After you login to Oracle SOA Composer you can select a document to open. Oracle SOA Composer supports viewing and editing different types of metadata, including a DVM document or an Oracle Business Rules dictionary. In Oracle SOA Composer, you can open either an Oracle Business Rules dictionary or a DVM file with the Open menu as shown in Figure 12-4.

Figure 12-4 Oracle Oracle SOA Composer Open Menu Options

Description of Figure 12-4 follows
Description of "Figure 12-4 Oracle Oracle SOA Composer Open Menu Options"

12.3.1 Opening an Oracle Business Rules Dictionary at Run Time

To open an Oracle Business Rules dictionary using the Open menu:

  1. In Oracle SOA Composer, from the Open menu, select Open Rules.

  2. When you select Open Rules, Oracle SOA Composer connects to MDS and displays the Select a dictionary to open dialog box. This dialog box presents the available composite applications that contain dictionaries, as shown in Figure 12-5. In addition, it lists the shared dictionaries, and these shared dictionaries can also be viewed and edited.

    Figure 12-5 Oracle SOA Composer with Oracle Business Rules Dictionaries

    Description of Figure 12-5 follows
    Description of "Figure 12-5 Oracle SOA Composer with Oracle Business Rules Dictionaries"

  3. To open a dictionary select an entry in the table and click Open or double-click an item. This opens the dictionary in view mode, as shown in Figure 12-6.

    Figure 12-6 Oracle Business Rules Dictionary Open in Oracle SOA Composer View Mode

    Description of Figure 12-6 follows
    Description of "Figure 12-6 Oracle Business Rules Dictionary Open in Oracle SOA Composer View Mode"

As shown in Figure 12-6, Oracle SOA Composer shows a dictionary that displays a left-side panel with a list of tabs and links. Dictionary details for the selected item are shown on the right-hand side. Oracle SOA Composer includes the following tabs:

  • Globals

  • Bucketsets

  • Links

  • Decision Functions

  • Rulesets

Note:

Functions are not supported in Oracle SOA Composer.

By default, a dictionary is opened in the view mode. If a dictionary is previously opened in the edit mode and the changes made, if any, are not reverted, the next time when you open it, Oracle SOA Composer opens the dictionary in the edit mode. For more information on Edit mode, see Section 12.4, "Getting Started with Editing and Saving a Dictionary at Run Time".

To open an Oracle Business Rules dictionary directly using a known URL:

  1. Obtain the URL for a document that stores an Oracle Business Rules dictionary by using Bookmarkable Link in Oracle SOA Composer:

    1. In an open dictionary, click Bookmarkable Link to obtain the URL information for the dictionary, as shown in Figure 12-7.

      Figure 12-7 Using Link Dialog to Obtain the URL for an Open Dictionary

      Description of Figure 12-7 follows
      Description of "Figure 12-7 Using Link Dialog to Obtain the URL for an Open Dictionary"

    2. Copy the URL information and save it for future use.

  2. In a browser, use the saved URL to directly access the dictionary.

    For example,

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

    According to the preceding example, composites are stored as per the following structure: deployed-composites/composite name_revcomposite revision/oracle/rules/dictionary package path/dictionary name.rules

To open and edit a recently edited dictionary using the My Edits option:

If you recently edited a dictionary, then you can use the Open menu My Edits option to open and edit a dictionary.

  1. In Oracle SOA Composer, from the Open menu select My Edits and select a dictionary from the list, as shown in Figure 12-8.

    Figure 12-8 Using Open My Edits Option to Open a Dictionary

    Description of Figure 12-8 follows
    Description of "Figure 12-8 Using Open My Edits Option to Open a Dictionary"

  2. Oracle SOA Composer opens the specified dictionary in edit mode.

To open a ruleset in an Oracle Business Rules dictionary:

  1. In Oracle SOA Composer, from the Open menu select Open Rules.

  2. When you select Open Rules, Oracle SOA Composer connects to MDS and presents the available composite applications that contain dictionaries in a dialog box called Select a dictionary to open.

  3. To open a ruleset, if the ruleset you want to open is shown in the Contents field, then select the ruleset. If the ruleset is not shown, then click Show All as shown in Figure 12-9.

    Figure 12-9 Opening a Ruleset from the Contents Field in Oracle SOA Composer

    Description of Figure 12-9 follows
    Description of "Figure 12-9 Opening a Ruleset from the Contents Field in Oracle SOA Composer"

  4. Select a ruleset from the Name field in the list. This opens the rules editor with the specified ruleset selected.

Note:

You can also open a ruleset by first selecting a row in the Select a dictionary to open dialog box and you then clicking the Open button. This opens the first ruleset of the selected rules dictionary as the default tab.

12.3.2 What Happens When You Open an Oracle Business Rules Dictionary

When you use the Open menu and select Open Rules to open a dictionary, Oracle SOA Composer shows you all the metadata artifacts associated with the soa-infra that is co-located with the running Oracle SOA Composer application. From the supplied list, as shown in Figure 12-9, you select the composite, dictionary, and ruleset to open.

12.3.3 What You Need to Know to Obtain the Dictionary Path from the Open Dialog

The Open Dialog includes a Rules File field. When you hold the mouse over the values in the Rules File field, Oracle SOA Composer shows a "Complete Path" popup that includes the dictionary path, as shown in Figure 12-10.

Figure 12-10 Showing the Dictionary Rules File Complete Path from the Open Dialog

Description of Figure 12-10 follows
Description of "Figure 12-10 Showing the Dictionary Rules File Complete Path from the Open Dialog"

12.3.4 How to View Globals in an Oracle Business Rules Dictionary at Run Time

When you open a dictionary Oracle SOA Composer displays the Globals tab. The Globals tab only shows final global variables (global variables with Final option selected). Final global variables from linked dictionaries are also displayed in the Globals tab. However, these linked global variables are not editable even in the edit mode.

You cannot create or delete global variables. From the Globals tab, in edit mode, you can edit the Name, Description, and Value fields. For the Value field, you can use the expression builder to set the value. To check for validity, you can click Validate button on the Oracle SOA Composer menu bar. In view mode, the edit operations are not available. For information on using the Oracle SOA Composer edit mode, see Section 12.4, "Getting Started with Editing and Saving a Dictionary at Run Time".

To view globals in Oracle SOA Composer:

  1. In Oracle SOA Composer, from the Open menu, select Open Rules.

  2. After you open a dictionary, select the Globals tab from the left-side pane. This displays the Globals table, as shown in Figure 12-11.

Figure 12-11 Using the Oracle SOA Composer Rules Dictionary Globals Tab

Description of Figure 12-11 follows
Description of "Figure 12-11 Using the Oracle SOA Composer Rules Dictionary Globals Tab"

12.3.5 How to View Bucketsets in an Oracle Business Rules Dictionary at Run Time

When you open a dictionary and select the Bucketsets tab, if the dictionary contains bucketsets, the table shows all the bucketsets. Bucketsets from linked dictionaries are also displayed in the Bucketsets table. You can select a linked bucketset and click the Edit button to view the buckets. However, a linked bucketset is not editable even in the edit mode.

For information on the Oracle SOA Composer edit mode, see Section 12.4, "Getting Started with Editing and Saving a Dictionary at Run Time".

To view bucketsets in Oracle SOA Composer:

  1. In Oracle SOA Composer, from the Open menu select Open Rules.

  2. After you open a dictionary, select the Bucketsets tab from the left-side pane. This displays the Bucketsets table, as shown in Figure 12-12.

Figure 12-12 Using the Oracle SOA Composer Rules Dictionary Bucketsets Tab

Description of Figure 12-12 follows
Description of "Figure 12-12 Using the Oracle SOA Composer Rules Dictionary Bucketsets Tab"

12.3.6 How to View Linked Dictionary Names at Run Time

In Oracle SOA Composer,you can view the names of the dictionaries to which the current dictionary is linked by using the Links tab on the left-side panel as shown in Figure 12-13. Currently, even in the edit mode, you can only view the linked dictionary names, but you cannot link to a dictionary or delete an existing link to any dictionary.

To view linked dictionary names in Oracle SOA Composer:

  1. In Oracle SOA Composer, from the Open menu, select Open Rules.

  2. After you open a dictionary, select the Links tab from the left-side pane. This displays the Links table, as shown in Figure 12-13.

Figure 12-13 Viewing the Linked Dictionary Name

view linked dictionary name
Description of "Figure 12-13 Viewing the Linked Dictionary Name"

The Links table displays the name of the linked dictionaries, which in this case is CreditRatingRules.

12.3.7 How to View Decision Functions in Oracle Business Rules Dictionary at Run Time

In Oracle SOA Composer, you can view the decision functions that are available to the current dictionary by using the Decision Functions tab on the left-side panel as shown in Figure 12-14. Currently, even in the edit mode, you can only modify the following fields and options:

  • Description

  • Rule Firing Limit

  • Check rule flow

  • Make stateless

  • Available Rulesets to fire

You cannot create any decision function, rename an existing decision function, or add or delete any input or output.

To view decision function names in Oracle SOA Composer:

  1. In Oracle SOA Composer, from the Open menu, select Open Rules.

  2. After you open a dictionary, select the Decision Functions tab from the left-side pane. This displays the Decision Functions table, as shown in Figure 12-14.

Figure 12-14 Viewing Decision Function Names

Decision function
Description of "Figure 12-14 Viewing Decision Function Names"

The Decision Functions table displays the names of all the available decision functions, both parent and linked, which in this case are DecisionFunction_0, and CreditRatingRules.DecisionFunction_0.

12.3.8 How to View Rulesets in an Oracle Business Rules Dictionary at Run Time

Oracle SOA Composer displays the rulesets in the dictionary on the left-side panel, as shown in Figure 12-15. You can select a ruleset to display a detailed view of the ruleset. In view mode, all the rules in the ruleset are displayed but they are not editable. For information on the Oracle SOA Composer Edit mode, see Section 12.4, "Getting Started with Editing and Saving a Dictionary at Run Time".

Note:

Using Oracle SOA Composer in edit mode, you cannot create or delete rulesets. You can view and modify rulesets.

Figure 12-15 Using the Oracle SOA Composer Rules Dictionary Rulesets Tab to View Rules

Description of Figure 12-15 follows
Description of "Figure 12-15 Using the Oracle SOA Composer Rules Dictionary Rulesets Tab to View Rules"

To select the next ruleset or previous ruleset:

  1. In Oracle SOA Composer, open a dictionary and select a ruleset.

  2. When you are viewing a ruleset, you can click Select Next Ruleset or Select Previous Ruleset to view the next or the previous ruleset, as shown in Figure 12-16.

    Figure 12-16 Using the Oracle SOA Composer Rules Dictionary Rulesets Tab to Select Next Ruleset

    Description of Figure 12-16 follows
    Description of "Figure 12-16 Using the Oracle SOA Composer Rules Dictionary Rulesets Tab to Select Next Ruleset"

12.4 Getting Started with Editing and Saving a Dictionary at Run Time

When you select and open a dictionary Oracle SOA Composer shows the dictionary in read only mode. From each tab in view mode, you enter edit mode for the dictionary item by selecting the Edit menu. In edit mode, after you make changes, click Save to save your changes. Saving changes saves the dictionary to a work area. To apply the changes to the run time version of the dictionary, click Commit.

If you decide you do not want to apply the changes, you can revert the changes by selecting either of the following:

12.4.1 What You May Need to Know About Localized Number Formatting Support in Oracle SOA Composer

In Oracle SOA Composer, number formatting changes based on the browser locale. For example, you are using Oracle SOA Composer with U.S. English as the browser language. You enter a floating-point data, such as 34533223.2345, as a value. If you wish to view the data in any other language, such as French, you need to:

  1. Modify the browser locale for the instance to French.

  2. Click the Refresh button of the browser to view the number formatting changes

    In French, the value should display as 34533223,2345.

Note:

The grouping and decimal separators specified in Oracle SOA Composer overrides the locale-specific ones.

12.4.2 How to Edit Bucketsets in an Oracle Business Rules Dictionary at Run Time

In Oracle SOA Composer, selecting the Bucketsets tab shows you a table listing the bucketsets in the dictionary. To edit a bucketset, select the appropriate row, and click the Edit Bucketset icon to display the Bucketset Editor. Depending on the type of the bucketset, Range, Enum, or LOV, this displays a corresponding Edit bucketset page. You can create a Range Bucketset by clicking Add Bucketset icon and selecting a type. This adds a new row in the Bucketsets table. For example, for Date types, such as Date, DateTime, or Time, a calendar is displayed for selecting the date, time, and timezone. Adding a bucket automatically adds an end point for a range bucket and a value for an LOV bucket based on the datatype. You can modify the newly added bucket end point or value. Note that the alias is modified when an end point or value is changed.

To delete a bucketset, select a row and click Delete.

To edit a Range Bucketset:

  1. To edit a Range bucketset, in Oracle SOA Composer select the Bucketsets tab. This displays a table listing the bucketsets in the dictionary.

  2. To edit a Range bucketset, select the appropriate Range bucketset row and click the Edit Bucketset icon. This displays the Bucketset Editor page, as shown in Figure 12-17.

    Figure 12-17 Using Bucketset Editor to Edit a Range Bucketset

    Description of Figure 12-17 follows
    Description of "Figure 12-17 Using Bucketset Editor to Edit a Range Bucketset"

  3. Use the Bucketset Editor to edit the appropriate fields in the bucketset. You can click Add Bucket to add a bucket, and also select a row and click Delete Bucket to delete a bucket.

  4. Click OK to confirm the changes.

To edit an LOV Bucketset:

  1. To edit an LOV bucketset, in Oracle SOA Composer select the Bucketsets tab. This displays a table listing the bucketsets in the dictionary.

  2. To edit an LOV bucketset, select the appropriate LOV bucketset row and click the Edit Bucketset icon. This displays the Bucketset Editor page, as shown in Figure 12-18.

    Figure 12-18 Bucketset Editor Dialog to Edit an LOV Bucketset

    Description of Figure 12-18 follows
    Description of "Figure 12-18 Bucketset Editor Dialog to Edit an LOV Bucketset"

  3. Use the Bucketset Editor to edit the appropriate fields in the bucketset. You can click Add Bucket to add a bucket, and also select a row and click Delete Bucket to delete a bucket.

  4. Click OK to confirm the changes.

12.4.3 What You Need to Know About Editing Bucketsets

Only when a bucket has the Allowed in Actions field selected does the bucketset display in the condition cell drop-down in a Decision Table.

Click Validate in the menu bar to validate the dictionary while making changes to a bucketset.

12.4.4 How to Work With Dictionary Links in an Oracle Business Rules Dictionary at Run Time

An Oracle Business Rules dictionary can be linked to other dictionaries. The complete data model defined by a dictionary and its linked dictionaries is called a combined dictionary. You can create multiple links to the same dictionary. However, in this case, all but the first link is ignored.

You cannot use Oracle SOA Composer to link dictionaries. However, if a deployed composite already has linked dictionaries, using Oracle SOA Composer, you can view the linked dictionary names and make use of the Globals, Bucketsets, and Rulesets of the linked dictionaries across applications. For example you have an application called App1 that contains a dictionary called Dict1. Dict1 is linked to another dictionary called Dict2. Because Dict1 is linked to Dict2, the objects of Dict2 will be available for use in App1.

For more information on viewing linked dictionary names, see Section 12.3.6, "How to View Linked Dictionary Names at Run Time."

In Oracle SOA Composer, in the edit mode, you can use the Prefix Linked Names check box in the Links table to either display or hide the linked dictionary name that is prefixed to the all the items in the dictionary such as Globals, Bucketsets, and Rulesets. Selecting the check box prefixes facts from the linked dictionary with its dictionary name, and deselecting hides the linked dictionary facts prefix. By default, the Prefix Linked Names check box is in selected state as shown in Figure 12-19.

Figure 12-19 The Links Tab

links tab
Description of "Figure 12-19 The Links Tab"

Figure 12-20 displays three bucketsets: Rating from the current dictionary and Bucketset_1 and Bucketset_2 from the base dictionary CreditRatingRules, which is prefixed to both Bucketset_1 and Bucketset_2.

Figure 12-20 Prefixed Linked Dictionary Name Displayed

prefixed linked global
Description of "Figure 12-20 Prefixed Linked Dictionary Name Displayed"

Figure 12-21 displays the Rating bucketset name after you have deselected the Prefix Linked Names check box in the Links tab. In this case, the linked dictionary name is not prefixed to the bucketset name.

Figure 12-21 Prefixed Linked Dictionary Name Hidden

Surrounding text describes Figure 12-21 .

For more information about linked dictionaries, see Section 2.2.7, "What You Need to Know About Dictionary Linking."

12.4.5 How to Edit Decision Functions in an Oracle Business Rules Dictionary at Run Time

In Oracle SOA Composer, in the edit mode, selecting the Decision Functions tab shows you a table listing the decision functions that are available to the dictionary, both parent and linked. Currently, even in the edit mode, you can only modify the following fields and options:

  • Description

  • Rule Firing Limit

  • Check rule flow

  • Make stateless

  • Available Rulesets to fire

To edit a decision function:

  1. To edit a decision function, in Oracle SOA Composer, select the Decision Functions tab. This displays a table listing the decision functions in the dictionary.

  2. Select the appropriate decision function row and click the Edit Decision Function icon above the table. This displays the Decision Function Editor dialog box as shown in Figure 12-22.

    Figure 12-22 Decision Function Editor

    Description of Figure 12-22 follows
    Description of "Figure 12-22 Decision Function Editor"

    You cannot edit the following:

    • Name field

    • Inputs table

    • Outputs table

  3. In the Description field, optionally enter a description.

  4. Enter the required number value from the Rule Firing Limit list. By default, the selected value is unlimited. However, you can enter an integer value for the rule firing limit and press the Tab key. The newly specified value gets added to the Rule Firing Limit list.

  5. Select the appropriate decision function options:

    • Check rule flow: When selected, this option specifies that the rule flow is checked

    • Make stateless: When selected specifies the decision function is stateless.

  6. In the Rulesets & Decision Functions area, use the left and right arrow buttons to move items from the Available box to the Selected box.

  7. Select an item in the Selected box, and click up or down arrow buttons as appropriate to order the rulesets and the decision functions.

For more information on decision functions, see Chapter 6, "Working with Decision Functions."

12.4.6 What You May Need to Know About Oracle Business Rules Dictionary Editor Declarative Component

You can use the Oracle Business Rules Dictionary Editor composite declarative component to leverage the functionality of editing Rules Dictionaries in any ADF-based Web application. It enables you to edit business rules metadata artifacts, such as Globals, Bucketsets, and Rulesets, by using the Rules SDK2 API.

For more information on Oracle Business Rules Dictionary Editor, see "Using the Oracle Business Rules Dictionary Editor Declarative Component" in Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

12.4.7 What You May Need to Know About Oracle Business Rules Dictionary Editor Task Flow

Rules Dictionary Editor Task Flow, which is a wrapper around the Rules Dictionary Editor declarative component is used in ADF-based Web applications that require a task flow instead of a declarative component.

For more information on Oracle Business Rules Dictionary Editor, see "Using the Oracle Business Rules Dictionary Task Flow" in Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

12.5 Editing Rules in an Oracle Business Rules Dictionary at Run Time

In Oracle SOA Composer with edit mode you can edit, add, and delete rules in a ruleset. For more information on how to use edit mode, see Section 12.4, "Getting Started with Editing and Saving a Dictionary at Run Time".

12.5.1 How to Edit Rules in an Oracle Business Rules Dictionary at Run Time

Oracle SOA Composer allows you to edit the rules in a dictionary.

To edit a rule with Oracle SOA Composer:

  1. In Oracle SOA Composer, with an Oracle Business Rules dictionary open, select a ruleset.

  2. Click the Edit menu item.

  3. Oracle SOA Composer shows a confirm dialog if another user is currently editing the same dictionary. In the confirm dialog, click No or Yes, depending on whether you want to edit the document (if you click Yes, your changes could conflict with another user's changes). For more information, see Section 12.8.1, "What You Need to Know About Editing With Multiple Users at Run Time".

  4. Oracle SOA Composer creates an area to save any modifications you make to the dictionary, and the Edit menu changes to a Save menu.

    Note:

    The Edit view provides an interface to the dictionary that allows you to edit most dictionary components (you can only create and edit some dictionary components at design-time using the Rules Designer extension to Oracle JDeveloper).
  5. To edit an item in the dictionary, in the navigation tab, select the item of interest. For example, see Figure 12-23 with the ruleset SetupRules selected.

    Figure 12-23 Using Oracle SOA Composer to Edit a Ruleset in a Dictionary

    Description of Figure 12-23 follows
    Description of "Figure 12-23 Using Oracle SOA Composer to Edit a Ruleset in a Dictionary"

  6. Click the Save menu item to save your changes in the work area.

12.5.2 How to Add a Rule at Run Time

In Oracle SOA Composer you can add rules to a ruleset.

To add a rule in a ruleset:

  1. In edit mode, select a ruleset of interest.

  2. In the rule area, click New Rule as shown in Figure 12-24. The rule is added immediately after the current one unlike Rules Designer, where a new rule is added at the end.

    Figure 12-24 Adding a Rule in a Ruleset

    Description of Figure 12-24 follows
    Description of "Figure 12-24 Adding a Rule in a Ruleset"

12.5.3 How to Delete a Rule at Run Time

In Oracle SOA Composer you can delete rules in a ruleset.

To delete a rule in a ruleset:

  1. In edit mode, select a ruleset of interest.

  2. In the rule area locate the rule you want to delete and click Delete Rule, as shown in Figure 12-25.

    Figure 12-25 Deleting a Rule in a Ruleset

    Description of Figure 12-25 follows
    Description of "Figure 12-25 Deleting a Rule in a Ruleset"

12.5.4 How to Show and Edit Advanced Settings for Rules at Run Time

In Oracle SOA Composer you can edit advanced settings for rules in a ruleset. For more information on advanced settings, see Section 4.5, "Using Advanced Settings with Rules and Decision Tables".

To show and edit advanced settings in a rule:

  1. In edit mode, select a ruleset of interest.

  2. In the rule area locate the rule you want to show or change advanced settings.

  3. Click the Show Advanced Settings icon next to the rule name. This displays the advanced settings, as shown in Figure 12-26.

    Figure 12-26 Showing and Editing Rule Advanced Settings

    Description of Figure 12-26 follows
    Description of "Figure 12-26 Showing and Editing Rule Advanced Settings"

12.5.5 How to Add Rule Conditions at Run Time

In Oracle SOA Composer you can add conditions to a rule in a ruleset. For more information on working with rule conditions, see Section 4.3, "Working with Rules".

To add rule conditions:

  1. In edit mode, select a ruleset of interest.

  2. In the rule area locate the rule where you want to add a condition.

  3. Next to the rule condition, click Insert Test as shown in Figure 12-27. This adds a condition immediately after the current one.

    Figure 12-27 Adding a New Rule Condition in a Ruleset

    Description of Figure 12-27 follows
    Description of "Figure 12-27 Adding a New Rule Condition in a Ruleset"

12.5.6 How to Delete Rule Conditions at Run Time

In Oracle SOA Composer you can delete conditions for a rule in a ruleset. For more information on working with rule conditions, see Section 4.3, "Working with Rules".

To delete rule conditions:

  1. In edit mode, select a ruleset of interest.

  2. In the rule area, locate the rule where you want to delete a condition.

  3. Click Delete Test next to the rule condition, as shown in Figure 12-28.

    Figure 12-28 Deleting a Rule Condition in a Ruleset

    Description of Figure 12-28 follows
    Description of "Figure 12-28 Deleting a Rule Condition in a Ruleset"

12.5.7 How to Modify Rule Conditions at Run Time

Using Oracle SOA Composer, you can edit conditions in a rule. You can select a rule condition for nesting or modify expression values within the condition. For more information on working with rule conditions, see Section 4.3, "Working with Rules".

To modify a condition in a rule:

  1. In edit mode, select a ruleset of interest.

  2. In the rule area locate the rule where you want to modify conditions.

  3. In the IF area, use the controls, icons, and selection boxes, including the Left Value expression icon, list for an operator, and Right Value expression icon to modify the condition.

You can use the Expression Builder, Condition Browser, Date Browser, and Right Operand Browser to edit the left and right-side expressions.

12.5.8 How to Add Rule Actions at Run Time

In Oracle SOA Composer you can add actions to a rule. For more information on working with rule actions, see Section 4.3, "Working with Rules".

To add rule actions:

  1. In edit mode, select a ruleset of interest.

  2. In the rule area locate the rule where you want to add an action.

  3. In the THEN area for the rule, next to the rule action click Insert Action, as shown in Figure 12-29.

    Figure 12-29 Adding a Rule Action in a Ruleset

    Description of Figure 12-29 follows
    Description of "Figure 12-29 Adding a Rule Action in a Ruleset"

12.5.9 How to Delete Rule Actions at Run Time

In Oracle SOA Composer you can delete actions in a rule. For more information on working with rule actions, see Section 4.3, "Working with Rules".

To delete rule actions:

  1. In edit mode, select a ruleset of interest.

  2. In the rule area, locate the rule where you want to delete an action.

  3. In the THEN area for the rule, next to the rule action, click Delete Action, as shown in Figure 12-30.

    Figure 12-30 Deleting a Rule Action in a Ruleset

    Description of Figure 12-30 follows
    Description of "Figure 12-30 Deleting a Rule Action in a Ruleset"

12.5.10 How to Modify Rule Actions at Run Time

In Oracle SOA Composer you can modify actions in a rule. For more information on working with rule actions, see Section 4.3, "Working with Rules".

To modify rule actions:

  1. In edit mode, select a ruleset of interest.

  2. In the rule area, locate the rule where you want to modify an action.

  3. In the THEN area for the rule, next to the rule action, click a list for the action type, or click Edit Properties as shown in Figure 12-31.

    Figure 12-31 The Edit Properties Icon

    Description of Figure 12-31 follows
    Description of "Figure 12-31 The Edit Properties Icon"

    The Properties dialog box is displayed where you can modify the property details as shown in Figure 12-32.

    Figure 12-32 The Properties Dialog Box

    Description of Figure 12-32 follows
    Description of "Figure 12-32 The Properties Dialog Box"

For more information on number formatting in rules, see Section 12.4.1, "What You May Need to Know About Localized Number Formatting Support in Oracle SOA Composer."

12.5.11 How to Work with Advanced Mode Rules at Run Time

In Oracle SOA Composer, you can work with advanced mode rules in a ruleset. For more information on working with advanced mode rules, see Section 4.7, "Working with Advanced Mode Rules".

To show and modify advanced mode rules:

  1. In edit mode, select a ruleset of interest.

  2. In the rule area, locate the rule where you want to show or modify advanced mode rules.

  3. Click Show Advanced Settings icon to show advanced settings. For more information on showing advanced settings, see Section 12.5.4, "How to Show and Edit Advanced Settings for Rules at Run Time".

  4. If the Advanced Mode icon is not selected, then select the Advanced Mode icon. This shows the advanced mode rule options, as shown in Figure 12-33.

    Figure 12-33 Showing Advanced Mode Rule Options

    Description of Figure 12-33 follows
    Description of "Figure 12-33 Showing Advanced Mode Rule Options"

12.5.11.1 Working with Advanced Mode Options

The Advanced Mode rules options enables you to create, modify, and delete patterns, as well as add, modify, and delete conditions and actions within a pattern.

Using the Advanced Mode rule options, you can:

  • Specify a pattern variable and select a fact type for the variable: You can directly enter the name of the pattern variable in the variable field. You can specify the fact type for the variable by using the fact type list as shown in Figure 12-34.

    Figure 12-34 Specifying Pattern Variable and Fact Type

    Description of Figure 12-34 follows
    Description of "Figure 12-34 Specifying Pattern Variable and Fact Type"

    In the graphic example, CustomerOrder is a pattern variable of CustomerOrder fact type.

  • Add a pattern: Click the Add Pattern icon to create a pattern to the existing rule. Figure 12-35 displays an added pattern. The newly created pattern is blank.

    Figure 12-35 Adding a Pattern

    Description of Figure 12-35 follows
    Description of "Figure 12-35 Adding a Pattern"

  • Delete a pattern: Click the Delete Pattern icon to delete a pattern from a rule. Figure 12-36 displays how to delete a pattern.

    Figure 12-36 Deleting a Pattern

    Description of Figure 12-36 follows
    Description of "Figure 12-36 Deleting a Pattern"

  • Specify connectives: Two or more patterns are joined by a connective, and or or. You can use the connective link to toggle between the connectives.

  • Work with nested patterns: A nested pattern has patterns inside it. These are enclosed within curly braces ({}). The pattern operator list is followed by the open curly brace. You can create a nested pattern by clicking Surround pattern with parentheses icon and you can remove the pattern nesting by clicking the Remove pattern nesting icon as shown in Figure 12-37.

    Figure 12-37 Adding and Removing Pattern Nesting

    Description of Figure 12-37 follows
    Description of "Figure 12-37 Adding and Removing Pattern Nesting"

    Inside the open curly brace, you can specify a pattern and then click the Insert Test link to add conditions to the nested pattern as shown in Figure 12-38, as well as add another pattern to the same pattern block.

    Figure 12-38 Inserting Pattern Conditions

    Description of Figure 12-38 follows
    Description of "Figure 12-38 Inserting Pattern Conditions"

    A nested pattern block ends with a closing curly brace. You can have multiple levels of nested patterns, which means that inside a nested pattern, you can have another nested pattern. You can click the Delete Nested Pattern Block icon to remove the entire nested pattern block as shown in Figure 12-39.

    Figure 12-39 Deleting a Nested Pattern Block

    Description of Figure 12-39 follows
    Description of "Figure 12-39 Deleting a Nested Pattern Block"

    When you nest a pattern, an operator list is displayed with (for each case where) selected as the default operator in the operator list. The other items are there is a case where, there is no case where, and aggregate as shown in Figure 12-40.

    Figure 12-40 Selecting the Pattern Operator

    Description of Figure 12-40 follows
    Description of "Figure 12-40 Selecting the Pattern Operator"

    The user interface remains the same as (for each case where) when you select there is a case where or there is no case where as the operator. However, when you select aggregate, the user interface changes. For an aggregate operator, you must enter a variable in the available field and select a function from the function list. The function list displays the following:

    • count

    • average

    • maximum

    • minimum

    • sum

    • collection

    Except for the count function, all the other functions require an expression. You can specify an expression in the available field or launch the Condition Browser window.

    Figure 12-41 displays a nested pattern, where numPricey is the variable name and count is function name.

    Figure 12-41 The Count Aggregate Operator

    Description of Figure 12-41 follows
    Description of "Figure 12-41 The Count Aggregate Operator"

12.5.12 How to Work with Tree Mode Rules at Run Time

In Oracle SOA Composer you can work with tree mode rules in a ruleset. For more information on working with tree mode rules, see Section 4.8, "Working with Tree Mode Rules".

To show and modify tree mode rules:

  1. In edit mode, select a ruleset of interest.

  2. In the rule area locate the rule where you want to show or modify tree mode rules.

  3. Select Advanced Settings icon to show advanced settings. For more information on showing advanced settings, see Section 12.5.4, "How to Show and Edit Advanced Settings for Rules at Run Time".

  4. If the Tree Mode icon is not selected, then select the Tree Mode icon. This shows the tree mode rule options, as shown in Figure 12-42.

    Figure 12-42 Showing the Tree Mode Rule Area in a Rule

    Description of Figure 12-42 follows
    Description of "Figure 12-42 Showing the Tree Mode Rule Area in a Rule"

12.5.13 What You May Need to Know About Rules Paging in Oracle SOA Composer

In a ruleset with many rules, for the ease of navigation, the Oracle SOA Composer UI displays the rules in multiple pages, with each page containing a set of six rules. This paging capability ensures better performance when a ruleset with a large number of rules are loaded.

Oracle SOA Composer provides a list from where you can directly access the page where the rule of your choice exists. Alternatively, you can click the Previous and Next buttons on the either side of the list to move to the preceding or the following set of rules.

Figure 12-43 displays the rules paging capability of Oracle SOA Composer.

Figure 12-43 Rules Paging

rules paging
Description of "Figure 12-43 Rules Paging"

12.5.14 What You May Need to Know About Oracle Business Rules Editor Declarative Component

You can use the Oracle Business Rules Editor composite declarative component to leverage the functionality of editing business rules in any ADF-based Web application. It enables you to edit business rules available in rulesets by using the Rules SDK2 API.

For more information on Oracle Business Rules Dictionary Editor, see "Using the Oracle Business Rules Editor Declarative Component" in Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

12.6 Using the Oracle SOA Composer Browser Windows

Oracle SOA Composer provides browser windows that helps you to work with different types of expressions such as rule expressions, XPATH expressions, date expressions, and so on.

The different types of browsers provided by Oracle SOA Composer are:

12.6.1 Expression Builder

Expression Builder is used to build different types of expressions such as XPATH expressions, rule expressions, and so on.

Expression Builder has a field where you can enter the expression directly. It has four tabs: Variables, Functions, Operators, and Constants. Each of these tabs display data in a tree structure. The Variables tab displays all the variables in the rules meta-data. The Functions tab displays all the functions in the rules meta-data. The Operators tab displays operators such as +, -, *, and so on. The Constants tab displays all the constants that exist in the rules meta-data.You can switch between the tabs, select an item in the tree, and click the Insert Into Expression button to insert the selected item at the cursor position in the expression field. When an item is selected in the tree, the Content Preview and the Description areas display more information about the selected item. Once you create the expression and click OK, the newly created expression appears in the field that is available to the left of the expression builder icon.

Figure 12-44 displays the Expression Builder browser.

Figure 12-44 The Expression Builder Browser

Description of Figure 12-44 follows
Description of "Figure 12-44 The Expression Builder Browser"

12.6.2 Condition Browser

The Condition Browser has a field, a hierarchical tree, and an Expression Builder embedded inside it. You can enter the expression directly in the field, or select an item from the tree. When an item is selected in the tree, the new selection appears in the field immediately. You can also use the embedded Expression Builder to create an expression.

Once the Expression Builder is launched and an expression is created, the new expression appears in the Condition Browser field. Once you create an expression and click the OK button in the Condition Browser, the newly created expression appears in the field that is to the left of the Condition Browser icon.

Figure 12-45 displays the Condition Browser.

Figure 12-45 The Condition Browser

Description of Figure 12-45 follows
Description of "Figure 12-45 The Condition Browser"

12.6.3 Date Browser

The Date Browser is used to select a Literal Date or a Date Expression. The Date Browser has two options to switch between a Literal Date and a Date Expression. When one option is selected, the other one is disabled.

Select:

  • Literal Date option to enter a date using a Calendar pop-up

  • Date Expression option to enter the expression directly in the Date Expression field or to launch the Condition Browser to select a date expression.

Figure 12-46 displays the Date Browser.

Figure 12-46 The Date Browser

Description of Figure 12-46 follows
Description of "Figure 12-46 The Date Browser"

12.6.4 Right Operand Browser

The Right Operand browser is used to select multiple right expressions. The browser displays operands in each row. You can enter an expression directly in the operand field or launch the Condition Browser to select an expression. The + icon adds a row after the current one. The - icon deletes the current row. These icons are enabled and disabled based on the selected operator. For instance the in operator allows multiple right expressions. So in this case, the icons are enabled.

Figure 12-47 displays a Right Operand browser.

Figure 12-47 The Right Operand Browser

Description of Figure 12-47 follows
Description of "Figure 12-47 The Right Operand Browser"

Note:

Using Right Operand browsers, you can enter multiple values for the right-side expression. However, you can place a Date browser outside a Right Operand browser, and in which case, only one expression can be entered. For both these browsers, you cannot enter values directly in the right-side expression field. Once you have entered values using the browser and clicked OK, the values get added as comma-separated values on the Rules UI.

12.7 Editing Decision Tables in an Oracle Business Rules Dictionary at Run Time

In Oracle SOA Composer, in edit mode, you can edit, add, and delete a Decision Table in a ruleset. For more information on how to use edit mode, see Section 12.4, "Getting Started with Editing and Saving a Dictionary at Run Time".

12.7.1 Adding a Decision Table at Run Time

In Oracle SOA Composer, you can add a Decision Table to a ruleset. For more information on working with Decision Tables, see Section 5.1, "Introduction to Working with Decision Tables".

To add a Decision Table in a ruleset:

  1. In edit mode, select a ruleset of interest.

  2. In the ruleset area, click New and then New Decision Table, as shown in Figure 12-48.

    Figure 12-48 Adding a Decision Table in a Ruleset

    Description of Figure 12-48 follows
    Description of "Figure 12-48 Adding a Decision Table in a Ruleset"

    A blank Decision Table is displayed as shown in Figure 12-49.

    Figure 12-49 A Blank Decision Table

    Description of Figure 12-49 follows
    Description of "Figure 12-49 A Blank Decision Table"

12.7.2 Adding Condition Rows to a Decision Table

Using Oracle SOA Composer, you can add condition rows to a Decision Table.

To add condition rows to a Decision Table:

  1. From Oracle SOA Composer, select a ruleset from the Rulesets navigation tab and select the Decision Table where you want to add conditions from the View box, for example Decision Table 1.

  2. In the Decision Table area, from the list next to the Add icon, select Add Condition.

  3. In the Conditions area, click the condition row, and then click the Edit Condition icon on the toolbar as shown in Figure 12-50. This displays the Condition Browser.

    Figure 12-50 Editing a Condition to a Decision Table

    Description of Figure 12-50 follows
    Description of "Figure 12-50 Editing a Condition to a Decision Table"

  4. Enter an expression by clicking in the Conditions Browser to select a variable, or click the Expression Builder icon to display the Expression Builder.

    Expression Builder lets you build expressions.

  5. Each condition row requires a bucketset from which to draw the values for each cell. When the value you select has an associated global bucketset, then by default the bucketset is associated with the condition row.

    If there is no global bucketset associated with the value, then after you add a condition row to a Decision Table, you need to either specify an existing global bucketset or create a Local List of Values or a Local List of Ranges bucketset.

    To associate a bucketset for the condition, perform either of the following:

    You can edit the bucketset for the selected condition by clicking the Edit Bucketset icon as shown in Figure 12-53.

    Figure 12-53 Editing a Local List Bucketset

    Description of Figure 12-53 follows
    Description of "Figure 12-53 Editing a Local List Bucketset"

    This displays the Bucketset Editor where you can add, edit or delete buckets.

    For more information on number formatting in bucketsets, see Section 12.4.1, "What You May Need to Know About Localized Number Formatting Support in Oracle SOA Composer."

  6. Repeat Step 2 through Step 5, as required to add additional condition rows in the Decision Table.

For more information on adding condition rows, see Section 5.2.2, "How to Add Condition Rows to a Decision Table".

12.7.3 Adding Actions to a Decision Table

In Oracle SOA Composer, you can add actions to a Decision Table.

To add actions to Decision Table:

  1. From Oracle SOA Composer, select a ruleset from the Rulesets navigation tab and select the Decision Table where you want to add actions.

  2. From the list next to the Add icon, select Add Action and select an available action from the list. For example, click Modify as shown in Figure 12-54.

    Figure 12-54 Adding an Action to a Decision Table

    Description of Figure 12-54 follows
    Description of "Figure 12-54 Adding an Action to a Decision Table"

    A new row with for the Modify action gets added to the Decision Table as shown in Figure 12-55.

    Figure 12-55 Action Row Added to the Decision Table

    Description of Figure 12-55 follows
    Description of "Figure 12-55 Action Row Added to the Decision Table"

    Table 5-1 in Chapter 5, "Working with Decision Tables," lists the available actions.

  3. Select the new action row and then click the Edit Action icon on the toolbar to display the Action Editor window as shown in Figure 12-56.

    Figure 12-56 The Action Editor Window

    Description of Figure 12-56 follows
    Description of "Figure 12-56 The Action Editor Window"

  4. In the Action Editor window, select the action target and then specify values for an action cell.

    For more information on number formatting in bucketsets, see Section 12.4.1, "What You May Need to Know About Localized Number Formatting Support in Oracle SOA Composer."

For more information on adding actions to Decision Tables, see Section 5.2.3, "How to Add Actions to a Decision Table."

12.7.4 Adding Rules to a Decision Table

Using Oracle SOA Composer, you can add a rule to a Decision Table.

To add a rule to a Decision Table:

  1. From Oracle SOA Composer, select a ruleset from the Rulesets navigation tab and select the Decision Table where you want to add the rule.

  2. From the list next to the Add icon, select Add Rule as shown in Figure 12-57.

    Figure 12-57 Adding a Rule to a Decision Table

    Description of Figure 12-57 follows
    Description of "Figure 12-57 Adding a Rule to a Decision Table"

    A new column for the added rule is displayed as shown in Figure 12-58.

    Figure 12-58 Added Rule in the Decision Table

    Description of Figure 12-58 follows
    Description of "Figure 12-58 Added Rule in the Decision Table"

  3. Enter values for the condition cells. Notice that the new rule is added as the first rule of the Decision Table and the other rules have moved as required to keep the bucket values in their defined order.

    Note:

    You can enter values for the condition cells (or any other cells) only when the row containing the cell is selected. Only when a row is selected, the condition cell lists are displayed. This is called the Click to Edit feature.
  4. Click an Action row to enter values for the action cells.

12.7.4.1 Editing Decision Table Cells

Each rule in a Decision Table contains cells pertaining to three sections: Conditions, Conflicts, and Actions.

Working with Condition Cells

Condition cells in the editable mode (when the row having conditions cells is selected) display the condition values in multichoice lists. When you add a new rule or when a condition value is unspecified, the condition cell is displayed as blank as shown in Figure 12-59.

Figure 12-59 Unspecified Condition Value

Description of Figure 12-59 follows
Description of "Figure 12-59 Unspecified Condition Value"

If you select All:

  • When the particular condition row is selected, the cell displays "All"

  • When the particular condition row is not selected or any other condition row is selected, the cell displays all the comma-separated values

Figure 12-60 displays a Decision Table with two condition cells displaying the value "All" as well as all the comma-separated values.

Figure 12-60 Displaying All Values for a Condition

Description of Figure 12-60 follows
Description of "Figure 12-60 Displaying All Values for a Condition"

You can select any value that is available in the condition value list.

Note:

When you edit the condition cells, the Decision Table is refreshed and the edited rule column may shift to the left or right depending on the selected condition cell value.

Working with Action Cells

When you add an action, an action row is created with the specified action type. There are two types of action cells:

  • The Action form cells contain check boxes. You can disable the "firing" of a rule by deselecting an action form check box. In Figure 12-61, R1 and R3 action check boxes are selected whereas the R2 action check box is deselected. In this case, at the time of execution, only R1 and R3 will "fire".

    Note:

    The Edit Action icon is enabled only if the action form cell row is selected. The Edit Action icon invokes the Action Editor window.
  • The Action parameter cells contain the parameters of the action form. You can directly enter the action parameter values in the respective field or you can invoke the Condition Browser window to select a value.

Figure 12-61 displays both types of action cells. You can see that the action parameter cells have edit fields with the Condition Browser icons next to them.

Figure 12-61 The Action Cells in a Decision Table

Description of Figure 12-61 follows
Description of "Figure 12-61 The Action Cells in a Decision Table"

Figure 12-62 displays the Action Editor window where you can select the values for an action parameter cell. If you select the Always Selected check box, all the check boxes for the particular action form get selected. All the check boxes pertaining to the action form are also disabled, because the specified action "is always selected".

Figure 12-62 The Action Editor Window

Description of Figure 12-62 follows
Description of "Figure 12-62 The Action Editor Window"

12.7.5 Splitting and Compacting a Decision Table

You can modify the contents of a Decision Table to create a table that includes a complete set of rules for all cases, or a table that provides the least number of rules for the cases. The split and compact operations enables you to manipulate the contents in a Decision Table.

The split table operation creates a rule for every combination of buckets across the conditions. For example, in a Decision Table with 2 boolean conditions, 2 x 2 = 4 rules are created. In a Decision Table with 20 boolean conditions, 2**20 ~ 1 million rules are created. So, you only use split table when the number of rules created is small enough that filling in the action cells is feasible.

Using Oracle SOA Composer, split can be applied to an entire Decision Table. However, you cannot perform split operation on an individual condition row or cell.

To split a Decision Table:

  1. From Oracle SOA Composer, select a ruleset from the Rulesets navigation tab and select the Decision Table that you want to split.

  2. Click the Split Table icon as shown in Figure 12-63.

    Figure 12-63 Splitting a Decision Table

    Description of Figure 12-63 follows
    Description of "Figure 12-63 Splitting a Decision Table"

Using Oracle SOA Composer, you can compact a Decision Table by merging conditions of rules with identical actions. So, compacting a table enables you to remove conditions from a Decision Table. However, using Oracle SOA Composer, you cannot merge two or more condition cells.

To compact a Decision Table:

  1. From Oracle SOA Composer, select a ruleset from the Rulesets navigation tab and select the Decision Table that you want to compact.

  2. Select the Compact Table icon as shown in Figure 12-64.

    Figure 12-64 Compacting a Decision Table

    Description of Figure 12-64 follows
    Description of "Figure 12-64 Compacting a Decision Table"

For more information on splitting and compacting Decision Tables, see Section 5.3, "Performing Operations on Decision Tables."

12.7.6 Performing Gap Analysis in a Decision Table

In a Decision Table, a "missing" rule is termed as a "gap." A gap in a Decision Table occurs when a rule does not to cover some combinations of buckets, one from each condition.

Using Oracle SOA Composer, you can perform Gap Analysis on Decision Tables.

To perform Gap Analysis:

  1. From Oracle SOA Composer, select a ruleset from the Rulesets navigation tab and select the Decision Table on which you want to perform the Gap Analysis.

  2. Click the Gap Analysis icon on the Decision Table menu as shown in Figure 12-65.

    Figure 12-65 Performing Gap Analysis on a Decision Table

    Description of Figure 12-65 follows
    Description of "Figure 12-65 Performing Gap Analysis on a Decision Table"

    The Gap Analysis window is displayed as shown in Figure 12-66. You can select the rules that need to be added to the Decision Table.

    Figure 12-66 The Gap Analysis Window

    Description of Figure 12-66 follows
    Description of "Figure 12-66 The Gap Analysis Window"

For more information about Gap Analysis, see Section 5.3.5, "How to Perform Decision Table Gap Analysis."

12.7.7 Performing Conflict Resolution in Decision Tables

Rules in a Decision Table can conflict when they overlap or have different actions. Two rules overlap when at least one of their condition cells has a bucket in common. However, overlap without conflict is common and harmless. For more information about conflicts in Decision Tables, see Section 5.3.1.4, "Understanding Decision Table Conflict Analysis."

Using Oracle SOA Composer, you can find and resolve conflicts in a Decision Table.

To perform conflict resolution in a Decision Table:

  1. From Oracle SOA Composer, select a ruleset from the Rulesets navigation tab and select the Decision Table on which you want to perform the Conflict Resolution.

  2. Ensure that the Show Conflicts is selected on the Decision Table menu.

  3. Ensure that the conflict policy is set to manual in Advanced Settings as shown in Figure 12-67. This is the default conflict policy.

    Figure 12-67 Setting the Conflict Policy

    Description of Figure 12-67 follows
    Description of "Figure 12-67 Setting the Conflict Policy"

    Note:

    For more information on conflict policies, see Section 5.3.1.4, "Understanding Decision Table Conflict Analysis."
  4. Select the Conflict row under Conflict Resolution and then click the rule that has a conflict to display the Conflict Resolution window as shown in Figure 12-68.

    Figure 12-68 The Conflict Resolution Window

    Description of Figure 12-68 follows
    Description of "Figure 12-68 The Conflict Resolution Window"

  5. In the Conflict Resolution window, for each conflicting rule, in the Resolution field select a resolution from the list and click OK as shown in Figure 12-69.

    Figure 12-69 Options for Conflict Resolution

    Description of Figure 12-69 follows
    Description of "Figure 12-69 Options for Conflict Resolution"

    For more information about the conflict resolution options in Decision Tables, see Section 5.3.1.4, "Understanding Decision Table Conflict Analysis."

12.7.8 Switching From Rows to Columns

In Oracle SOA Composer, you can turn the rows in a Decision Table to columns by clicking the Switch Rows to Columns button on the Decision Table toolbar. This enables the rules to be displayed as rows, and conditions, actions, and conflicts to be displayed as the columns.

Switching rows to columns provides ease of navigation when a Decision Table has many rules because you can see all the rules together and you do not need to "page the columns" for viewing the rules.

Figure 12-70 displays a Decision Table before the switch operation.

Figure 12-70 A Sample Decision Table

Description of Figure 12-70 follows
Description of "Figure 12-70 A Sample Decision Table"

Figure 12-71 displays the sample Decision Table after switching the rows to columns.

Figure 12-71 Switching Rows to Columns

Description of Figure 12-71 follows
Description of "Figure 12-71 Switching Rows to Columns"

When the rows and columns are switched, the edit, delete, and other icons appear in the column headers and not in the Decision Table toolbar.

Column Paging

In a Decision Table with many rules, for the ease of navigation, the Oracle SOA Composer UI displays the rules in multiple sets, with each set containing multiple rules. This is done to ensure that you do not need to scroll a lot for viewing all the rules.

Oracle SOA Composer provides a pair of >> and << buttons on the rules column header immediately following the last rule column heading of a particular set and immediately preceding the first rule of a particular set respectively.

You need to click the >> or the << button to move to the following or preceding set of rules respectively. This feature is called column paging.

Figure 12-72 displays the column paging buttons in a Decision Table in a Oracle SOA Composer UI.

Figure 12-72 Column Paging in a Decision Table

Description of Figure 12-72 follows
Description of "Figure 12-72 Column Paging in a Decision Table"

12.7.9 Deleting a Decision Table at Run Time

In Oracle SOA Composer, you can delete Decision Tables in a ruleset. For more information on working with Decision Tables, see Section 5.1, "Introduction to Working with Decision Tables."

To delete a decision table in a ruleset:

  1. In edit mode, select a ruleset of interest.

  2. In the ruleset area, in the View field from the list, select the Decision Table you want to delete.

  3. Click Delete Decision Table, as shown in Figure 12-73.

    Figure 12-73 Select the Delete Decision Table Icon

    Description of Figure 12-73 follows
    Description of "Figure 12-73 Select the Delete Decision Table Icon"

12.8 Committing Changes for an Oracle Business Rules Dictionary at Run Time

After you verify dictionary modifications, you can commit those changes to the MDS repository.

To commit changes to an Oracle Business Rules dictionary:

  1. Click the Commit menu item.

  2. In the Confirm dialog, click No if you do not want to make the changes in the MDS repository.

  3. In the Confirm dialog, click Yes if you do want to make the changes in the MDS repository.

Note:

A dictionary with validation errors can be saved, but it can be committed only after correcting the validation issues.

12.8.1 What You Need to Know About Editing With Multiple Users at Run Time

When multiple users are editing the same dictionary, Oracle SOA Composer shows a message that the dictionary is being edited by another user and asks for a confirmation. When multiple users work on a single dictionary, only the last commit is persisted.

12.9 Synchronizing Rules Dictionary in Oracle JDeveloper With Run Time Dictionary Updates

Oracle SOA Composer enables you to update rules dictionaries at run time. However, the modifications made to the dictionaries through Oracle SOA Composer are not automatically reflected in Oracle JDeveloper. To synchronize the dictionary updates made in Oracle SOA Composer with the dictionaries available in Oracle JDeveloper, you must select the Export option in Oracle Enterprise Manager Fusion Middleware Control Console. This utility allows you to export the SOA composite application along with the dictionary.

To select the Export option in Fusion Middleware Control Console:

  1. In Fusion Middleware Control Console, select the composite that contains the dictionary to be exported. Figure 12-74 displays the selected composite in Fusion Middleware Control Console.

    Figure 12-74 Opening the SOA Composite

    Description of Figure 12-74 follows
    Description of "Figure 12-74 Opening the SOA Composite"

  2. Click SOA Composite drop-down list on the right panel and select Export as shown in Figure 12-75.

    Figure 12-75 Selecting the Export Utility

    Description of Figure 12-75 follows
    Description of "Figure 12-75 Selecting the Export Utility"

  3. Select Option 1: Export with all post-deploy changes from the Export Composite page and click Export as shown in Figure 12-76.

    Figure 12-76 Exporting All Postdeployment Changes

    Description of Figure 12-76 follows
    Description of "Figure 12-76 Exporting All Postdeployment Changes"

12.10 Validating an Oracle Business Rules Dictionary at Run Time

In Oracle SOA Composer, in the Edit mode, you can validate a dictionary for errors. The dictionary level validation errors are displayed in a Validation Panel in the bottom of Oracle SOA Composer window as shown in Figure 12-77.

Figure 12-77 The Validation Panel

Description of Figure 12-77 follows
Description of "Figure 12-77 The Validation Panel"

12.10.1 Understanding the Validation Panel

The Validation Panel lists all the dictionary-level validation errors. When you double-click a row in the Validation Panel, Oracle SOA Composer leads you to the erroneous component. For example, if a Bucket or a Bucketset error is double-clicked in the Validation Panel, Oracle SOA Composer switches to the Bucketsets tab and displays the invalid icon next to the Bucketset name. You can move the mouse cursor over the invalid icon to see the list of error messages for that Bucketset as shown in Figure 12-78.

Figure 12-78 Bucketset Validation Error Messages

Description of Figure 12-78 follows
Description of "Figure 12-78 Bucketset Validation Error Messages"

When the Bucketset Editor window is displayed, the invalid fields are highlighted in the editor, and a pop-up containing the error messages are displayed, as shown in Figure 12-79.

Figure 12-79 Highlighted Error Entries in Bucketset Editor

Description of Figure 12-79 follows
Description of "Figure 12-79 Highlighted Error Entries in Bucketset Editor"

When you double-click an error pertaining to a Decision Table, the UI switches to the Decision Table UI and displays the error messages when you move the mouse cursor on the invalid icon as shown in Figure 12-80.

Figure 12-80 Accessing the Erroneous Component

Description of Figure 12-80 follows
Description of "Figure 12-80 Accessing the Erroneous Component"

Similarly, in the Validation Panel, if you double-click an error pertaining to a rule in a ruleset, the UI switches to the ruleset to which the rule belongs and highlights the erring fields of the rule. In addition, all the errors pertaining to the rule are displayed in a pop-up as shown in Figure 12-81.

Figure 12-81 Rules Validation

Description of Figure 12-81 follows
Description of "Figure 12-81 Rules Validation"

12.10.2 Updating the Validation Panel

The Validation Panel does not get updated automatically to display any new validation errors that may be generated due to any modification to the dictionary components.

For example, when a new rule is added with some errors, the Validation Panel is not updated automatically. You need to click the Validate button on the Oracle SOA Composer menu to update the Validation Panel with the new error entry, as shown in Figure 12-82.

Figure 12-82 The Validate Button

Description of Figure 12-82 follows
Description of "Figure 12-82 The Validate Button"

12.11 Obtaining Composite and Dictionary Information at Run Time

When a dictionary is open, you can obtain dictionary and composite details from the Info dialog.

To obtain dictionary information:

  1. With an open document, you can obtain the document type, composite details, and document path by clicking Info. This displays the Oracle SOA Composer open file information, as shown in Figure 12-83.

    Figure 12-83 Using Info Dialog to Obtain the Document Path for an Open Dictionary

    Description of Figure 12-83 follows
    Description of "Figure 12-83 Using Info Dialog to Obtain the Document Path for an Open Dictionary"

12.12 Working with Tasks at Run Time

Using Oracle SOA Composer, you can view and edit tasks that may be or may not be associated to Approval Management Extensions (AMX) rules. AMX enables you to define complex task routing slips for human workflow by taking into account business documents and associated rules to determine the approval hierarchy for a work item. Additionally, AMX lets you define multi-stage approvals with associated list builders based on supervisor or position hierarchies. At design time, you can define the approval task in the Human Task Editor of Oracle JDeveloper, and associate the task with a BPEL process. For more information about approval management and tasks, see "Using Approval Management" in Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management.

In Oracle SOA Composer, the Task Editor is embedded as a task flow so that you can view and perform all the task metadata lifecycle operations.

12.12.1 How to View Task Metadata at Run Time

In Oracle SOA Composer, you can open a task or an AMX rules metadata with the Open menu.

To open a task or an AMX rule using the Open menu:

  1. In Oracle SOA Composer, from the Open menu, select Open Task as shown in Figure 12-84. Oracle SOA Composer connects to the MDS and displays the Select a Task to open dialog box. This dialog box lists the available composite applications that contain tasks and AMX rules.

    Figure 12-84 Opening a Task

    opening a task
    Description of "Figure 12-84 Opening a Task"

    Note:

    You can differentiate between traditional rules and AMX rules depends on the naming convention.

    For example, if a composite has the following artifacts:

    • <AMX task name>.tsk

    • <AMX rule name>Rules.rules

    In this case, the Rules.rules file is an AMX rules file associated with an AMX task, and so, is displayed as a part of an AMX task in the list of Select a Task to open, and not as a part of an ordinary Oracle Business Rules listing.

  2. In the Select a Task to open dialog box, to open a task or AMX rule, select an entry in the table and click Open, or double-click an item as shown in Figure 12-85.

    Figure 12-85 Selecting a Task to Open

    Selecting a Task to Open
    Description of "Figure 12-85 Selecting a Task to Open"

    If the composite that you have selected only has a task and no associated AMX rule or ruleset, then the task window is displayed as shown in Figure 12-86.

    Figure 12-86 Oracle SOA Composer with Only Task Displayed

    only task displayed
    Description of "Figure 12-86 Oracle SOA Composer with Only Task Displayed"

    If the composite contains a task and an associated AMX rule or ruleset, then Oracle SOA Composer displays both the task and the rule or ruleset in a tabbed window as shown in Figure 12-87.

    Figure 12-87 Oracle SOA Composer with Both Task and AMX Rule

    both taqsk ans AMX rule
    Description of "Figure 12-87 Oracle SOA Composer with Both Task and AMX Rule"

12.12.2 How to Configure a Task or an AMX Rule Metadata at Run Time

Task Configuration enables business users and administrators to review the rules that were configured automatically by the workflow designer. These predefined rules can be changed for a specific customer based on the customer's applicable corporate policies.

In Oracle SOA Composer, Task Configuration enables you to edit the event-driven (only tasks) and data-driven rules (tasks with an associated AMX rules) associated with an approval flow at run time.

12.12.2.1 Configuring Event-Driven Settings

To configure event-driven settings:

  1. Log on to Oracle SOA Composer and open the required task.

  2. Click Edit on the Oracle SOA Composer menu bar to open the selected task for editing as shown in Figure 12-88.

    Figure 12-88 Opening a Task for Editing

    Opening a Task for Editing
    Description of "Figure 12-88 Opening a Task for Editing"

  3. Make the relevant edits and click Save as shown in Figure 12-89.

    Figure 12-89 Saving Task Configuration

    saving task config
    Description of "Figure 12-89 Saving Task Configuration"

    You can configure the following options and settings:

    • Task aggregation

    • Error notification

    • Assignment and routing policy

    • Expiration and escalation policy

    • Notification settings

    • Task access settings

Setting Approval Aggregation Requirements

Task aggregation requirements can be any of the following:

  • None <Prabu: Please provide a one-liner for this option>

  • Once per task <Prabu: Please provide a one-liner for this option>

  • Once per stage <Prabu: Please provide a one-liner for this option>

Notifying Errors

You can specify the user and group names that need to be notified in case of an error in the task. You need to click the On Error Notify search icon to display the Configure Error Assignees dialog box where you can specify the user or group names as shown in Figure 12-90.

Figure 12-90 Specifying Error Assignees

Specifying Error Assigness
Description of "Figure 12-90 Specifying Error Assignees"

Setting Assignment and Routing Policy

You can set the assignment and routing policy by using the options available in Oracle SOA Composer. Figure 12-94 shows the available options for setting assignment and routing policy.

Figure 12-91 Setting Assignment and Routing Policy

Setting Assignment and Routing Policy
Description of "Figure 12-91 Setting Assignment and Routing Policy"

For more information about the assignment and routing options available in event-driven configuration, see "Routing Policy Method" in Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

Setting Expiration and Escalation Policy

You can set the expiration and escalation policy for the task by using the available items in the Expiration and Escalation Policy list. The available list items are:

  • Never Expire

  • Expire After

  • Escalate After

  • Renew After

Figure 12-92 displays the list of options for setting the expiration and escalation policy.

Figure 12-92 Setting Expiration and Escalation Policy

Setting Expiration and Escalation Policy
Description of "Figure 12-92 Setting Expiration and Escalation Policy"

For more information about expiration and escalation policy, see "How to Escalate, Renew, or End the Task" in Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

Configuring Notification Settings

You can configure notification settings for a task by using the options available in the Notification Settings section of Oracle SOA Composer.

Figure 12-93 displays the different options available to configure notification settings for a task.

Figure 12-93 Specifying Notification Settings

Specifying Notification Settings
Description of "Figure 12-93 Specifying Notification Settings"

For more information about specifying notification settings for a task, see "How to Specify Participant Notification Preferences" in Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

Configuring Task Access Settings

You can set access-rule settings to control the actions a user can perform. You can also specify content and action permissions based on the logical role of a user, such as creator (initiator), owner, assignee, and reviewers.

In Oracle SOA Composer, you can set access settings by using the options available under Task Access as shown in Figure 12-94.

Figure 12-94 Specifying Task Access Settings

Specifying Task Access Settings
Description of "Figure 12-94 Specifying Task Access Settings"

For more information on configuring task access, see "How to Define Security Access Rules" in Oracle Fusion Middleware Modeling and Implementation Guide for Oracle Business Process Management.

12.12.2.2 Configuring Data-Driven Settings (Rule or Condition)

To configure data-driven settings:

  1. Log on to Oracle SOA Composer and open the required task.

  2. Click Edit on the Oracle SOA Composer menu bar to open the selected AMX rule-associated task for editing as shown in Figure 12-95.

    Figure 12-95 Opening an AMX Rule for Editing

    Opening a Task for Editing
    Description of "Figure 12-95 Opening an AMX Rule for Editing"

  3. Make the relevant edits and click Save as shown in Figure 12-96.

    Figure 12-96 Saving AMX Rule Configuration

    saving task config
    Description of "Figure 12-96 Saving AMX Rule Configuration"

You can perform the following actions:

  • Adding, updating, and deleting a rule

  • Changing rule assertions (which depend on the type of list builder for which the rule has been configured)

  • Adding a variable

For more information about editing data-driven settings, see "How to Edit Data-Driven Settings" in Oracle Fusion Middleware User's Guide for Oracle Business Process Management.