Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [bpel-dev] BPEL Debugger

Here at JBoss, we recently discussed how we would provide a debugging API for general purposes (not just the designer). My initial design (i.e. napkin notes) appears below.

 

Debugging is about setting breakpoints in the process *definition*, intercepting the *execution* and then stepping through the following steps. jBPM already offers a mechanism to observe the execution of a process. I can think of providing debugging facilities by creating a process instance with runtime actions installed at the node-enter event of every activity. I will call them "interceptors".

 

There are two execution modes, "continuous" or "step-by-step". In the former, only interceptors marked as "breakpoints" can suspend the process execution. In the latter, all interceptors can suspend execution.

 

Communication between the BPEL runtime and the debugger occurs through some remoting technology. EJBs are an option, but web services seem more appropriate since BPEL is about web services.

 

The exposed operations are:

 

setBreakpoint(processName: QName, activityName: String)

----

Mark the interceptor at the entrance of the specified activity, which belongs to the specified process, as a breakpoint.

 

debug(processName: QName) : ProcessInstanceHandle

---

Create an instance of the specified process for debugging purposes. Returns a handle to the newly created instance.

 

getBranches(instanceHandle: ProcessInstanceHandle) : List<ProcessBranchHandle>

---

Retrieves the execution branches of the specified process instance.

 

stepInto(branchHandle: ProcessBranchHandle)

---

Executes the specified branch up to the next activity. If the branch currently points to a scope, execution will proceed up to the activity nested within the scope.

 

stepOver(branchHandle: ProcessBranchHandle)

---

Executes the specified branch up to the next activity. If the branch currently points to a scope, execution will proceed up to the activity that follows the scope.

 

However, I was recently introduced to the server framework in the Eclipse web tools project. Bruno is currently using that to implement the deployment feature. I understand it can be used for debugging too. This option is interesting to explore because it goes hand in hand with the current deployment work.

 

-Alejandro

 


From: bpel-dev-bounces@xxxxxxxxxxx [mailto:bpel-dev-bounces@xxxxxxxxxxx] On Behalf Of Robert Brodt
Sent: Friday, August 11, 2006 10:57 AM
To: bpel-dev@xxxxxxxxxxx
Subject: [bpel-dev] BPEL Debugger

 

Hi all,

 

We're working towards integrating BPEL Designer into our Sybase WorkSpace product, and one of the requirements is a graphical debugger. Has anyone given any thought to this feature and/or done some preliminary design (scribbled notes on a napkin, etc.)? We are currently actively working on fleshing out a design spec which we would happily share and contribute back to the community, however we don't needlessly want to duplicate efforts already in progress. Also, we'd happily accept design ideas (if any) others have thought about ;)

 

Thanks,

Bob Brodt


Back to the top