10 Creating Alerts

This chapter describes how to create and use alerts in Oracle Business Activity Monitoring (BAM). It describes how to specify the events and conditions under which an alert fires, include messages with alerts, manage chained alerts, and use actions.

This chapter includes the following sections:

10.1 Understanding Alerts

An alert performs one or more actions when launched by an event and filtered by one or more conditions.

An event can be an amount of time, a specific time, a date and time, a repeating event between two dates, a change in a data object, output from a continuous query, or a manual event. A condition restricts the alert to an event occurring between two times or dates or to a specific day of the week. An action can send a notification, perform a data object operation, invoke a web service, call an external method, or launch other alerts.

Note:

If you do not set a time zone preference, time-based alerts are based on coordinated universal time (UTC). See Setting Language_ Time Zone_ and Accessibility Preferences for more information.

Each alert name in the left panel navigator has an icon indicating its status as described in Table 10-1.

Table 10-1 Alert Icons

Icon Description
normal alert icon

Active indicates that the alert is active and fires in response to its configured event and conditions. Newly created alerts are active by default.

normal alert icon

Inactive indicates that the alert is inactive and does not fire. You can reactivate the alert. See Activating and Deactivating an Alert.

invalid alert icon

Invalid indicates that an alert has become orphaned or broken due to an error. The alert might require correction.

For example, an alert is invalid if it is based on a data object, KPI, or continuous query that has changed.

Alerts displayed with this icon do not fire again until they are edited and corrected.

expired alert icon

Expired means that the alert does not fire again. This icon is displayed for time-based alerts that fire only once, after the alert has fired. However, these alerts can be edited and reused, resetting the state to Active.

Inactive and expired alerts behave differently. An alert can be deactivated only if it is running. Deactivation benefits users who do not want actions to be executed for some time interval. Alerts that are inactive, but still valid, can be activated again.

An expired alert no longer fires because its event or conditions will not occur again. However, to reuse an expired alert, you can edit it to make it valid and save it. The alert is reloaded and is ready to fire again.

10.2 Alert Prerequisites and Uses

Alert prerequisites are a set of tasks you must complete before you create an alert, to ensure its smooth functioning.

Before you can create an alert, you must do the following:

After you create alerts, you can use them in the following ways:

In a query

You can configure an alert action for a continuous query. This alert action is specific to the query and does not appear in the left panel navigator under Alerts. As an alternative, you can configure an alert to watch a continuous query as its triggering event; see Select a CQL Query. For more information about continuous queries, see Creating a Continuous Query.

In a KPI

You can configure alert actions for a key performance indicator (KPI). These alert actions are specific to the KPI and do not appear in the left panel navigator under Alerts. For more information about KPIs, see Creating KPIs.

With a web service

You can configure a web service to trigger an alert. For more information, see Launching Alerts by Invoking Web Services.

To trigger another alert

The action of one alert can be the event trigger of another. For more information, see Creating Dependent Alerts.

10.3 Creating an Alert

This section outlines the procedure to create an alert.

