Scripting Review

Document: Scripting support in GlassFish v3

Reviewer: Bill Shannon

Review date: 7/7/2008

Response date: 7/24/2008

Item Type Comment Response
1 Clarification It's not clear to me whether your intent is simply to use v3 as a runtime for Rails and Grails apps, or whether you will be providing some sort of integration with Java EE apps? Can I include Ruby or Groovy code anywhere in my war file, and use Ruby or Groovy to implement any of the standard Java EE components? There is integration script to integrate Rails applications. This integration code is mostly Grizzly adapter and v3 wrappers around it. The grizzly adapter uses JRuby APIs to pass on GrizzlyInputStream and GrizzlyOutputStream to the Rails code. For Grails applications - since it is just a servlet application and packaged as such so it basically only uses v3 runtime (web module), just like any other servlet application
2 Clarification I don't understand the last sentence in section 4.1. How do you detect that a gsp file is modified and how do you call into GlassFish to tell it about the modified file? Changes in gsp file is detected by groovy/grails runtime and once it is detected it does a callback in to the RunAppGf.groovy file to redeploy the application. This is where we simply do glassfish.redeploy(), using embedded API.
3 Clarification Is any admin console support needed for any of the scripting support you're adding? Section 4.7 makes it sound like there is, but there's no description of what you'll be adding to the admin console. Yes - for Rails there is going to be one. This will include deploy, undeploy, setting number of jruby runtimes.
4 Clarification I don't understand section 4.8 of your document. I listed HA for Rails application. GlassFish provides HADB and in-memory replication for HA. We want to make sure how these techniques can be used to provide HA to rails applications. Since v3 lite express will not have HA so I guess this can be removed.