You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by Denis Weerasiri <dd...@gmail.com> on 2009/07/16 20:00:08 UTC

How to add an activity breakpoint to an instance

On Tue, Feb 10, 2009 at 4:00 AM, Matthieu Riou <ma...@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.
> >
>

Re: How to add an activity breakpoint to an instance

Posted by Denis Weerasiri <dd...@gmail.com>.
On Sat, Jul 18, 2009 at 7:31 AM, Milinda Pathirage <
milinda.pathirage@gmail.com> wrote:

> Hi Denis,
> Is there anyway that we can set global breakpoint for a process. If that is
> there we can first set global breakpoint for processes and when we invoke
> the process using sample input the created instance must come to that
> breakpoint and suspend until user resume it from that point.


Hi,
Adding a global breakpoint to a process is workable in ODE. And I tried it.
But adding a global breakpoint would effect to all the instances being
executed in that moment. That's why I'm trying to bind a breakpoint to the
specific instance.

I am not sure
> about the correct way to do it, but I think BPEL debugging must be same as
> normal debugging we done using Java IDEs or etc.. Here are some documents
> from Open-ESB.


Thanks for documents, and I'll look in to them.
Cheers,
Denis

>
>
> Testing And Debugging BPEL Processes:
>
> http://wiki.open-esb.java.net/Wiki.jsp?page=TestingAndDebuggingBPELProcesses
> BPEL Debugger Tutorial:
> http://wiki.open-esb.java.net/Wiki.jsp?page=BPELDebuggerTutorial
>
> Can you have look and propose a better way for our we based thing. Because
> I
> think that this must be same as normal debugging. I'll study Open ESB thing
> little bit and let you know my ideas ASAP.
>
> thanks
> Milinda
>
>
>
> On Thu, Jul 16, 2009 at 11:30 PM, Denis Weerasiri <ddweerasiri@gmail.com
> >wrote:
>
> > 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.
> > > >
> > >
> >
>
>
>
> --
> Milinda Pathirage
> Senior Software Engineer & Project Lead; WSO2 BPS; http://wso2.org/bps
> WSO2 <http://wso2.org/bps%0AWSO2> Inc.; http://wso2.com
> E-mail: milinda@wso2.com, milinda.pathirage@gmail.com
> Blog: http://mpathirage.com
>

Re: How to add an activity breakpoint to an instance

Posted by Milinda Pathirage <mi...@gmail.com>.
Hi Denis,
Is there anyway that we can set global breakpoint for a process. If that is
there we can first set global breakpoint for processes and when we invoke
the process using sample input the created instance must come to that
breakpoint and suspend until user resume it from that point. I am not sure
about the correct way to do it, but I think BPEL debugging must be same as
normal debugging we done using Java IDEs or etc.. Here are some documents
from Open-ESB.

Testing And Debugging BPEL Processes:
http://wiki.open-esb.java.net/Wiki.jsp?page=TestingAndDebuggingBPELProcesses
BPEL Debugger Tutorial:
http://wiki.open-esb.java.net/Wiki.jsp?page=BPELDebuggerTutorial

Can you have look and propose a better way for our we based thing. Because I
think that this must be same as normal debugging. I'll study Open ESB thing
little bit and let you know my ideas ASAP.

thanks
Milinda



On Thu, Jul 16, 2009 at 11:30 PM, Denis Weerasiri <dd...@gmail.com>wrote:

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



-- 
Milinda Pathirage
Senior Software Engineer & Project Lead; WSO2 BPS; http://wso2.org/bps
WSO2 Inc.; http://wso2.com
E-mail: milinda@wso2.com, milinda.pathirage@gmail.com
Blog: http://mpathirage.com