The Notification module of EasyVIPER provides a publisher role to the workflow engine, based on WS-Notification and subscribe/notify mechanism. This allows to subscribe on particular events related to a workflow, and to retrieve functional and non functional information (service latency, which branch of the workflow is executed, service invocation failure, ...).
SCA intents mechanism is used in order to implementation notification production into EasyVIPER. The subscription provokes notification intents positioning on workflow nodes. These particular intents are able to marshal and send nodes information.
EasyBPEL/EasyVIPER mechanism to manage monitoring and adaptation of workflows.
The notifications operations are
- subscribe,
- unsubscribe.
They correspond to WS-Notification operations definition.
The subscription mechanism launches, according to filters defined in the subscribe request, notifications intents adding on workflow nodes. Filters are:
- The ServiceEndpoint exposed by the workflow (BPEL process). A list of names can be set and will be involved in notification.
- The topic (QName) that selects in a workflow, onto which nodes (SCA components) will be positioned notification intents.
The subscribe request also contains informations on the consumer address, in order for the producer (EasyVIPER) to know where to send potential notifications. This information is to set in the ConsumerReference tag.
Here is an example of subscription request:
In this example, the consumer address is the NotificationConsumerEndpoint ServiceEndpoint.
The subscriber wants to launch notifications reception about ActivityChanged topic for the workflow exposing the processEndpoint service.
The Subscribe response will be as the following message:
The Uuid f95192f9-bc60-4318-9ae1-25bb03dfe8b2 will be used when invoking the un-subscription.
Here is an example of unsubscribe request: