ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Denis Weerasiri <ddweeras...@gmail.com>
Subject How to add an activity breakpoint to an instance
Date Thu, 16 Jul 2009 18:00:08 GMT
On Tue, Feb 10, 2009 at 4:00 AM, Matthieu Riou <matthieu.riou@gmail.com>wrote:

> On Sun, Feb 8, 2009 at 8:29 AM, Denis Weerasiri <ddweerasiri@gmail.com
> >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 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.


Hi,
I'm trying to add an activity breakpoint to an instance.
But from the BpelManagementFacadeImpl, it provides a
method(addActivityBreakpoint) to add an activity break point using the
instance id as the input parameter.

should this method be invoked according to the following sequence.
     1. Create an instance and suspend it as soon as it get created.
     2. Then invoke the $subject method to add the breakpoint. ?

Because to get an instance id the process should be instantiated. So adding
a breakpoint to an already started instance does not make any sense.

Regards,
Denis

>
>
> 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.
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message