Grails 1.0.3 Released (Graeme Rocher)

June 7th, 2008

We’ve (G2One Inc and the Grails development team) just released Grails 1.0.3, which includes 230 issues resolutions and improvements since the last release. The release notes go through the full details, including outlining some of the new features like enum support and interactive mode.

Grails has come a long way, since the release of 1.0 Grails has been downloaded over 186000 times averaging out to around 50000 times per month. That puts it on par or not far behind some of the biggest open source projects like Spring, Hibernate and Struts in terms of downloads.

The most exciting thing for me though is the plug-in community with over 70 plug-ins in the repository some of the new ones include Axis 2 support, Java2D with GraphicsBuilder and profiling (contributed by one of the biggest Grails users LinkedIn) and debugging plug-ins. Awesome stuff.

Now I’m shifting my focus to the second edition of the book, and feature development for Grails 1.1.

- Graeme Rocher

Tags:

Migrating popular PHP projects to Grails

June 6th, 2008

Found on the Grails Mailing List:


From: Robert Enyedi <robert.enyedi -at- numiton -dot- com>
Date: Fri, Jun 6, 2008 at 4:25 PM
Subject: Migrating popular PHP projects to Grails
To: Grails Users

Hello guys,

My company is in the business of automated software migration. We
currently focus on the migration from PHP to Java at source code
level. Apart from our commercial activities, we are also interested to
migrate some well-known open-source applications away from PHP. We
already finished the migration of phpBB 2 to Java (see
http://nbb2.sourceforge.net), whose result powers our own forum:
http://www.numiton.com/forum/.

As further steps, we want to take on the migration of other popular
PHP projects like WordPress and Joomla. Due to the internal
architecture of our migration tool we can relatively easily add
support for other JVM based target languages and not just Java. And we
know that Groovy and Grails have gained a lot of popularity.

This is why I want to approach the Grails community and ask about your
interest on having PHP projects migrated to this framework. Would you
use and/or extend such a project once we migrate it? Please let me
know your opinions, as they will be the decisive factor in our medium
term plans.

Thanks,
Robert

Tags:

Grails plugin for Adobe Flex, Livecycle DS and BlazeDS (Marco Casario)

May 26th, 2008

Marco Casario writes:

Grails_logo Grails is growing more and more and it’s gaining an important role over the Java community. Grails is an open-source web application framework that leverages the Groovy language (a cool dynamic language) and complements Java Web development. The Grails framework is built on top of  Spring , an establised enterprise framework.

The community is huge and you can now find a lot of interesting and useful plugin system  to speed up andintegrate integrates Grails with technologies Java people care about like GWT, DWR, JMS, IntelliJ, search operations are based on Luceneand and others.

Recently a new plugin for Adobe Flex, Livecycle DS and BlazeDS  is available for the Grails framework:

Grails Flex Plugin

the installation of the plugin is very easy. It’s enough to launch it using this command line :

grails install-plugin flex

And you’ll be ready to specify a Grails service as a remoting destination for Blaze DS or Livecycle DS using the expose property to your service class :

static expose = [’flex-remoting’]

Grails is a framework for which I’m very eager to know more. I hope this summer I’ll find the time to write some tutorials about the use of Grails plugin for Adobe Flex, Livecycle DS and BlazeDS.

Grails plugin for Adobe Flex and BlazeDS features

* Automatic configuration of Flex related web descriptor elements - For Flex to work configuration of servlets etc. are required in the web descriptor. This plugin automatically does this configuration.
* Eposing Grails services as Flex remoting destinations - When using Flex remoting services each Java service need to be configured within Flex using xml configuration. When exposing Grails service classes with this plugin this configuration is not needed anymore. The service class will automatically be registered within the Flex message broker.
* Participation in reloading of exposed Grails services - This plugin participates nicely with the reloading facilities of Grails. When creating new services or exposing existing services, they will be registered in the Flex message broker without restarting the application
* Embedded BlazeDS libraries
* Embedded Flex Webtier Compiler - When installing this plugin it will automatically install the Flex Webtier Compiler to your web application (within the WEB-INF folder). In development mode this Webtier Compiler is automatically enabled.

Tags:

Groovy on Rails = Grails = Cool (Gert Wohlgemuth)

May 26th, 2008

Gert Wohlgemuth writes:

groovy on rails = grails = cool

Finally a webframework which just works. Not like appfuse, which turned out to be a nightmare or spring + spring mvc which was very nice, but the development was just too much xml configuration and so slowed me down a lot.

Grails on the other hand, not one single line of configuration yet. It just worked…

Tags:

JavaOne: The best session was one I did not want to attend - Groovy Grails

May 6th, 2008

From the AMIS Technology Blog:

Ironically, the best session of the day was one I did not want to attend. However, the queue for the OpenESB session was huge, so I escaped into the Grails session by Jeff Brown from G2One. And that was a very good presentation. The right pace, the right level of detail, demonstrations and clear explanations and a huge amount of enthusiasm. I am not a big fan of Grails, or at least I was not at the beginning of the  session, but Jeff was very persuasive.

Grails - to be found at http://grails.codehaus.org/ - are an American instrumental rock band from Portland, Oregon. Well that too, the Grails we are talking about here is a web application development platform, based on the Groovy scriptling language and open-source technologies like Spring, Hibernate, Quartz and SiteMesh. (see also http://dev2dev.bea.com/pub/a/2006/10/introduction-groovy-grails.html for an introduction to Groovy and Grails by Harshad Oak). One quotation from Harshad: Grails can do to Groovy what Ruby on Rails has done for Ruby. And that is offer a ‘coding by convention’ approach that allows extremely fast first cut CRUD application development. In almost less than no-time you will have a not too bad looking CRUD (create, retrieve, update and delete) application for your domain objects. And where to me Ruby and Ruby on Rails are pretty alien technologies, Grails is much more friendly.

Groovy is one of the many scripting languages around that have attracted so much attention in recent years, together with Python, Ruby, Perl, (server side) JavaScript, PHP (?) and others. Groovy has been inspired by SmallTalk, Ruby and Python. One thing that makes Groovy attractive - although JRuby provides something very similar - is that it has been created for the JVM. In the words of Harshad: “The Java platform is concerned only with getting bytecodes to execute. As such, the platform does not force you to use the Java language. As long as you provide bytecodes, things will work. Groovy compiles to bytecodes, and it makes no difference to the Java platform if the bytecodes were generated from code written in Java or Groovy.”

This also makes integration between Groovy components and Java code very easy to accomplish: at run time they are one and the same thing (classes full of byte code the JVM can interpret). I was talking to Jeroen from Xebia at the NLJUG party and he explained to me how he used Groovy to quickly (3 hours) implement functionality that read from 9 different CVS files and merged them together into an XML file written out to the file system; he estimated that doing the same thing in Java would have taken two days or longer. Still integrating this work into the Java application his project was working on was a piece of cake!

Some key phrases on Groovy:

  • is an agile and dynamic language (partly interpreted at run-time) for the Java Virtual Machine
  • makes modern programming features (builders, dynamic typing and, yes, closures aka anonymous functions) available to Java developers with almost-zero learning curve
  • supports Domain-Specific Languages and other compact syntax so your code becomes easy to read and maintain
  • makes writing shell and build scripts easy with its powerful processing primitives, OO abilities and an Ant DSL
  • simplifies testing by supporting unit testing and mocking out-of-the-box
  • seamlessly integrates with all existing Java objects and libraries

Note: Groovy is picked by Oracle as the language to use for writing complex validation rules for ADF Business Components (see http://radio.weblogs.com/0118231/stories/2007/05/08/jdeveloperadf11gTechnicalPreviewTipsAndTricks.html and search for Groovy) and for command line access to the Enterprise Manager (if I remember this correctly, or was it Jython picked for this?).

Groovy has the concept of a GSP, the counterpart to the JSP. Building web applications with Groovlets and GSPs is similar to developing Servlets and JSPs (you guessed it) and can be used more or less interchangeably.

Jeff demonstrated in a smooth and inspiring way how he created a Grails application:

  • create Person class and an associated controller which initially is ’scaffold’ (generate plain CRUD support)
  • generate Grails application, including data storage in in-memory HSQL database
  • run application in Jetty container

these steps took less than 3 minutes and if he had not been talking he could have managed in under 90 seconds I believe.

He then showed how easy it is to implement find methods - the query is interpreted from the method name, such as findAllByAgeLessThan() - and define special URL mapping. Grails leverages Hibernate Query facilities for data retrieval, which makes it quite powerful and flexible. And as long as your requirements fit in the boundaries of Grails out of the box, you have tremendous functionality. And I have to admit that the fun in developing, that Scripting language adepts always profess in a somewhat over the top way, started to get a hold over me. It really looked like fun, primarily I suppose because of the speed and ease with which some non trivial features could be realized. Jeff demonstrated the concept of GSP Tag Libraries - smooth and simple, especially when compared to JSP tag libraries.

Tags:

JAX Innovation Awards: dynaTrace & Grails Take #1 and #2

April 27th, 2008

Grails took #2 and dynaTrace took #1 in the JAX Innovation Awards:

Tags:

Grails Nominated for JAX Innovation Award

April 21st, 2008

This week the 2008 JAX conference takes place in Germany. Last year, Groovy won the first prize of the JAX innovation award. This year, Grails was submitted and has just been nominated by the jury. Guillaume Laforge, Groovy project lead and initiator of the Grails project, will be at JAX this week and will represent the Grails team and project.

From the nomination announcement:

Now it is official: The ten nominees for the JAX Innovation Award. The winners of the award are kept top secret and will be made public next week at the JAX. The award, which is endowed with price money of 20,000 Euro altogether, originated from an initiative of the Software & Support publishing company.

Among many submissions from all over Europe our jury has selected these ten contributions. The contribution’s innovative value, creativity, elegance and relevancy for practice have been the assessment criteria of the jury.

  • Apache Sling
  • Biometric Authentification
  • GIANTsuite AdCreator
  • Grails
  • GreenFire
  • Intrexx Xtreme 4
  • Java business transaction performance management across the entire application lifecycle
  • jBPM
  • PETA
  • Visual Rules Business Rules Management System

It is the intention of the JAX Innovation Award to place inspiring innovations from Europe in the limelight and thus help them to get their chance of success. All interested people can enter this contest. Contributions could be submitted by companies but also by individual people, from research and education or from other organizations that contribute to Java, Eclipse or SOA with their project.

Tags:

Agile Development with Groovy & Grails (Christopher Judd)

April 21st, 2008

Christopher Judd writes:

I have given a presentation I call Agile Development with Groovy and Grails at CodeMash, the Columbus Ruby Burgage and other places around Columbus, Ohio. Unfortunately most of the presentation shows the power of Groovy and Grails in demo but if you are interested you can download it at:

http://www.juddsolutions.com/downloads/AgileDevelopmentwithGroovyandGrails.pdf.

In addition, I offer to freely give this presentation to any companies or organizations interested in Groovy and Grails in the central Ohio area.

Tags:

Hibernate & Grails (Shawn Hartstock)

April 18th, 2008

Shawn Hartstock writes of his experience creating a sophisticated Hibernate-related plugin for Grails:

Before yesterday, I had no experience with Hibernate event listeners and no experience with Grails plug-ins yet in a single day I was able to create what might be a rather sophisticated plug-in for Grails using internet available resources. I’d love to know if anyone else uses this project or is inspired by it to do some other work based on it. This is my detailed write-up of the experience.

Read Inside Hibernate Events and Audit Logging with Grails Plugins by Shawn Harstock.

Tags:

Groovy & Grails To Figure Prominently In Spring Web Flow 2.1

, April 17th, 2008

Thanks to Scott Davis of aboutGroovy for pointing this out.  In an InfoQ interview with Keith Donald and Jeremy Grelle, Groovy and Grails seems to figure prominently in the next version of Spring Web Flow 2.1.

I think you’ll also see us explore scripting languages as means of defining control flow in the 2.1 release. Grails, which builds on the Web Flow 2 engine, has already shown that a Groovy-based flow definition language is viable, and we are working with Graeme on incorporating his GroovyFlowBuilder back into Web Flow proper. In addition, I think there is real opportunity in broadening the flow definition language into what I call a “site definition language”, where you can define an entire site macrostructure declaratively, where some of the site elements are flows. Jesse James Garrett’s Visual Vocabulary is really an inspiration for some of these ideas, and I think there is a lot of interesting work to do in this area.

The entire interview can be found at InfoQ.

Tags: ,