Hi all, On Tue, Feb 10, 2009 at 4:00 AM, Matthieu Riou <[email protected]>wrote:
> On Sun, Feb 8, 2009 at 8:29 AM, Denis Weerasiri <[email protected] > >wrote: > > > Hi, > > > > I'm interested in implementing a interactive debugging tool for WS-BPEL > > developers on Apache ODE which enables to set breakpoints, and > > watch/inspect > > instance variables as GSOC project. > > > Sweet! Really good idea :) > > > > > > These days I'm developing a WS-BPEL status tracking tool which generate > an > > SVG flow diagram based on the BPEL code, and view the instance variable > > values and the activity details of the running instances. I used the ODE > > Management API for that. But it seems that ODE doesn't provide any API > for > > handling breakoints. > > Please let me know whether there is any API or some tool already > developed > > for handling breakpoint functionality in ODE. > > As well I'm clueless of the capacity of this project idea, whether it's > > possible to achieve. > > Or if there is any other interresting ideas for GSOC under Apache ODE > > project please let me know. > > > It is possible as it's a feature that used to exist back in the days when > ODE was still called PXE and was developed by Intalio only. Debugging had > been developed for Netbeans by a third party. > > Since then, even if it's never really been tested, I've been very careful > to > not remove this code and keep it up-to-date with the different refactoring > we've done, thinking we'll probably revive this feature sooner or later. So > even if it's probably buggy, most of the code is still present and should > be > operational. > > So if you check the InstanceManagement interface [1], you'll see > suspend(iid) and resume(iid) methods, which is a start. Those are > implemented by the DebuggerSupport class [2], which is useful to look at > but > is mostly internal API (external tooling shouldn't use it directly). > Instead > those methods should be used through BpelManagementFacadeImpl that > delegates > to DebuggerSupport. You'll find all the usual suspects: > getGlobalBreakpoints, addActivityBreakpoint, removeBreakpoint, ... For the > moment, even though those methods are on BpelManagementFacadeImpl like all > others of the management API, they're not accessible remotely yet. But that > wouldn't too hard to add. > I saw some major differences in the ODE1.x and ODE_trunk. Which release would you suggest to test the implementations(related to debugging) of the ode source code (ODE1.x or ODE_trunk)? > > I think that should be enough information to get you started but don't > hesitate to ask if you have any other additional question or problems. > > Cheers, > Matthieu > > [1] > > http://svn.apache.org/repos/asf/ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/pmapi/InstanceManagement.java > [2] > > http://svn.apache.org/repos/asf/ode/trunk/engine/src/main/java/org/apache/ode/bpel/engine/DebuggerSupport.java > > > > > > > > Best regards, > > Denis Weerasiri. > > > Best Regards, Denis Weerasiri.