To create an alert:

  1. Go to the Designer page.
  2. Click Alerts in the left panel navigator, or right-click Alerts and select the Create menu item.

    The Alerts dialog opens.

  3. Type an Alert Name, optionally edit the Alert Display Name, and click Create.

    The Name is case sensitive, must begin with a letter, and may consist only of letters, numbers, and the underscore character. It may have up to 128 characters. It cannot be changed after the alert is created.

    The Display Name is case sensitive and may contain any characters except the forward slash (/), which indicates a folder path. It may have up to 128 characters. It can be changed at any time.

    A tab opens for the new alert.

  4. Click the down arrow to the right of Select an Event Trigger. You must specify only one event. The options are:
    • In a specific amount of time

    • At a specific time today

    • On a certain day at a specific time

    • Every interval between two times

    • Every date interval starting on a certain date at a specific time

    • Select a CQL Query

    • When a data field in a data object meets specified conditions

    • When this rule is launched

    See Alert Events for detailed descriptions of each event.

  5. Supply additional information for the event. For example, if you select At a specific time today, a <select time> setting appears. Possible settings are:
    • <select time interval> — Click this setting and select hours, minutes, and seconds. The default is one second.

    • <select time> — Click this setting and select hours, minutes, and seconds. The default is the current time.

    • <select date> — Click this setting and type a date, or click the Select Date icon and select a date from the pop-up calendar. The default is today.

    • DAY — Click this setting and change it to WEEK, MONTH, or YEAR if necessary.

    • <continuous query> — Click this setting, select a continuous query from the pop-up drop-down list, and select OK.

    • <this data field has a condition of x> — Click this setting and use the Data Based Event Editor to select a data object, data field, and condition.

    • <select user> — Click this setting and use the Identity Browser to select a user.

    For datetime alerts, select a query. This ensures that the alert action you specify is only triggered if the query you select yields some results.

    Selecting When this rule is launched doesn't display any additional settings, but specifies that this is a dependent alert. For more information, see Creating Dependent Alerts.

    An <add action> setting appears after you have fully specified the event.

  6. Click the <add action> setting.

    The Action Editor appears.

  7. Optionally select one or more conditions. The options are:
    • If it is between two times

    • If it is between two days

    • If it is a particular day of the week

    See Alert Conditions for detailed descriptions of each condition.

    Note:

    If a calculated field function which is not supported by CQL is used in an alert, then the alert query becomes a scheduled query, and will execute every thirty seconds after the first trigger, even in the absence of new triggers.
  8. Select one or more actions. The options are:
    • Send a dashboard link via email

    • Send a message via email

    • Delete rows from a data object

    • Insert values into a data object

    • Send a parameterized message

    • Launch a rule

    • Run a web service

    • Launch a Custom Action

    See Alert Actions for detailed descriptions of each action.

  9. Select OK to close the Action Editor.

    To change a condition or action, click the down arrow to the right of the gear icon and select Edit from the pop-up menu. The Action Editor is redisplayed.

  10. Supply additional information for the conditions and actions. For example, if you select Send a message via email, then <create message> and <select user> settings appear. Possible settings for the conditions are:
    • <select time> — Click this setting and select hours, minutes, and seconds. The default is the current time.

    • <select date> — Click this setting and type a date, or click the Select Date icon and select a date from the pop-up calendar. The default is today.

    • MONDAY — Click this setting and change it to a different day of the week if necessary.

    Possible settings for the actions are:

    • <select dashboard> — Click this setting and use the Send Dashboard Link via Email Editor to select email addresses and a dashboard.

    • <select user> — Click this setting and use the Identity Browser to select a user.

    • <create message> — Click this setting and use the Message Editor to select email addresses, create an email message, include a dashboard, or set parameters, depending on the action.

    • <select data object> — Click this setting and use the Map Fields dialog to map event data object fields to action data object fields.

    • <set parameters> — Click this setting and use the Message Editor to select dashboard parameters.

    • <select rule> — Click this setting and select a dependent alert. For more information, see Creating Dependent Alerts.

    • <this data field has a condition of x> — Click this setting and use the Data Based Event Editor to select a data object, data field, and condition.

    • <configure web service> — Click this setting and use the Configure Web Service dialog to configure a web service.

    • <select odi service> — Click this setting and select an Oracle Data Integrator service.

    • <custom action> — Click this setting and use the Configure Custom Action dialog to specify a Java class that performs a custom action.

  11. Click Save.

    The alert is added to list in the left panel navigator and is active by default.

10.4 Activating and Deactivating an Alert

Oracle BAM allows you to activate and deactivate alerts, thus making alert management easier.

When you create an alert, it is active by default. If you want an alert to be temporarily inactive but you do not want to delete it, you can deactivate it.

Administrative users can change the activity status of their own alerts and alerts created by other admin and non-admin users.

10.4.1 To Change the Activity Status from the Navigator

  1. Right-click the alert in the left panel navigator.

  2. Select Activate or Deactivate from the pop-up menu.

    On this menu, an active alert shows a blue check box for a grayed Activate option and a gray check box for a selectable Deactivate option. An inactive alert shows a gray check box for a selectable Activate option and a blue check box for a grayed Deactivate option.

