[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [jwt-dev] Beginning of a monitoring plug-in | 
About the event mechanism :
This is also done in the context of integration between business 
applications and workflow engine(s) at runtime.
The idea revolves around defining (Java, WSDL, SCA) a generic 
WorkflowEventListenerService
  * that a runtime process engine should call on state change
     * basically task lifecycle changes : ready, before / after start, 
before / after stop . These could be the operations of said service, 
taking as parameter the part of the workflow state (typically a 
Process's Activity, as defined in the existing WorkflowService) that has 
changed
     * NB. I think property changes would be too heavy
  * and that might be implemented by business applications so they can 
be notified
So, an eclipse-based UI could use this event mechanism to help the 
developer monitor runtime processes in a "push" manner (rather than 
polling), thanks to notifications of the changes to the workflow state.
Open questions are
  * where should be the listeners configured ? these possibilities are 
not mutually exclusive :
     * the application may use a WorkflowEventSubscribeService 
implemented engine-side. Should it be fine-grained (ex. listen to a 
given state of a given activity) or not ?
     * engine side, configured in the process model
     * also configured on application side : we could provide a sample 
Java implementation of the service that merely dispatches to other 
configured services
  * should we allow open events, i.e. an additional onCustomEvent(name) 
method ?
  * what about using JWT -> executable process format transformations 
in order to add dispatchingListeners everywhere, for instance to ease 
activation of monitoring ?
Regards
Marc
Mickael Istria a écrit :
Hello,
I added on the wiki page the model that we use for a workflow state. 
This model is part of the workflow service API that must use any 
extension. Of course it can be corrected/improved according to other 
specific features (it currently fits with Bonita, but we didn't try 
with other workflow engines).
I also added the code of WorkflowService interface, that we use to get 
the state of the workflow.
It might be interesting for you.
In the Bonita remote implementation of this interface, we only use the 
"listUserActivities(true, true, login)" method to get all informations 
about the state of the workflow. Indeed, calling this method with this 
attributes gives us the whole workflow state, since this workflow 
state is fully serializable.
Thus, you're right, it is a poll mechanism, with all the limits that 
it involves. (especially the need to refresh to check for modifications)
We are still thinking about an event mechanism, but I'll let Marc tell 
you more about this, since he has more knowledge on this subject.
Regards,
Mickael
Bryan Hunt a écrit :
This is interesting.  I've been doing some more work on my EMF 
workflow model/engine and I'm about to look at modeling state 
information and the ability to monitor that state.  It sounds like 
this is using a polling mechanism to monitor the state.  Is that 
correct?  I'm considering using an event model for state 
transitions.  I would be concerned about using a polling mechanism 
especially when running the workflow remotely - performance is 
critical in my intended application.
Bryan
On Apr 21, 2008, at 10:56 AM, Mickael Istria wrote:
Hello,
I've written a little plug-in framework that can be used to monitor 
a workflow state from a workflow engine. This is not at all a mature 
plug-in for the moment, but I hope it is an interesting base for the 
future.
Monitoring a workflow engine can be done in a few steps:
1. Implement an interface (WorkflowService) with your favorite 
workflow engine. (We use the "Adapter" design-pattern)
2. Make this service accessible to the user who wants to monitor it 
in Eclipse (you can use webservices, rmi, or anything you are able 
to write a client programmaticaly)
3. Implement an extension plug-in which defines the way to acces the 
service (so called a service provider) from inside Eclipse.
We are currently able to monitor Bonita via a CXF/Aegis WebService 
(see the wiki for screenshots).
You can find more detailed information and basis for discussion on 
the JWT wiki at http://wiki.eclipse.org/JWT_Monitoring
Hope you will find it interesting!
Regards,
Mickael
_______________________________________________
jwt-dev mailing list
jwt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jwt-dev
_______________________________________________
jwt-dev mailing list
jwt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jwt-dev
_______________________________________________
jwt-dev mailing list
jwt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jwt-dev