Then, the process instance waits for the different notifications it expects, and checks the several timestamps validity. In case of time out or not acceptable timestamps, it's the EasierCos turn to send alerts to higher level middleware tools, such as governance platform.
h1. How does it work?
EasierCos is a top layer implementing a particular model (BPMN choreography) upon the generic EasyVIPER engine. The figure below shows the architecture of the EasierCos component.
{center}
!EasyBPMNModel.png|border=1!
EasierCos layer architecture: compilation and process definition registry.
{center}
The main job is done by EasyVIPER. Once compiled by EasierCos, EasyVIPER executes the choreography as an execution graph (exclusive and inclusive gateways have been intepreted as corresponding EasyVIPER behaviours at compilation time), into which nodes correspond to choreography tasks (see figure below).
Indeed, EasyVIPER provides main behaviours related to SOA process execution, such as Receiver, Sender, Loop, If,...
Furthermore, we can benefit from the fact it's an extensible library, for which new behaviours can be implemented. A new behaviour dedicated to the choreography is then implemented. This behaviour, called MEMB (for Message Exchange Monitoring Behaviour), is a WS-Notification consumer that previously subscribed on specific topics related to partners and that is able to check notifications validity.
{center}
!workflowSCA.png|border=1,width=900!
EasyVIPER process instance corresponding to the choreography diagram.
{center}
If you want know how to use {report-info:page:space > space:name} library, please consult the list of [How-tos|How-tos].
If you have any questions, please use the \[{report-info:page:space > space:name} contact form\|Contact\].