In my previous blog, we looked at the Oracle ACM Activity and its various properties in an Oracle ACM project. Having the ability to configure the ACM Activity’s properties to reflect the way you need it to work is great, but sometimes there are scenarios where you need more than just the Activity configuration to meet your needs. This is especially true in a SOA implementation where you will need to connect the dots between various SOA artifacts alongside ACM. In this blog, we are going to look at how ACM works with SOA EDN (Event Delivery Network).
In the example below, we will raise and capture an ACM event (e.g. closing of an ACM Case) and then take further actions outside of the Case based on the ACM event.
To capture (subscribe) ACM events, the first thing you need to do is raise (publish) the ACM events. Open the Case, go to 'User Events', and select 'Publish Case Events'. This will raise all ACM system events as EDN events. See image below.
Now that the ACM system events are published, we can subscribe to these events. In the SOA composite, create a Mediator and select the 'Subscribe to Events' Template. Select the CaseEvent.edl from the JDev MDS. The EDL (Event Definition Language) file for Case events is readily available in the JDev MDS. See image below.
Now that we are subscribed to Case events, we want to add our filter to subscribe only to a specific Case event and not all of them. In this example, closing an ACM Case is the event we are interested in. Right-click the Mediator and click on 'Edit Subscribed Events'. Select the event and click on the 'funnel' icon to add the filter. Closing of an ACM Case is a Case Lifecycle Event, hence we select that and set the state = 'COMPLETED'. See image below.
I struggled to find the correct state value ('COMPLETED') for Closing of an ACM Case. The way I figured it out was by through looking at the ACM Business Rule. A Business Rule artifact is automatically created with an ACM Case. I opened the Business Rule and looked at the CaseLifecycleEventTypes. See image below.
Now that our ACM Case events are being published and we have subscribed to the specific event that we are interested in, we want to take action once this event happens. Double-click the Mediator and set your routing rules. See image below.
Once an ACM Case closes, an event will be raised by ACM, captured by the Mediator, and further appropriate action(s) can be taken by the Mediator. Hopefully this example was useful to understand how ACM with EDN and can be leveraged for using available Case events.
To read more on Oracle ACM, please have a look at the articles published by the Oracle A-team. Also, have a look at these other AVIO blogs -
- 5 Scenarios for Using Adaptive Case Management published by Kris Nelson.
- Adaptive Case Management Modeling with CMMN published by Jessica Ray.
Please feel free to leave me any comments or questions.