10.4.2 To Change the Activity Status from the Alert Tab

  1. In the left panel navigator, click the arrow to the left of Alerts.

    All saved alerts in the current project are displayed in a list.

  2. Click the alert name, or right-click the alert name and select the Edit menu item.

  3. Check or uncheck the box to the left of the alert name in the upper left corner of the alert tab.

    If this box is checked, the alert is active. If this box is not checked, the alert is inactive.

  4. Click Save.

Activating an alert does not cause an alert to launch, it only enables it so that if the event occurs, the alert launches.

Note:

An alert fires only if its triggering event conditions are met from the point in time the alert is defined (or reenabled) and forward. An alert does not fire if its conditions were met before it was defined or while it was inactive.

10.5 Creating Dependent Alerts

You can create alerts that launch other alerts.

There is no limit to how many alerts you can chain in this way.

You can chain two alerts by creating:

  • A dependent alert that must be launched by another alert

  • An alert with an action to launch a dependent alert

To create a dependent alert:

  1. Create an alert with the event When this rule is launched. This event requires no additional information.
  2. Create an alert that includes the action Launch a rule.
  3. Click <select rule> in the action.

    The Select Dependent Rule dialog opens.

  4. Select a dependent alert. Only alerts that use the When this rule is launched event are listed.
  5. Click OK.

10.6 Editing an Alert

This section outlines the procedure to edit an alert.

To edit an alert:

  1. In the left panel navigator, click the arrow to the left of Alerts.

    All saved alerts in the current project are displayed in a list.

  2. Click the alert name, or right-click the alert and select the Edit menu item.
  3. Make the desired changes.
  4. Click Save.

10.7 Renaming an Alert

This section outlines the procedure to rename an alert.

Use the following procedure to change the Display Name of an alert.

The Display Name is case sensitive and may contain any characters except the forward slash (/), which indicates a folder path. It may have up to 128 characters. It can be changed at any time.

To rename an alert:

  1. In the left navigation pane, click the arrow to the left of Alerts.

    All saved alerts in the current project are displayed in a list.

  2. To rename the alert, right-click the alert name and select the Rename menu item.

    The name becomes text in an editable field.

  3. Type the new name and press Enter.

    The new name appears in the list.

When you edit the alert, the new Display Name is displayed on the tab. This name is also displayed when you view the alert in the Alert History list.

However, the internal Name remains unchanged. When you edit the alert, this name is displayed on the left in the header. The ManualRuleFile web service also references the internal name. See Launching Alerts by Invoking Web Services for more information.

10.8 Deleting an Alert

Administrative role users can delete their own alerts and alerts created by other admin and non-admin users.

  1. In the left panel navigator, click the arrow to the left of Alerts.

    All saved alerts in the current project are displayed in a list.

  2. Click the alert icon and click the Delete icon, or right-click the alert name and select the Delete menu item.

    A dialog asks you to confirm the alert deletion.

  3. Click OK.

    The alert disappears from the list.

10.9 Securing an Alert

An alert inherits security settings from the project in which it is created.

For more information about projects, see Planning and Creating Projects.

To change security settings for an alert:

  1. In the left panel navigator, click the arrow to the left of Alerts.

    All saved alerts in the current project are displayed in a list.

  2. Right-click the alert and select Security Settings from the pop-up menu.

    The security tab for the alert opens.

  3. To add a role or group to whom you can explicitly grant or deny permissions, follow these steps:

    1. Click the Add icon in the Grant Permissions or Deny Permissions table.

      The Add Application Roles, Groups, and Users dialog opens.

      See Managing Oracle BAM Users for information about how to add users to roles and groups.

    2. Type a Name for the role or group you are adding.

    3. Select from the drop-down List: Application Role or Group.

    4. Click Search to populate the Available Members list.

    5. To add a member to the Selected Members list, select the member and click the single right arrow.

    6. To add all members to the Selected Members list, select the member and click the double right arrow.

    7. To remove members from the Selected Members list, use the single and double left arrows.

    8. When the Selected Members list is final, click OK.

      The Add Application Roles, Groups, and Users dialog closes, and the Name you specified appears in the table.

  4. To remove a role or group, select the table row and click the Remove icon.

  5. To grant permissions, select Read, Write, Remove, or Security for the users, roles, and groups listed in the Grant Permissions table.

  6. To deny permissions, select Read, Write, Remove, or Security for the users, roles, and groups listed in the Deny Permissions table.

  7. Click Save.

