ODE
  1. ODE
  2. ODE-293

AJAX based Monitoring and Management Console for ODE(Axis2 Integration)

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.3.2, 2.0
    • Component/s: None
    • Labels:
      None

      Description

      AJAX based Monitoring & Management Console for Apache ODE is a project aimed at implementing Ajax based web application that expose monitoring and management capabilities support by Apache ODE BPEL engine and integrate it with ODE's Axis2 deployment.

      This will enable users to gain full advantage of the ODE, by making deploying BPEL deployment bundles easier, allowing them to monitor running process models, instances, engine status, and providing easy to use interface to suspend/resume and start/retire process instances and models.

      1. mmc_v9.zip
        563 kB
        Milinda Lakmal Pathirage
      2. ode_user_guide.pdf
        621 kB
        Milinda Lakmal Pathirage
      3. mmc_8.zip
        488 kB
        Milinda Lakmal Pathirage
      4. mmc_v7.zip
        487 kB
        Milinda Lakmal Pathirage
      5. mmc_v6.zip
        486 kB
        Milinda Lakmal Pathirage
      6. mmc_v5.zip
        474 kB
        Milinda Lakmal Pathirage
      7. restapi.patch
        6 kB
        Milinda Lakmal Pathirage
      8. mmc_v4.tar.gz
        431 kB
        Milinda Lakmal Pathirage
      9. mmc_v3.zip
        152 kB
        Milinda Lakmal Pathirage
      10. mmc_v2.zip
        151 kB
        Milinda Lakmal Pathirage
      11. mmc.zip
        98 kB
        Milinda Lakmal Pathirage

        Activity

        Hide
        Milinda Lakmal Pathirage added a comment -

        I have created this sample web page to provide developers about how I am gonna develop ODE Management and Monitoring Console. Anyone can directly copy the mmc folder into TOMCAT_HOME/webapps/ode/ directory and view the sample using http://localhost:8080/ode/mmc/index.html. I have finished implementing all the code required to communicate between Process and Instance Management services. I need to clarify how we are going to design menus and what kind of interactions needed.

        When considering this sample, we have a page called processes. In this page we can list all the currently deployed processes and add activate/deactivate buttons for management related operations in the same row which the process details are shown. Also when we send a request to get process information, we got more details which we can't display in a single row of table(considering default resolution 1024x768). So I need to know which fields are important in the first table. We can display other details in lightbox kind of a thing when users mouse over the each process.

        Also what kind of navigation all of you prefer? Vertical or Horizontal. Is the current design look nice?

        Please feel free to comment on this.

        Show
        Milinda Lakmal Pathirage added a comment - I have created this sample web page to provide developers about how I am gonna develop ODE Management and Monitoring Console. Anyone can directly copy the mmc folder into TOMCAT_HOME/webapps/ode/ directory and view the sample using http://localhost:8080/ode/mmc/index.html . I have finished implementing all the code required to communicate between Process and Instance Management services. I need to clarify how we are going to design menus and what kind of interactions needed. When considering this sample, we have a page called processes. In this page we can list all the currently deployed processes and add activate/deactivate buttons for management related operations in the same row which the process details are shown. Also when we send a request to get process information, we got more details which we can't display in a single row of table(considering default resolution 1024x768). So I need to know which fields are important in the first table. We can display other details in lightbox kind of a thing when users mouse over the each process. Also what kind of navigation all of you prefer? Vertical or Horizontal. Is the current design look nice? Please feel free to comment on this.
        Hide
        Matthieu Riou added a comment -

        I like the design, it's clean and nice. And I think the horizontal menu in the top bar is fine, it leaves more space for the list underneath.

        As for what would fit in the process list, it's kind of delicate. A single namespace could take the whole row So I think what you have right now is a pretty good start: process local name, status, version and deploy date. I think a count of running and completed instances would be nice too if you have enough space. We could use color conventions as well (i.e. display the count in red if at least one instance is in a failed state).

        I can't wait to see the console working!

        Show
        Matthieu Riou added a comment - I like the design, it's clean and nice. And I think the horizontal menu in the top bar is fine, it leaves more space for the list underneath. As for what would fit in the process list, it's kind of delicate. A single namespace could take the whole row So I think what you have right now is a pretty good start: process local name, status, version and deploy date. I think a count of running and completed instances would be nice too if you have enough space. We could use color conventions as well (i.e. display the count in red if at least one instance is in a failed state). I can't wait to see the console working!
        Hide
        Milinda Lakmal Pathirage added a comment -

        I have attached improved version of management and monitoring console. This one doest not contain the home page and only contain the process and instance pages. I have added some functionality for retiring process, but the request failed at server side. I'll look into that issue in near future. Also I hope to add instance management capabilities in next two days.

        Deployment process is same as mentioned in previous comment.

        Show
        Milinda Lakmal Pathirage added a comment - I have attached improved version of management and monitoring console. This one doest not contain the home page and only contain the process and instance pages. I have added some functionality for retiring process, but the request failed at server side. I'll look into that issue in near future. Also I hope to add instance management capabilities in next two days. Deployment process is same as mentioned in previous comment.
        Hide
        Milinda Lakmal Pathirage added a comment -

        Instance Terminate, Suspend and Resume functionality added to the web application.

        Show
        Milinda Lakmal Pathirage added a comment - Instance Terminate, Suspend and Resume functionality added to the web application.
        Hide
        Sandro Reichert added a comment -

        I like the nice design!

        Some short comments:
        There is a minor bug in the navigation: watching the processes, the instances tab is shown twice and the deployment tab is missing. Since there is currently no deployment page in mmc_v3, this doesnt matter.
        BTW: There is also a minor bug in the layout, appearing in Opera 9.51 and IE 7.0: The position of the vertical seperators in the navigation should be a bit higher. In Firefox 3.0 it works.

        Show
        Sandro Reichert added a comment - I like the nice design! Some short comments: There is a minor bug in the navigation: watching the processes, the instances tab is shown twice and the deployment tab is missing. Since there is currently no deployment page in mmc_v3, this doesnt matter. BTW: There is also a minor bug in the layout, appearing in Opera 9.51 and IE 7.0: The position of the vertical seperators in the navigation should be a bit higher. In Firefox 3.0 it works.
        Hide
        Matthieu Riou added a comment -

        I'm testing with FF 3 and don't see any process or instance in the list. I've had a look with Firebug and the request seems to be executed properly and the reponse is fine but nothing gets displayed. Should I try with FF 2 ? Or is it something else entirely?

        Show
        Matthieu Riou added a comment - I'm testing with FF 3 and don't see any process or instance in the list. I've had a look with Firebug and the request seems to be executed properly and the reponse is fine but nothing gets displayed. Should I try with FF 2 ? Or is it something else entirely?
        Hide
        Matthieu Riou added a comment -

        So yes, that's FF3. Things work much better in FF2. Pretty nice. Just a small comment related to appearance, clear colors (like process and instance summaries) are sometimes kind of hard to read. Other than that (and what Sandro mentioned), it's shaping up pretty nicely.

        Show
        Matthieu Riou added a comment - So yes, that's FF3. Things work much better in FF2. Pretty nice. Just a small comment related to appearance, clear colors (like process and instance summaries) are sometimes kind of hard to read. Other than that (and what Sandro mentioned), it's shaping up pretty nicely.
        Hide
        Milinda Lakmal Pathirage added a comment -

        There is a bug in jQuery when comes to Firefox 3. I'll look at IE and Opera bugs ASAP. I also feel that colors are bad. I am getting some help from my friend(who is professional designer) about the design. I'll add those changes when I am done with that. Thanks for all your comments.

        Show
        Milinda Lakmal Pathirage added a comment - There is a bug in jQuery when comes to Firefox 3. I'll look at IE and Opera bugs ASAP. I also feel that colors are bad. I am getting some help from my friend(who is professional designer) about the design. I'll add those changes when I am done with that. Thanks for all your comments.
        Hide
        Sandro Reichert added a comment -

        When trying to retire a deployed process with status active, I get the following JS alert:
        <localhost>

        Exception occured:
        java.lang.StringIndexOutOfBoundsException: String index out of range: -1[object Element]

        I'm using Opera 9.51 (IE 7 and FF3 do not show the process table)

        Show
        Sandro Reichert added a comment - When trying to retire a deployed process with status active, I get the following JS alert: <localhost> Exception occured: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 [object Element] I'm using Opera 9.51 (IE 7 and FF3 do not show the process table)
        Hide
        Milinda Lakmal Pathirage added a comment -

        There is a problem with jQuery and Firefox 3. I tried to find a solution and still couldn't find one. Currently I am trying to finish adding all the required features and I'll fix those bugs after finishing required features (GSOC deadline is on 11th August).

        Show
        Milinda Lakmal Pathirage added a comment - There is a problem with jQuery and Firefox 3. I tried to find a solution and still couldn't find one. Currently I am trying to finish adding all the required features and I'll fix those bugs after finishing required features (GSOC deadline is on 11th August).
        Hide
        Milinda Lakmal Pathirage added a comment -

        This version of management Console have cross browser compatibility. I tested it with Firefox 3 and IE 6. This version contains Landing Page, Process page, Instance Page and Deployment.
        Deployment of process directly through management console is still under development because Axis2 1.3 release has bugs (https://issues.apache.org/jira/browse/AXIS2-3394). It was fixed in 1.4 release. I am still working on adding custom multi part message builder to Axis2 used in ODE by making required modifications according to the patches provided in above JIRA. And also I am extending the capability provided by ODE 1_x branch doGet servelet method to support getting bundle imformation directly by giving process name. Currently it is using some kind of hierarchy of html pages to view deployment bundle content. After finishing this REST style API, I'll add them to management console and you can view it by clicking details button on each process.

        Please feel free to comment on this.

        Show
        Milinda Lakmal Pathirage added a comment - This version of management Console have cross browser compatibility. I tested it with Firefox 3 and IE 6. This version contains Landing Page, Process page, Instance Page and Deployment. Deployment of process directly through management console is still under development because Axis2 1.3 release has bugs ( https://issues.apache.org/jira/browse/AXIS2-3394 ). It was fixed in 1.4 release. I am still working on adding custom multi part message builder to Axis2 used in ODE by making required modifications according to the patches provided in above JIRA. And also I am extending the capability provided by ODE 1_x branch doGet servelet method to support getting bundle imformation directly by giving process name. Currently it is using some kind of hierarchy of html pages to view deployment bundle content. After finishing this REST style API, I'll add them to management console and you can view it by clicking details button on each process. Please feel free to comment on this.
        Hide
        Milinda Lakmal Pathirage added a comment -

        This patch add follwing REST API functionality to ODE 1.x branch's deployment bundle exploring facility. This will allow us to get process definitions and wsdl files in to management console.
        This patch add following methods to load process definitions and wsdls:

        1. To get the process definition by giving process name:
        http://localhost:8080/ode/deployment/getProcessDefinition/<process_name>
        example:
        http://localhost:8080/ode/deployment/getProcessDefinition/DynPartnerResponder
        returns:
        <getProcessDefinition>
        <url>
        http://localhost:8080/ode/deployment/bundles/DynPartner/DynPartnerResponder.bpel
        </url>
        </getProcessDefinition>

        2. Get bundle content (only WSDL files and .bpel files):
        http://localhost:8080/ode/deployment/getBundleDocs
        example:
        http://localhost:8080/ode/deployment/getBundleDocs/DynPartner
        returns:
        <getBundleDocsResponse>
        <name>DynPartner</name>
        <process>
        <pid>

        {http://ode/bpel/unit-test}

        DynPartnerMain-1</pid>
        <bpel>DynPartner/DynPartnerMain.bpel</bpel>
        <bpel>DynPartner/DynPartnerResponder.bpel</bpel>
        <wsdl>DynPartner/Main.wsdl</wsdl>
        <wsdl>DynPartner/Responder.wsdl</wsdl>
        </process>
        <process>
        <pid>

        {http://ode/bpel/responder}

        DynPartnerResponder-1</pid>
        <bpel>DynPartner/DynPartnerMain.bpel</bpel>
        <bpel>DynPartner/DynPartnerResponder.bpel</bpel>
        <wsdl>DynPartner/Main.wsdl</wsdl>
        <wsdl>DynPartner/Responder.wsdl</wsdl>
        </process>
        </getBundleDocsResponse>

        Show
        Milinda Lakmal Pathirage added a comment - This patch add follwing REST API functionality to ODE 1.x branch's deployment bundle exploring facility. This will allow us to get process definitions and wsdl files in to management console. This patch add following methods to load process definitions and wsdls: 1. To get the process definition by giving process name: http://localhost:8080/ode/deployment/getProcessDefinition/ <process_name> example: http://localhost:8080/ode/deployment/getProcessDefinition/DynPartnerResponder returns: <getProcessDefinition> <url> http://localhost:8080/ode/deployment/bundles/DynPartner/DynPartnerResponder.bpel </url> </getProcessDefinition> 2. Get bundle content (only WSDL files and .bpel files): http://localhost:8080/ode/deployment/getBundleDocs example: http://localhost:8080/ode/deployment/getBundleDocs/DynPartner returns: <getBundleDocsResponse> <name>DynPartner</name> <process> <pid> {http://ode/bpel/unit-test} DynPartnerMain-1</pid> <bpel>DynPartner/DynPartnerMain.bpel</bpel> <bpel>DynPartner/DynPartnerResponder.bpel</bpel> <wsdl>DynPartner/Main.wsdl</wsdl> <wsdl>DynPartner/Responder.wsdl</wsdl> </process> <process> <pid> {http://ode/bpel/responder} DynPartnerResponder-1</pid> <bpel>DynPartner/DynPartnerMain.bpel</bpel> <bpel>DynPartner/DynPartnerResponder.bpel</bpel> <wsdl>DynPartner/Main.wsdl</wsdl> <wsdl>DynPartner/Responder.wsdl</wsdl> </process> </getBundleDocsResponse>
        Hide
        Sandro Reichert added a comment -

        Nice improvements! I tested mmc_v4 on Linux, Tomcat 6.0.16, ODE 1.2 with Opera 9.51 and FF 3.0.1

        There are some problems with the instances view in both browsers:

        • layout boxes for each instance are missing
        • the status is "undefinded"
        • there are two Activate buttons
        • Suspend and Resume buttons are, missing (probably because the status is undefined)
        • Terminate button does not work

        Using mmc_v3 in parallel, these things work fine.

        In the provess view, there are some differences between FF and Opera.

        • in Opera, pushing the buttons has no effect
        • in FF, pushing retire results in an exception: "Exception occured: java.lang.StringIndexOutOfBoundsException: String index out of range: -1[object Element]"
        • in FF, the details box is shown, but it would be nice to make it resizeable it to avoid scrolling
        • does the process details box need the copy and paste functionality? In FF, I can copy the whole content of the process view into this box - which looks weird
        Show
        Sandro Reichert added a comment - Nice improvements! I tested mmc_v4 on Linux, Tomcat 6.0.16, ODE 1.2 with Opera 9.51 and FF 3.0.1 There are some problems with the instances view in both browsers: layout boxes for each instance are missing the status is "undefinded" there are two Activate buttons Suspend and Resume buttons are, missing (probably because the status is undefined) Terminate button does not work Using mmc_v3 in parallel, these things work fine. In the provess view, there are some differences between FF and Opera. in Opera, pushing the buttons has no effect in FF, pushing retire results in an exception: "Exception occured: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 [object Element] " in FF, the details box is shown, but it would be nice to make it resizeable it to avoid scrolling does the process details box need the copy and paste functionality? In FF, I can copy the whole content of the process view into this box - which looks weird
        Hide
        Milinda Lakmal Pathirage added a comment -

        In this version I have fixed some of the bugs reported and now deployed package listing and viewing wsdls and bpel scripts inside them working. To view the process details and package content you have to patch the RESP API using the patch provided in this JIRA. I have tested this using ODE 1.x branch. Please feel free to try it and report bugs if there are any.

        Show
        Milinda Lakmal Pathirage added a comment - In this version I have fixed some of the bugs reported and now deployed package listing and viewing wsdls and bpel scripts inside them working. To view the process details and package content you have to patch the RESP API using the patch provided in this JIRA. I have tested this using ODE 1.x branch. Please feel free to try it and report bugs if there are any.
        Hide
        Milinda Lakmal Pathirage added a comment -

        Now ODE Ajax Based Management Console support deploying package bundles via Management UI. This functionality is available under Deployment section. File uploading implementation require Apache Commons IO library. And to view process details and package details we need the patch provided in this JIRA applied to ODE 1.x branch code. Please try this and send your comments and ideas about this.

        Show
        Milinda Lakmal Pathirage added a comment - Now ODE Ajax Based Management Console support deploying package bundles via Management UI. This functionality is available under Deployment section. File uploading implementation require Apache Commons IO library. And to view process details and package details we need the patch provided in this JIRA applied to ODE 1.x branch code. Please try this and send your comments and ideas about this.
        Hide
        Milinda Lakmal Pathirage added a comment -

        Fix bugs in exception handling and added new alert box using YUI SimpleDialog Component.

        Show
        Milinda Lakmal Pathirage added a comment - Fix bugs in exception handling and added new alert box using YUI SimpleDialog Component.
        Hide
        Tammo van Lessen added a comment -

        Hi, here are my comments:

        The UI design is really cool but there are a lot of annoying bugs wrt the functionality:

        • The MMC works only iff Ode is locally installed. I think this can be resolved by using relative paths.
        • There is no automatic refresh of the views which makes the use of AJAX IMO quite useless.
        • processes view: The buttons should indicate which state changes are possible. So for an active process model should not have an "Activate" button but rather a "Disable" button.
        • The "Retire" buttons throws a java.lang.StringIndexOutOfBoundsException
        • The same applies to the Instance view: When the instance is running, the resume buttons does not make sense, and when the instance is suspended, the suspend button should be hidden. Completed or terminated instances can not be suspended/resumed.
        • The instance view could be more informative (i.e. displaying the process model and highlighting active and completed activities).
        • Resume button in Instance view invokes Suspend.
        • Deployment view, deployed packages: the axis2nsXX prefix in the process identifier should be the namespace instead of a ns prefix
        • I wasn't able to get the deployment running, i'm getting an exception, see below. Looks like there are more dependencies than commons-io?
        • There is typo in "Deployement" ==> "Deployment"

        OMElement cannot be resolved to a typeAn error occurred at line: 38 in the jsp file: /fileupload.jspGenerated servlet error:OMText cannot be resolved to a typeAn error occurred at line: 38 in the jsp fil

        Show
        Tammo van Lessen added a comment - Hi, here are my comments: The UI design is really cool but there are a lot of annoying bugs wrt the functionality: The MMC works only iff Ode is locally installed. I think this can be resolved by using relative paths. There is no automatic refresh of the views which makes the use of AJAX IMO quite useless. processes view: The buttons should indicate which state changes are possible. So for an active process model should not have an "Activate" button but rather a "Disable" button. The "Retire" buttons throws a java.lang.StringIndexOutOfBoundsException The same applies to the Instance view: When the instance is running, the resume buttons does not make sense, and when the instance is suspended, the suspend button should be hidden. Completed or terminated instances can not be suspended/resumed. The instance view could be more informative (i.e. displaying the process model and highlighting active and completed activities). Resume button in Instance view invokes Suspend. Deployment view, deployed packages: the axis2nsXX prefix in the process identifier should be the namespace instead of a ns prefix I wasn't able to get the deployment running, i'm getting an exception, see below. Looks like there are more dependencies than commons-io? There is typo in "Deployement" ==> "Deployment" OMElement cannot be resolved to a typeAn error occurred at line: 38 in the jsp file: /fileupload.jspGenerated servlet error:OMText cannot be resolved to a typeAn error occurred at line: 38 in the jsp fil
        Hide
        Milinda Lakmal Pathirage added a comment -

        Thanks for your valuable response. I'll fix those ASAP.

        Show
        Milinda Lakmal Pathirage added a comment - Thanks for your valuable response. I'll fix those ASAP.
        Hide
        Milinda Lakmal Pathirage added a comment -

        This version of management console has following issues fixed:

        • The MMC works only iff Ode is locally installed. I think this can be resolved by using relative paths.
        • There is no automatic refresh of the views which makes the use of AJAX IMO quite useless.
        • processes view: The buttons should indicate which state changes are possible. So for an active process model should not have an "Activate" button but rather a "Disable" button.
        • The same applies to the Instance view: When the instance is running, the resume buttons does not make sense, and when the instance is suspended, the suspend button should be hidden. Completed or terminated instances can not be suspended/resumed.
        • Resume button in Instance view invokes Suspend.
        • There is typo in "Deployement" ==> "Deployment"

        I'll update the JIRA with fixes for other reported errors ASAP.

        Show
        Milinda Lakmal Pathirage added a comment - This version of management console has following issues fixed: The MMC works only iff Ode is locally installed. I think this can be resolved by using relative paths. There is no automatic refresh of the views which makes the use of AJAX IMO quite useless. processes view: The buttons should indicate which state changes are possible. So for an active process model should not have an "Activate" button but rather a "Disable" button. The same applies to the Instance view: When the instance is running, the resume buttons does not make sense, and when the instance is suspended, the suspend button should be hidden. Completed or terminated instances can not be suspended/resumed. Resume button in Instance view invokes Suspend. There is typo in "Deployement" ==> "Deployment" I'll update the JIRA with fixes for other reported errors ASAP.
        Hide
        Milinda Lakmal Pathirage added a comment -

        This is a draft document about Apache ODE management and Monitoring Console. I'll add technical content(Implementation details) to this document ASAP. Please feel free to comment on this.

        Show
        Milinda Lakmal Pathirage added a comment - This is a draft document about Apache ODE management and Monitoring Console. I'll add technical content(Implementation details) to this document ASAP. Please feel free to comment on this.
        Hide
        Milinda Lakmal Pathirage added a comment -

        Added Instance Summary Pie Chart to home page.

        Show
        Milinda Lakmal Pathirage added a comment - Added Instance Summary Pie Chart to home page.
        Hide
        Nawaz Khurshid added a comment - - edited

        I like this Console Application and I would like to see the process graph for each BPEL process in this console.
        A process graph will show a graphical model of the process just like we can see in Eclipse BPEL Editor. A user must be able to see all the activites of bpel process. And also by clicking on each activity a small property window at the left side of the page can show whether this activity has been completed successfully or is faulted. It will help user to quickly understand the faulty activity in the process and will help in debugging.

        At the moment i cannot see the process details. Whenever i click over it i get this error.

        Exception occured in viewProcessDetails : Permission denied to call method XMLHttpRequest.open

        Environement

        Windows Vista
        Firefox 2.0
        Tomcat 5.5.27
        Apache ODE 1.2

        Show
        Nawaz Khurshid added a comment - - edited I like this Console Application and I would like to see the process graph for each BPEL process in this console. A process graph will show a graphical model of the process just like we can see in Eclipse BPEL Editor. A user must be able to see all the activites of bpel process. And also by clicking on each activity a small property window at the left side of the page can show whether this activity has been completed successfully or is faulted. It will help user to quickly understand the faulty activity in the process and will help in debugging. At the moment i cannot see the process details. Whenever i click over it i get this error. Exception occured in viewProcessDetails : Permission denied to call method XMLHttpRequest.open Environement Windows Vista Firefox 2.0 Tomcat 5.5.27 Apache ODE 1.2

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development