ODE
  1. ODE
  2. ODE-565

Adding web based BPEL debugging support

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 1.4
    • Component/s: Management API
    • Labels:

      Description

      In order to run a business process successfully in ODE, it is a must to verify and debug its BPEL process model before deploying it in Apache ODE. So exposing the process debugging functionality as a web services such that a user can remotely debug a process and adding a graphical monitoring console allows for setting breakpoints and to monitor the run time details of that process will increase the usability as well as popularity of the work-flow engine we are concerning. Currently though the debugging functionality is included in Apache ODE, it's not really been tested for the current Apache ODE and it's not exposed as a web service.
      Web based debugging support for Apache ODE is a project aimed at exposing the debugging functionality as a web service and adding an AJAX based monitoring console to which consist of a graphical representation of a particular business process, allows for setting breakpoints to activities and allows for monitoring that process being debugged.
      This will enable users to gain full advantage of the ODE, by reducing design time and the testing time during the process development by allowing them to remotely debug a business process, set breakpoints to process activities, modify variables and to monitor the run rime variable information.

      1. oryx-ode-integration-on-BPMNLayouterInformatiCup.patch
        29 kB
        Denis Weerasiri
      2. ode-diff-only4test-1.patch
        8 kB
        Denis Weerasiri
      3. ode-diff-only4test.patch.zip
        158 kB
        Denis Weerasiri
      4. ODE-565_4.patch
        3.25 MB
        Denis Weerasiri
      5. ODE-565_3.patch
        106 kB
        Denis Weerasiri
      6. ODE-565_2.patch
        106 kB
        Denis Weerasiri
      7. ODE-565_1.patch
        98 kB
        Denis Weerasiri
      8. fromDenis.zip
        1.73 MB
        Denis Weerasiri

        Activity

        Denis Weerasiri created issue -
        Denis Weerasiri made changes -
        Field Original Value New Value
        Original Estimate 2,520h [ 9072000 ]
        Remaining Estimate 2,520h [ 9072000 ]
        Hide
        Denis Weerasiri added a comment -

        This patch deploys the BpelManagementFacadeImpl as a axis2 web service which is deployed at the ODE startup.
        But the service class implementation has not been tested. Seems to be there are some bugs regarding the service operation implementations.
        tested under 1.x branch.

        Show
        Denis Weerasiri added a comment - This patch deploys the BpelManagementFacadeImpl as a axis2 web service which is deployed at the ODE startup. But the service class implementation has not been tested. Seems to be there are some bugs regarding the service operation implementations. tested under 1.x branch.
        Denis Weerasiri made changes -
        Attachment ODE-565_1.patch [ 12403796 ]
        Denis Weerasiri made changes -
        Attachment ODE-565_1.patch [ 12403796 ]
        Hide
        Denis Weerasiri added a comment -

        This patch deploys the BpelManagementFacadeImpl as a axis2 web service which is deployed at the ODE startup.
        But the service class implementation has not been tested. Seems to be there are some bugs regarding the service operation implementations.
        tested under 1.x branch.

        Show
        Denis Weerasiri added a comment - This patch deploys the BpelManagementFacadeImpl as a axis2 web service which is deployed at the ODE startup. But the service class implementation has not been tested. Seems to be there are some bugs regarding the service operation implementations. tested under 1.x branch.
        Denis Weerasiri made changes -
        Attachment ODE-565_1.patch [ 12403797 ]
        Hide
        Denis Weerasiri added a comment -

        Tested the functionalities of the BpelManagementFacadeImpl which is deployed as a axis2 web service.
        Adding breakpoints globally (process vise) for activities is possible and works fine. The particular processes get suspended on the particular activity correctly.
        But I don't know how add the activity breakpoints instance vise. For the BPEL debugger functionality this will be essential as in ODE there may be other instances running while the BPEL debugger process is running. Otherwise all the instances will be suspended while the BPEL debugger process started.
        Several important operations like org.apache.ode.bpel.engine.BpelManagementFacadeImpl#step need to be fixed.

        Better ideas and suggestions are more than welcome.

        Cheers,
        Denis

        Show
        Denis Weerasiri added a comment - Tested the functionalities of the BpelManagementFacadeImpl which is deployed as a axis2 web service. Adding breakpoints globally (process vise) for activities is possible and works fine. The particular processes get suspended on the particular activity correctly. But I don't know how add the activity breakpoints instance vise. For the BPEL debugger functionality this will be essential as in ODE there may be other instances running while the BPEL debugger process is running. Otherwise all the instances will be suspended while the BPEL debugger process started. Several important operations like org.apache.ode.bpel.engine.BpelManagementFacadeImpl#step need to be fixed. Better ideas and suggestions are more than welcome. Cheers, Denis
        Hide
        Denis Weerasiri added a comment - - edited

        This patch(ODE-565_2.patch) provides functionalities like adding GlobalActivityBreakpoints to processes and step through for suspended instances at the break points.
        Used 1.x branch
        Didn't write any test cases but tested the "adding GlobalActivityBreakpoints" and "step through" using an axis2 client and REST calls.
        But still as I examined, though the step through functionality is working it didn't give a respond to the user after the step through process is completed. (i.e. Though the org.apache.ode.bpel.engine.BpelManagementFacadeImpl#step operation is completed , it can't be assured that actual process instance have reached to the next break point or completed the whole business process.)So upto now there is no way of assuring whether the step through process is completed except observing the the particular instance through the Instance management API.

        better ideas are more than welcome.

        Best Regards,
        Denis Weerasiri

        Show
        Denis Weerasiri added a comment - - edited This patch( ODE-565 _2.patch) provides functionalities like adding GlobalActivityBreakpoints to processes and step through for suspended instances at the break points. Used 1.x branch Didn't write any test cases but tested the "adding GlobalActivityBreakpoints" and "step through" using an axis2 client and REST calls. But still as I examined, though the step through functionality is working it didn't give a respond to the user after the step through process is completed. (i.e. Though the org.apache.ode.bpel.engine.BpelManagementFacadeImpl#step operation is completed , it can't be assured that actual process instance have reached to the next break point or completed the whole business process.)So upto now there is no way of assuring whether the step through process is completed except observing the the particular instance through the Instance management API. better ideas are more than welcome. Best Regards, Denis Weerasiri
        Denis Weerasiri made changes -
        Attachment ODE-565_2.patch [ 12404622 ]
        Hide
        Denis Weerasiri added a comment -

        ODE-565_3.patch was tested with ODE-trunk (Rev-790804). Still the Service couldn't bind for a instance to be created. And the Service get timed out when the process paused at a activity break point.

        Show
        Denis Weerasiri added a comment - ODE-565 _3.patch was tested with ODE-trunk (Rev-790804). Still the Service couldn't bind for a instance to be created. And the Service get timed out when the process paused at a activity break point.
        Denis Weerasiri made changes -
        Attachment ODE-565_3.patch [ 12412455 ]
        Denis Weerasiri made changes -
        Attachment ODE-565_3.patch [ 12412455 ]
        Hide
        Denis Weerasiri added a comment -

        ODE-565_3.patch was tested with ODE-trunk (Rev-790804). Still the Service couldn't bind for a instance to be created. And the Service get timed out when the process paused at a activity break point.

        Show
        Denis Weerasiri added a comment - ODE-565 _3.patch was tested with ODE-trunk (Rev-790804). Still the Service couldn't bind for a instance to be created. And the Service get timed out when the process paused at a activity break point.
        Denis Weerasiri made changes -
        Attachment ODE-565_3.patch [ 12412457 ]
        Hide
        Denis Weerasiri added a comment -

        Here I have attached

        1. oryx-ode-integration-on-BPMNLayouterInformatiCup.patch - contains the modifications. I used the branch (http://oryx-editor.googlecode.com/svn/branches/BPMNLayouterInformatiCup/)
        2. fromDenis.zip - contains the external javascripts, which are used to manipulate server side functionality.

        Here are the steps to test the patch

        1. Add the patch to the BPMNLayouterInformatiCup branch source
        2. deploy it in tomcat.
        3. Extract, Copy, and paste the directory "fromDenis" to the deployed "oryx" directory.
        4. Call http://localhost:8080/oryx/fromDenis/testMovi/basic.xhtml

        In this basic.xhtml , I've commented on important functionalities for your convenience.

        When you try this you will see the final output is a oryx editor page which overlapped with the PNG generarated from MOVI. This is bacause when I create the editor instance in the basic.xhtml, it renders into DOM. I asked about this in the b3mn mailing list. But I couldn't find a workable solution. I would be great if you can give me a solution to avoid overlapping of these two.

        After this I can delete the files step by step in deployed "oryx" directory and create a working directory inside ODE with oryx functionalities.
        And There are some improvements needed to be done, such as reducing the ping-pong of data between client and server when the layouting happens.

        Best Regards,
        Denis Weerasiri.

        Show
        Denis Weerasiri added a comment - Here I have attached 1. oryx-ode-integration-on-BPMNLayouterInformatiCup.patch - contains the modifications. I used the branch ( http://oryx-editor.googlecode.com/svn/branches/BPMNLayouterInformatiCup/ ) 2. fromDenis.zip - contains the external javascripts, which are used to manipulate server side functionality. Here are the steps to test the patch 1. Add the patch to the BPMNLayouterInformatiCup branch source 2. deploy it in tomcat. 3. Extract, Copy, and paste the directory "fromDenis" to the deployed "oryx" directory. 4. Call http://localhost:8080/oryx/fromDenis/testMovi/basic.xhtml In this basic.xhtml , I've commented on important functionalities for your convenience. When you try this you will see the final output is a oryx editor page which overlapped with the PNG generarated from MOVI. This is bacause when I create the editor instance in the basic.xhtml, it renders into DOM. I asked about this in the b3mn mailing list. But I couldn't find a workable solution. I would be great if you can give me a solution to avoid overlapping of these two. After this I can delete the files step by step in deployed "oryx" directory and create a working directory inside ODE with oryx functionalities. And There are some improvements needed to be done, such as reducing the ping-pong of data between client and server when the layouting happens. Best Regards, Denis Weerasiri.
        Denis Weerasiri made changes -
        Attachment oryx-ode-integration-on-BPMNLayouterInformatiCup.patch [ 12412961 ]
        Attachment fromDenis.zip [ 12412962 ]
        Denis Weerasiri made changes -
        Attachment ode-diff-only4test.patch.zip [ 12415358 ]
        Denis Weerasiri made changes -
        Attachment ode-diff-only4test.patch.zip [ 12415358 ]
        Denis Weerasiri made changes -
        Comment [ ode-diff-only4test.patch, contains the attempt on to add activity breakpoint to a suspended instance, using a MEX interceptor. ]
        Hide
        Denis Weerasiri added a comment -

        ode-diff-only4test.patch, contains the attempt on to add activity breakpoint to a suspended instance, using a MEX interceptor.

        Show
        Denis Weerasiri added a comment - ode-diff-only4test.patch, contains the attempt on to add activity breakpoint to a suspended instance, using a MEX interceptor.
        Denis Weerasiri made changes -
        Attachment ode-diff-only4test.patch.zip [ 12415360 ]
        Hide
        Denis Weerasiri added a comment -

        ode-diff-only4test-1.patch, contains the diff on "$ode-trunk/engine/src/main/java/org/apache/ode/bpel/engine".
        This is an attempt on suspending an instance in the ODEProcess class or BpelRuntimeContextImpl class.

        Show
        Denis Weerasiri added a comment - ode-diff-only4test-1.patch, contains the diff on "$ode-trunk/engine/src/main/java/org/apache/ode/bpel/engine". This is an attempt on suspending an instance in the ODEProcess class or BpelRuntimeContextImpl class.
        Denis Weerasiri made changes -
        Attachment ode-diff-only4test-1.patch [ 12415987 ]
        Hide
        Denis Weerasiri added a comment -

        ODE-565_4.patch contains the features to handle the BPEL debugging.

        Show
        Denis Weerasiri added a comment - ODE-565 _4.patch contains the features to handle the BPEL debugging.
        Denis Weerasiri made changes -
        Attachment ODE-565_4.patch [ 12418881 ]
        Denis Weerasiri made changes -
        Attachment ODE-565_4.patch [ 12418881 ]
        Hide
        Denis Weerasiri added a comment -

        ODE-565_4.patch contains the features to handle the BPEL debugging.

        Show
        Denis Weerasiri added a comment - ODE-565 _4.patch contains the features to handle the BPEL debugging.
        Denis Weerasiri made changes -
        Attachment ODE-565_4.patch [ 12418884 ]
        Hide
        Denis Weerasiri added a comment -

        Improvements-from-MarcoIndaco.rar contains the improvements came up with Marco Indaco using ODE-565_3.patch

        Show
        Denis Weerasiri added a comment - Improvements-from-MarcoIndaco.rar contains the improvements came up with Marco Indaco using ODE-565 _3.patch
        Denis Weerasiri made changes -
        Attachment Improvements-from-MarcoIndaco.rar [ 12439113 ]
        Denis Weerasiri made changes -
        Attachment Improvements-from-MarcoIndaco.rar [ 12439113 ]
        Milinda Lakmal Pathirage made changes -
        Assignee Milinda Lakmal Pathirage [ milinda ]
        Tammo van Lessen made changes -
        Fix Version/s 1.3.5 [ 12314243 ]
        Tammo van Lessen made changes -
        Fix Version/s 1.4 [ 12315144 ]
        Fix Version/s 1.3.5 [ 12314243 ]
        Tammo van Lessen made changes -
        Labels patch

          People

          • Assignee:
            Milinda Lakmal Pathirage
            Reporter:
            Denis Weerasiri
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:

              Development