10.10 Viewing Alert History from the Home Page

You can view a recent history of alert activity on the Alerts tab in the BAM Viewer (the Home page).

See Viewing Alert History for more information.

10.11 Launching Alerts by Invoking Web Services

You can use the ManualRuleFire web service to launch alerts triggered by the When this rule is launched event. For more information, refer to:

http://host:port/OracleBAMWS/WebServices/ManualRuleFire?WSDL

Using the ManualRuleFire Web Service further describes this web service.

You identify the alert to launch using a web service parameter of the following format:

projectname.alertname

Both of these names are internal names, not display names.

This is different from configuring an alert to launch a web service. For more information, see Run a web service.

For an example of both the Run a web service action and the ManualRuleFire web service, see Alert and Web Service Example.

10.12 Alert and Web Service Example

This example shows a Run a web service alert action that invokes the ManualRuleFire web service. This is not the most efficient way for one alert trigger another (see Creating Dependent Alerts). It is intended only to clarify how both the Run a web service action and the ManualRuleFire web service are configured.

For more information, see Run a web service and Using the ManualRuleFire Web Service.

To configure the ManualRuleFire web service in the Run a web service action:

  1. Create the alert. See Creating an Alert.
  2. Select the action Run a web service.
  3. Click <configure web service> in the alert expression.

    The Configure Web Service dialog opens.

  4. Type the ManualRuleFire web service endpoint URL in the WSDL or WSIL URL field. The format is as follows:
    http://host:port/OracleBAMWS/WebServices/DataObjectOperationsByID?WSDL
    

    For example:

    http://localhost:7001/OracleBAMWS/WebServices/DataObjectOperationsByID?WSDL
    
  5. Check the Secure Web Service box and enter the required Username and Password credentials. In a development environment, these are often the administrator username and password used for both Oracle WebLogic Server and BAM.
  6. Click Display Operations to display the available services of the web service.
  7. Select the ManualRuleFire service from the Service Name drop-down list.
  8. Select the FireRuleByName operation from the Operations drop-down list.
  9. The Endpoint URL field is populated.
  10. The Parameters table is populated with the strRuleName parameter. Type projectname.alertname as the value for this parameter.
  11. Optionally select Policies by checking boxes to the left of the policy names.
  12. Click OK.

10.13 Sending Alerts to External Email Accounts

BAM can send alerts to external email accounts if an email driver is configured in Oracle User Messaging Service using Oracle Enterprise Manager Fusion Middleware Control.

See Configuring Oracle User Messaging Service for more information.

This feature is available only for actions involving email: Send a dashboard link via email, Send a message via email, and Send a parameterized message.

10.14 Alert Events

Events launch the alert and trigger the action. Each alert contains only one event.

Oracle BAM provides the following events:

10.14.1 In a specific amount of time

When you select the event In a specific amount of time, you must select a time interval in seconds, minutes, or hours. You can select a query for the alert. This ensures that the action you specify when the alert is triggered only if the query yields results.

10.14.2 At a specific time today

When you select the event At a specific time today, you must select the time at which to launch the alert.

10.14.3 On a certain day at a specific time

When you select the event On a certain day at a specific time, you must select both the date and the time at which to launch the alert.

10.14.4 Every interval between two times

When you select the event Every interval between two times, you must configure the following settings.

  • select time interval

    Set the number of minutes, hours, or days between each alert launch. The minimum interval is one minute.

  • select time

    Set the times of day between which to launch the alert.

10.14.5 Every date interval starting on certain date at a specific time

When you select the event Every date interval starting on a certain date at a specific time, you must configure the following settings.

  • select date interval

    Set the alert to launch every Day, Week, Month, or Year.

  • select date

    Set the date on which to launch the alert.

  • select time

    Set the time of day at which to launch the alert.

10.14.6 Select a CQL Query

When you select the event Select a CQL Query, you must select a continuous query from the pop-up drop-down list. The alert fires when the query receives new data with values outside of a normal range.

