Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 9.0pe
    • Fix Version/s: not determined
    • Component/s: admin_gui
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      281

      Description

      In the same way that Rails is providing an interractive console right into the
      container, I do think that bundling BeanShell (JSR-274)
      http://www.jcp.org/en/jsr/detail?id=274

      Doing so, we would access live server context to test code before doing it for
      unit testing purposes. It is also usefull to alter data without having a direct
      access to the database.

      The is a big step to go to agile deployment and reduce the dev cycle of Java EE.

        Activity

        Hide
        kenpaulsen added a comment -

        Hi, thanks for the very good feedback! I have a few questions for you.

        Where do you envision the interactive console? A stand-alone console?
        Integrated w/ asadmin? Integrated in the web-based admin console?

        What types of operations are most important? Admin operations on the sever?
        Data access? Monitoring? When you say "test code", what types of code do you mean?

        Is the scripting language itself important? What about JavaScript? How about a
        CLI-like API? I'm not at all against BeanShell, just trying to understand the
        priorities / advantages / disadvantages.

        Thanks!
        Ken

        Show
        kenpaulsen added a comment - Hi, thanks for the very good feedback! I have a few questions for you. Where do you envision the interactive console? A stand-alone console? Integrated w/ asadmin? Integrated in the web-based admin console? What types of operations are most important? Admin operations on the sever? Data access? Monitoring? When you say "test code", what types of code do you mean? Is the scripting language itself important? What about JavaScript? How about a CLI-like API? I'm not at all against BeanShell, just trying to understand the priorities / advantages / disadvantages. Thanks! Ken
        Hide
        bjb added a comment -

        Hi Ken,
        Thanks for your interrest in this issue.

        Well, I am expecting the same way for console interaction that is possible with
        a scripting language like BeanShell (either telnet/console or into asadmin or
        embeded in the web admin ... lots of possibilities). BeanShell provide vy
        default implementation for all of these goodies and only require small
        code/config to be wrapped.

        But as a PoC, maybe it would be interresting to start with the BshServlet and
        embed that into the web admin in a particular page. This would limit the impact
        on a particular application of Glassfish and will not introduce any unexpected
        "hole" (as still running inside the container under its control).

        About the script choice, I was pushing BeanShell as this is available now and a
        viable short-term solution without much impact on the existing code base. But I
        do agree that middle-term target should be more oriented toward JSR-223 but this
        would make Mustang a requirement for Glassfish which is not acceptable IMHO.
        That was the reason for the choice of BeanShell. Also as you might know
        BeanShell is Java friendly (java synthax friendly), it is rock solid & stable
        since years ... so it adds point to the score.

        My goal adding an interractive console right into the container is to be able to
        "key in" whatever code I like to test it, for instance :

        • get an EJB Stateless reference from an application
        • call on of its business method with a given value, get the result
        • call another method with more values ...

        As you've understood, this is not only for test purpose during development phase
        that such a tool might be usefull (agile dev, shortening cycles), but it could
        also be very usefull for system administrator to inject "off the track" code to
        hotfix bugs into the system, bypassing the presentation layer logic but directly
        interfacing to the business layer (and thus lowering the risk of data
        inconsistencies). Such an admin "bypassing" door is quite often requeste by
        trouble shooting teams that are monitoring complex applications in order to be
        able to unlock complex unexpected situations.

        For all those reason I think this would be a bargain for Glassfish.

        Rgs,
        JB

        Show
        bjb added a comment - Hi Ken, Thanks for your interrest in this issue. Well, I am expecting the same way for console interaction that is possible with a scripting language like BeanShell (either telnet/console or into asadmin or embeded in the web admin ... lots of possibilities). BeanShell provide vy default implementation for all of these goodies and only require small code/config to be wrapped. But as a PoC, maybe it would be interresting to start with the BshServlet and embed that into the web admin in a particular page. This would limit the impact on a particular application of Glassfish and will not introduce any unexpected "hole" (as still running inside the container under its control). About the script choice, I was pushing BeanShell as this is available now and a viable short-term solution without much impact on the existing code base. But I do agree that middle-term target should be more oriented toward JSR-223 but this would make Mustang a requirement for Glassfish which is not acceptable IMHO. That was the reason for the choice of BeanShell. Also as you might know BeanShell is Java friendly (java synthax friendly), it is rock solid & stable since years ... so it adds point to the score. My goal adding an interractive console right into the container is to be able to "key in" whatever code I like to test it, for instance : get an EJB Stateless reference from an application call on of its business method with a given value, get the result call another method with more values ... As you've understood, this is not only for test purpose during development phase that such a tool might be usefull (agile dev, shortening cycles), but it could also be very usefull for system administrator to inject "off the track" code to hotfix bugs into the system, bypassing the presentation layer logic but directly interfacing to the business layer (and thus lowering the risk of data inconsistencies). Such an admin "bypassing" door is quite often requeste by trouble shooting teams that are monitoring complex applications in order to be able to unlock complex unexpected situations. For all those reason I think this would be a bargain for Glassfish. Rgs, JB
        Hide
        Jason Lee added a comment -

        This could be a pretty interesting plugin to v3.

        Show
        Jason Lee added a comment - This could be a pretty interesting plugin to v3.
        Hide
        Tom Mueller added a comment -

        Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.

        Show
        Tom Mueller added a comment - Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.

          People

          • Assignee:
            sridatta
            Reporter:
            bjb
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: