Project : ecoo
Section: New Results
User-centric workflow. Anticipation.
We have completed an implementation, called Bonita, of the workflow model specified in , . It is based on a classical graph based workflow model, but with an advanced execution model that allows different kinds of execution strategies: from classical, automatic to less constrained, user driven process execution. Moreover, an executing workflow can be changed dynamically to reflect process evolution. Another difference with classical model is that process definition is dynamic. Bonita supports direct process instantiation and execution. A new process can be created by cloning another running or finished process and then adapted to its specific needs. Process fragment importation is also possible.
Bonita http://freshmeat.net/projects/bonita-workflow/is implemented on a J2EE application server. It is available on Jboss and Jonas. It provides a definition and an execution API available as a session bean and as Web services. Integration of external components can be done inside activities using the BeanShel scripting language. Bonita is available as an ObjectWeb project on the ObjectWeb forge ( http://bonita.forge.objectweb.org) and as a component of the LibreSource project http://www.libresource.org.
Cross-organizational process definition and enactment.
For bypassing heterogeneous and monolithic aspects of process management with regards to enterprise constraints of privacy, we have chosen a process service oriented approach: A process service is a service that abstracts a process fragment. Process services enable enterprises to interconnect their processes by proposing the services they can achieve and by requesting services they want to out-source.
A first study, focusing on process definition and enforcement, has been developed in cooperation with FT R&D. Process interconnection is based on a meta-model for process services and contracts definition. Contracts makes it possible to express the obligations and the permissions of each partner and to deploy synchronization points as Web services  . A synchronization point is a cooperative activity that provides for cross-organizational activity execution, including process control and process tuning  .
In a preliminary work, a pattern for the definition, the publishing, the search, the negotiation and the interconnection of process services has been defined   . It considers the interconnection of enterprise workflow processes as the management of a « workflow of workflows ».
Perspectives concern two complementing questions : how to support concurrency between processes that are long termed, interactive, having their proper internal control structure, and can instantiate from different models ? how to discover processes, and especially cooperation rules from logs of process executions when these processes are not explicitly defined. These two questions are related each to the other by the fundamental need to characterize and formalize cooperative interactions. Concerning concurrency between processes, the idea is, in opposition with the state of the art which mainly founds atomicity on isolation , to take advantage of the structure and the semantics of processes to increase the synergy and the parallelism between processes. Concerning, process discovery, the objective is to find out cooperation patterns and how processes are related each to others in a given application. We see the application of this research naturally in the coordination of multi-user creative applications where processes are more or less defined, of different nature, and of different models. Cross-organizational process enactment, and especially transactional composition of Web services enter also in our target..