Kevan Miller wrote:
On Oct 10, 2008, at 10:52 AM, Jason Dillon wrote:
On Oct 10, 2008, at 4:27 AM, Joe Bohn wrote:
Grails framework - This is a self contained framework that leverages
groovy for scripting. It uses a rails like code by convention
approach to generate and host web applications. It is licensed
under Apache. It embeds Jetty for hosting the generated web
applications but can also export WAR files which can be then deployed
application servers like Geronimo. There is an article that gives a
nice description on how to utilize Grails to generate a web app and
deploy it into Geronimo
(http://www.ibm.com/developerworks/opensource/library/os-ag-grails/).
As far as integration with Geronimo goes, I'm not sure that there is
much to we can do. I guess we could document this in our wiki or
perhaps generate a plugin (or whatever the Grails term is) so that
the geronimo deployment plan can be generated rather than created
manually, but I'm not sure that is worth the effort. There doesn't
seem to be a good place for programmatic integration with regard to
the framework itself.
Um, there isn't a good place, because there isn't really any need for
anything. From the containers perspective its just another WAR
deployment.
One thing I was thinking about was to create a Grails plugin (which
contains the jars required to run a Grails web app). Thus avoiding
having to package all of the Grails dependencies in the WAR, itself.
Instead, they'd be declared as a dependency. Pushing wars with a bunch
of redundant jars, didn't strike me as very desirable. Grails might need
a bit of customization to build suitable WARS.
Interesting idea. I hadn't really thought of that ... I just was
planning to work with the war generated by Grails. I'll think about
constructing the war differently (or perhaps doing some inplace
deployment) and moving the grails jars to a plugin.
I would still be interested to see something, a sample even, running
under Grails inside of Geronimo. AFAICT Grails is a very powerful
framework for whipping up apps, so we could potentially use it... say
for the console :-P
A sample would certainly be helpful... Agreed about Grails, in general.
I was thinking it would be interesting to see if we could make it
simpler/more efficient to bridge between the two environments.
There is a sample of sorts in the article referenced earlier. But, this
doesn't really do anything for Geronimo/Grails integration and is a
little hard to find. We could certainly do something to provide a
sample/tutorial in our wiki ... but perhaps it would be much more
interesting if we did something with the grails gbean you proposed and
then some type of in-place deployment to make creating and running in
Geronimo quick and easy. Something more to think about. Thanks!
JRuby on Rails - My understanding is that this is basically a Ruby
implementation that runs on the Java VM (the JRuby portion) and
leverages the Rails framework. It is licensed under CPL/GPL/LGPL.
In many ways it is similar to Grails using an embedded web server to
facilitate a rapid application development environment ... this time
built upon the JRuby language interpreter. Here again, I suspect we
can provide some directions so that an exported war could be deployed
in Geronimo (or perhaps a plugin to generate geronimo deployment
plans) but there doesn't seem to be much in the way of direct
integration that we can provide.
There are other frameworks as well. Trails is one that I stumbled on
which is also in the same vein as Grails with a focus on definition
of the domain model and generating the rest of the app dynamically.
From what I have seen, most dynamic languages which run in Java also
support some-sort of web/WAR integration. But don't really require
much else to work. So I think that simply providing samples is
sufficient.
I guess supporting the javax.script/JSR-223 stuff via Apache BSF 3.x
is a good idea, though really I've no idea how/if/why someone would
want to use it. Maybe someone wants to generate a web-page, or maybe
someone wants to get the return value of a script injected into their
GBean, or wants the script to be their GBean, or wants to have a chunk
of script executed when the server loads... who knows.
Personally, I thought Grails was the best fit, but that may be because
I've used Groovy more (which isn't saying a whole lot) and new a bit
more about it...
--kevan