[jboss-dev-forums] [Design of JBoss jBPM] - Re: meeting context

tom.baeyens@jboss.com do-not-reply at jboss.com
Fri Oct 10 08:50:04 EDT 2008


"kukeltje" wrote : anonymous wrote : As I said earlier, I think there's actually several API's with different scope. 
  | Was my impression to, and it was also my impression that this was Tom's idea as well, but he seems to disagree now: 
  | anonymous wrote : I think it is possible to have 1 API for all PDLs. Which would be a real achievement, given the diversity of languages that we try to cover. Let's discuss the tradeoffs in the meeting.
  | 
  | Well, maybe we should ask him to elaborate upfront ;-)
  | 

I see 4 API's

1) Service API : these are the session facades that expose methods that are to be used in a persistent environment.  There are 3 services in the PVM:  
 * ProcessService: Manages the repository of deployed process definitions
 * ExecutionService: Manages the runtime process executions
 * ManagementService: All operational management actions like looking at failed jobs, clean shutdown,...

In the task management component, there will be a 
 * TaskService: Managing task lists

All the methods of these services are surrounded with an environment block.    These are similar to service operations that could be exposed as a web service or a stateless session ejb.

2) the client API : direct object access.  The interface of the POJO's representing process definitions and process executions.  This is used inside of the service method implementations or in case direct object access is used outside of a persistent context

3) Activity API: the Activity interface to implement the runtime activity behaviour.  And the ActivityExecution that also exposes the methods on the execution to propagate the execution.

4) Event Listener API: (aka Actions) that provides access to an EventListenerExecution.  

For more information see the PVM beta 1 release:
http://sourceforge.net/project/showfiles.php?group_id=70542&package_id=268068&release_id=627413


"heiko.braun at jboss.com" wrote : So what do we got? A generic API that tries to be PDL agnostic (PVM) and the suggestion that we focus on one specific PDL and it's API?
  | Is this right? Can you elaborate on how these are distinguished? 
  | 

I have been in doubt about whether this was possible as well.  My current conclusion after doing the PVM API is that it will be possible for all the common aspects which will cover everything needed for more then 80% of the projects using it:
 * starting new process executions
 * feeding in external signals/triggers/events
 * managing process variables

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4181488#4181488

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4181488



More information about the jboss-dev-forums mailing list