As an alternative, you can define an alert action in the continuous query itself. This alert action is specific to the query and does not appear in the left panel navigator under Alerts.

For more information about continuous queries, see Creating a Continuous Query.

10.14.7 When a data field in a data object meets specified conditions

When you select the event When a data field in a data object meets specified conditions, you must configure the following settings.

  • this data field has a condition of x

    In the Data Based Event Editor, select the data object to monitor. Then you can set the condition under which the alert should fire.

    • Row Filters — Create a filter on a data field in the data object to express a condition that, when met, launches the alert. All of the functionality available in query filters is provided. See Filtering Data for more information.

    • Group Filters — The Group Filter is similar to the Row Filter in that it provides all of the filtering functionality available in query filters. The special feature here is that it allows filters to be created on a field where an aggregation function, such as AVG or SUM, has been applied. See Filtering Data for more information about building filter expressions.

      Note:

      For aggregation functions with row-level operations, Oracle recommends that you use the Group By setting when you use a row filter. However, it is best to apply a Group filter instead. You cannot mix aggregation functions with row level operations without the Group By setting applied.
    • Groups — Choose one or more data fields on which to create a grouping, adding further complexity to any filters created in the Row Filters or Group Filters tabs.

  • run as <user_name> (This option appears only if you, the user creating the alert, have an administrator role.)

    Select the Oracle BAM user whom the alert runs as. You can select only one run-as user. The default run-as user is you, the logged-in Oracle BAM user who is creating the alert.

    You can select a different run-as user if another user has greater permissions to access the data object being monitored. The run-as user can view the alert history only if that user has Read privileges on the alert and the project containing the alert. See Securing an Alert for more information.

    Names preceded with a hash (#) are distribution lists and cannot be selected.

    Only recipients with security permissions equal to or higher than the run-as user receive the alert notifications, honoring row-level security as implemented by the architect of the data object.

    If there are changes in the data object rows that none of the alert recipients have permissions to access, no recipients are notified.

Note:

The event When a data field in a data object meets specified conditions responds only to row inserts and updates. It does not respond to row deletes.

Note:

Calculated fields are now supported within this alert action.

10.14.8 When this rule is launched

The event When this rule is launched creates an alert that is dependent on another alert to launch it. The launching alert uses the Launch a rule action to launch the dependent alert. Several alerts can be chained using When this rule is launched in a hierarchy. For more information, see Creating Dependent Alerts.

10.15 Alert Conditions

Conditions are optional settings for constraining the time period in which the alert is fired.

You can select any number and combination of conditions. Oracle BAM provides the following conditions:

10.15.1 If it is between two times

Select two times between which the alert should launch.

10.15.2 If It is between two days

Select two dates between which the alert should launch.

10.15.3 If it is a particular day of the week

Select a day of the week on which the alert should launch.

10.16 Alert Actions

Actions are the results of the conditions and events of the alert expression having been met.

You can configure any number and combination of actions. Oracle BAM provides the following actions:

10.16.1 Send a dashboard link via email

Select a dashboard and select one or more recipients.

Recipients can be selected from BAM users or, if an email driver is configured in Oracle User Messaging Service using Oracle Enterprise Manager Fusion Middleware Control, from external email accounts. See Sending Alerts to External Email Accounts for more information.

To create a dashboard link and send it using email:

  1. Create the alert. See Creating an Alert.
  2. Select the action Send a dashboard link via email.
  3. Click either <select dashboard> or <select user> in the alert expression.

    The Send Dashboard Link via Email Editor opens.

  4. Enter comma-separated email addresses in the To text box, or click the Search icon to display the Identity Browser and select BAM users.
  5. Click the arrow to the right of Select Project to List Dashboards and select a project from the drop-down list.

    Dashboards in the selected project are listed.

  6. Select a dashboard from the list.
  7. Click OK.

10.16.2 Send a message via email

Create an email message to send, optionally select a dashboard, and select one or more recipients.

Recipients can be selected from BAM users or, if an email driver is configured in Oracle User Messaging Service using Oracle Enterprise Manager Fusion Middleware Control, from external email accounts. See Sending Alerts to External Email Accounts for more information.

Messages can include variables that are set when the alert is launched, such as the time that an event occurred and the data that launched the event. To use data variables, the event must be based on data: Select a CQL Query or When a data field in a data object meets specified conditions.

To create an alert that includes a message:

  1. Create the alert. See Creating an Alert.

  2. Select the action Send a message via email.

  3. Click either <create message> or <select user> in the alert expression.

    The Message Editor opens.

  4. Type comma-separated email addresses in the To text box, or click the Search icon to display the Identity Browser and select BAM users.

  5. Type a subject in the Subject line.

  6. Type the message in the Message Text box.

  7. Optionally click the arrow to the right of Select Project to List Dashboards and select a project from the drop-down list.

    Dashboards in the selected project are listed.

  8. Select a dashboard from the list.

  9. Optionally include special fields in the message.

    Special fields are listed in the List drop-down list. The special fields listed change when dashboards are selected in the lower portion of the Message Editor.

    To insert a special field into the message:

    1. Select a special field from the list.

    2. Click Insert into subject or Insert into text.

    You can insert multiple values of the same type, for example, multiple links to different dashboards.

    • Target User inserts the names, BAM user IDs, or email addresses of the message recipients.

      If you entered BAM users in the To text box, names are inserted for the users with names defined, otherwise the IDs are inserted. If you entered email addresses, these are inserted as is.

    • Date/Time Sent inserts the date and time the message is sent.

    • Send Dashboard Name inserts name of the selected dashboard.

    • Send Dashboard Owner inserts the name of the owner of the selected dashboard.

    • Send Dashboard Link inserts a link to the selected dashboard.

  10. Click OK.

10.16.3 Delete rows from a data object

Select the data object, and specify when a row is removed from the data object.

To delete rows from a data object:

  1. Create the alert. See Creating an Alert.
  2. Select the action Delete rows from a data object.
  3. Click <this data field has a condition of x> in the alert expression.

    The Purge Rows in Data Object Action Editor opens.

  4. In the Row Filters tab, create a filter on a data field in the data object to express a condition that, when met, specifies a row to be deleted. All of the functionality available in query filters is provided. See Filtering Data for more information.
  5. Click OK.

10.16.4 Insert values into a data object

This action maps event data object fields to action data object fields and transfers values from one to the other. The data object that receives the inserted values is called a write-back data object. Select the action data object, and specify the event output fields that have values to be added to columns in the action data object.

This action is presented only if the event is based on data: Select a CQL Query or When a data field in a data object meets specified conditions.

Figure 10-1 shows the Map Fields dialog with an example data insert operation.

Figure 10-1 Map Fields Dialog

Description of Figure 10-1 follows
Description of "Figure 10-1 Map Fields Dialog"

To insert values into a data object:

  1. Create the alert. See Creating an Alert.
  2. Select the action Insert values into a data object.
  3. Click <select data object> in the alert expression.

    The Map Fields dialog opens.

  4. Select a data object from the drop-down list.

    The Define Mappings table is populated with the data object columns.

  5. Select the Operation Type: insert or upsert.
  6. For each column to receive values, select an Event Output Field from the drop-down list.
  7. If the Operation Type is upsert, specify one or more columns as an Upsert Key.
  8. Click OK.

10.16.5 Send a parameterized message

This action emails dashboards that require parameter inputs to Oracle BAM users. You configure the email message and the parameter values that are passed to the dashboard.

For information about creating prompts and parameters in dashboards, see Creating Parameters.

Create an email message to send, select a dashboard, select one or more recipients, and specify action and dashboard parameter values.

Recipients can be selected from BAM users or, if an email driver is configured in Oracle User Messaging Service using Oracle Enterprise Manager Fusion Middleware Control, from external email accounts. See Sending Alerts to External Email Accounts for more information.

This action is presented only if the event is based on data: Select a CQL Query or When a data field in a data object meets specified conditions.

Figure 10-2 and Figure 10-3 show the Message Editor with an example parameterized message.

Figure 10-2 Message Editor Displaying Action Parameter Values Tab

Description of Figure 10-2 follows
Description of "Figure 10-2 Message Editor Displaying Action Parameter Values Tab"

Figure 10-3 Message Editor Displaying Report Parameter Values Tab

Description of Figure 10-3 follows
Description of "Figure 10-3 Message Editor Displaying Report Parameter Values Tab"

To create an alert that includes a parameterized message:

  1. Create the alert. See Creating an Alert.

  2. Select the action Send a parameterized message.

  3. Click either <create message> or <set parameters> in the alert expression.

    The Message Editor opens.

  4. Type a subject in the Subject line.

  5. Type the message in the Message Text box.

  6. Optionally click the arrow to the right of Select Project to List Dashboards and select a project from the drop-down list.

    Dashboards in the selected project are listed.

  7. Select a dashboard from the list.

  8. Optionally include special fields in the message.

    Special fields are listed in the List drop-down list. The special fields listed change when dashboards are selected in the middle portion of the Message Editor.

    To insert a special field into the message:

    1. Select a special field from the list.

    2. Click Insert into subject or Insert into text.

    You can insert multiple values of the same type, for example, multiple links to different dashboards.

    • Target User inserts the user names of the message recipients.

    • Date/Time Sent inserts the date and time the message is sent.

    • Send Dashboard Name inserts name of the selected dashboard.

    • Send Dashboard Owner inserts the name of the owner of the selected dashboard.

    • Send Dashboard Link inserts a link to the selected dashboard.

    • Send Parameterized Dashboard Link inserts a link to the selected dashboard that includes parameter values.

    • data field inserts the value of the specified field.

  9. In the Action Parameter Values tab, populate the User text box in one of these ways:

    • Type comma-separated email addresses.

    • Click the Search icon to display the Identity Browser and select BAM users.

    • Click the arrow to the right of Select Data Object Field and select a data field with user name values.

  10. In the Action Parameter Values tab, populate the Dashboard text box in one of these ways:

    • Click the arrow to the right of Select Data Object Field and select a data field with dashboard name values.

    • Click the arrow to the right of Select Project to List Dashboards and select a project from the drop-down list.

  11. In the Report Parameter Values tab, click Add Parameter once for each parameter the dashboard requires.

    A row is added to the parameters table for each click.

    For special values use the underscore (_), for example, _ALL_, _BLANK_, and _NULL_.

  12. In each row, type the parameter name in the Name field.

  13. In each row, select the parameter type in the Type field: Text or Data Object Field.

  14. For each parameter of type Text, type the parameter value in the Value field.

  15. For each parameter of type Data Object Field, click the Value field and select the parameter value from the drop-down list of data fields.

  16. Click OK.

Note:

The Send a parameterized message for every matching row in a data object action is no longer supported. However, you can achieve the same result by combining the When a data field in a data object meets specified conditions event with the Send a parameterized message action.

10.16.6 Launch a rule

The event When this rule is launched creates an alert that is dependent on another alert to launch it. The launching alert uses the Launch a rule action to launch the dependent alert. Several alerts can be chained using When this rule is launched in a hierarchy. For more information, see Creating Dependent Alerts.

10.16.7 Run a web service

Configure the web service that the alert calls when fired.

Configuring an alert to launch a web service, as this action does, is different from configuring a web service to launch an alert. For more information, see Launching Alerts by Invoking Web Services.

Figure 10-4 shows the Configure Web Service dialog with an example web service.

Figure 10-4 Configure Web Service Dialog

Description of Figure 10-4 follows
Description of "Figure 10-4 Configure Web Service Dialog"

For an example of both the Run a web service action and the ManualRuleFire web service, see Alert and Web Service Example.

Note:

Oracle BAM cannot determine if the web service is hosted on a server which is behind a secure server. It is your responsibility to indicate whether the web service is behind an HTTP basic authentication-based server. You must enter valid credentials if they are required.

To accomplish one-way SSL, the alert's web service client must be able to look up the certificate presented to it in a trust store.

To configure the web service:

  1. Create the alert. See Creating an Alert.
  2. Select the action Run a web service.
  3. Click <configure web service> in the alert expression.

    The Configure Web Service dialog opens.

  4. Type the web service endpoint URL in the WSDL or WSIL URL field. The URL must begin with the HTTP protocol and must end in a valid extension (?WSDL,  .WSDL or .WSIL).

    For example:

    http://host_name:port_number/OracleBAMWS/WebServices/DataObjectOperationsByID?WSDL
    
    http://api.google.com/GoogleSearch.wsdl
    
    http://host_name:port_number/inspection.wsil
    
  5. If it is a secure web service, check the Secure Web Service box and enter the required Username and Password credentials.
  6. Click Display Operations to display the available services of the web service.
  7. Select a service from the Service Name drop-down list.
  8. Select an operation from the Operations drop-down list.
  9. The Endpoint URL field is populated after you type the WSDL/WSIL and credentials, get the list of operations, and select an operation.

    It is populated with the endpoint URL defined in the WSDL file of the web service. If you find this endpoint URL outdated (for example, the web service implementation moved to a different endpoint but you do not have the new WSDL, but know the new endpoint URL) or incorrect, or want to override it, you can edit this URL. When the web service is invoked by Oracle BAM Event Engine, the configured endpoint URL is used to invoke the web service.

  10. The Parameters table is also populated after you type the WSDL/WSIL and credentials, get the list of operations, and select an operation. Type an appropriate value for each parameter.
  11. Optionally select Policies by checking boxes to the left of the policy names. The following policies are available:
    • oracle/wss_username_token_client_policy

    • oracle/log_policy

    • oracle/wss_http_token_client_policy

  12. Click OK.

Note:

If the web service does not respond to the call, then there are no logs available pertaining to the non-response or failure.

10.16.8 Launch a Custom Action

If the actions provided in BAM don't meet your requirements, you can extend the action set.

To configure a custom action:

  1. Create a JAR file in which one of the Java classes implements this interface:
    oracle.beam.common.alertsengine.externalactions.IAlertExternalAction
    

    This interface declares the following methods, which the class must implement:

    • initialize() — Executes the first time an alert that uses this action is triggered. The action is loaded into memory and cached internally.

    • takeAction() — Executes whenever an alert that uses this action is triggered.

    If the triggered alert is based on a data object change or a dashboard change, the changed row is passed to custom action as a HashMap. The HashMap key is a data object column name and the HashMap value is the value of the column in the changed row.

    If the JAR file is modified, the BAM server must be restarted for the modifications to take effect.

  2. Create the alert. See Creating an Alert.
  3. Select the action Launch a Custom Action.
  4. Click <custom action> in the alert expression.

    The Configure Custom Action dialog opens.

  5. Type a Name for the custom action.

    This name is added to the list of actions in the Action Editor if the action registration succeeds.

  6. Optionally type a Description. This does not appear in the BAM console.
  7. Type the Library Name, which is the full, absolute path of the JAR file, including the package name.
  8. Type the Class Name, which is the full, absolute name of the Java class that implements the IAlertExternalAction interface, including the package name.
  9. Type any Arguments, which are passed to the custom action code through the initialize() method.
  10. Click OK.

10.16.9 Run an ODI Service

Oracle BAM enables you to choose the Run an ODI Service alert action if you have both BAM and Oracle Data Integrator (ODI) 12c installed. For this alert action to appear in the alert actions list, you must create ODI scenarios in the ODI environment. You must also log in to Oracle Enterprise Manager Fusion Middleware Control and set the ODI-related BEAMServerConfig MBean properties. The following is a list of the property names and example values:
  • OdiAgentContext - oraclediagent

  • OdiAgentHost - localhost

  • OdiAgentPort - 4321

  • OdiMasterRepoDriver - oracle.jdbc.OracleDriver

  • OdiMasterRepoPassword - P@$sw0rd

  • OdiMasterRepoURL - jdbc:oracle:thin@localhost:1521:ord

  • OdiMasterRepoUser - DEV_ODI_REPO

  • OdiPassword - P@$sw0rd

  • OdiUser - SUPERVISOR

  • OdiWorkRepo - WORKREP

To use this alert action:
  1. Select the Run an ODI Service action when creating the alert.
  2. In the Configure ODI Action dialog, select the ODIAgentContext.
  3. Select the ODI scenario and version.
  4. Optionally enter variable values.
  5. Optionally enter the session name.
  6. Optionally enter a keyword.
  7. Click OK.