Sorry for the delay in responding, I didn't get a notification of your posting for some reason.
Victoriano Alfonso wrote:
I believe you are asking how can we ensure that a choreography is being executed properly? If so, then the only way is to monitor the system and then validate that the interactions between the various components correctly match the expected behaviour as defined in the choreography.
In savara 1 we had a basic mechanism for doing this with jbossesb and jbossws, but due to various issues, it never worked as well as it should have.
For a number of reasons, we have done a significant refactoring of many components to start building Savara 2 from the ground up. The focus of the initial releases is more on the design time (Eclipse tooling) so doesn't provide any runtime monitoring capabilities. However new monitoring components have been developed (based on a protocol specification language called Scribble rather than WS-CDL), so will be agnostic to whether the choreography is defined using WS-CDL or BPMN2 choreographies. We are also working on a new activity monitoring mechanism with web based UI, which will hopefully start appearing in the near future. This will form the basis of runtime monitoring support that you are looking for.
In the latest 2.0.0.M4 release, you can generate the BPEL processes and associated WSDL, XSD, deploy.xml descriptor etc. Once the implementation details have been added, they can then be deployed to the riftsaw BPEL engine, or any other WS-BPEL compliant engine.
We have also added initial support for generating SCA Java based service implementations. These implementations can be simulated against the scenarios, to check the implementation is valid according to the business requirements defined in the scenarios.
We have also added BPMN2 process generation. Initially these are mainly for design documentation purposes, but in future it is very likely that we will start to add more implementation details, so the processes could then be deployed into a BPMN2 execution engine (e.g. jBPM5).
Hopefully my answers above cover this - if not let me know.
Currently it doesn't although essentially these are just annotations/polcies on to of a choreography that can then be used by the runtime monitor to determine whether other factors (not just behaviour) are correct. We will tackle these in the future, but the priority at the moment is to move more fully towards BPMN2 and provide the basic monitoring infrastructure.
Hope this helps.