Tuesday, December 28, 2010

AIA Error Notifications

In a typical SOA deployment, there are a number of services deployed and thousands of messages exchanged on any given day. Howsoever we design our services and optimize the service deployment infrastructure, exceptions do happen. These exceptions can be broadly categorized as System Faults and Business Faults.
AIA Error Handling Framework captures all the exceptions in a consistent manner and provides notification capability out of the box to notify appropriate people about the exception. This enables them to analyze the exception and take appropriate corrective action.
AIA Email notifications can be configured in as little as 15 minutes following these 4 steps;

1. Define appropriate Users and Roles
For a given exception, the service SLA may require you to notify different users. You may need to notify different people for system errors, network issues etc. and different people for business errors such as data validation or CreditCheckFailed etc. AIA provides an XML based user repository (JAZN), but you could also configure your existing user store such as LDAP to define various roles of system users, integration admin, participating application admin etc.
If you are using JAZN,
  • Update “$SOA_HOME/j2ee/oc4j_soa/config/system-jazn-data.xml” file to define roles and users. AIA defines default AIAIntegrationAdmin role and AIAIntegrationAdminUser out of the box.
  • Update “$SOA_HOME/bpel/system/services/config/user-properties.xml” file to populate various attributes for these roles and users. Ensure to provide a valid email address for your domain.
2. Associate Roles to a specific Exceptions
AIA provides ability to notify different roles based on process name, service name, system id and error code. You can setup these notifications on AIA Console -> Setup -> Error Notification screen. For more information, see Oracle Application Integration Architecture Core Infrastructure Components Guide, "Setting Up Error Notifications for Oracle AIA Processes". It also explains the logic used to determine notification roles for an error.
If no appropriate role is defined for a certain error, AIA notify the default role (AIAIntegrationAdmin) defined in AIAConfigurationProperties.xml file.
3. Configure Email channel
Update “$SOA_HOME/bpel/system/services/config/ns_emails.xml” file;
  • In the <EmailAccounts> element, set the “NotificationMode” attribute to “EMAIL”, instead of “NONE”.
  • In the <GeneralSettings> section, set the <FromAddress> to a valid email address for your domain.
  • In the <OutgoingServerSettings> section, set the correct <STMPHost> and <STMPPort> for your domain.
  • Comment out <IncomingServerSettings> section if you do not have a need for it.
4. Restart BPEL Process Manager
Now you should see email notifications triggered for every error in the AIA system.
Oracle SOA Suite 10g supports five channels of notifications, Email, Pager, Fax, SMS and Voice. AIA provides an implementation for Email notifications, but it is easy to configure any other channel and provide custom notifications if needed.

1 comment: