I just came back from the Spring2GX Day organised by Java Hispano and SpringSource. This was the first conference for a Spanish audience around Spring, Grails and Groovy. Hosted in Madrid, this conference was absolutely free and sought to bring together speakers from different areas of the Spring and Grails ecosystem.
When I found out about this this event, I immediately jumped to the Ryanair website looking for the flight from London to Madrid. There were always a few notes and tweets coming out from the Spanish corner of the Grails community, specially from the Escuela de Groovy and Jobsket operations and I wanted to meet and pick their brains first hand.
The conference was located in the outskirts of the city at the CEU Universidad San Pablo, a local university. It was a pretty little school,
The conference itself was inside a very comfortable lecture hall. The nice thing about it being inside an university was the wireless in the room was more than capable of handling the incessant wireless needs of the people that registered. Only drawback was the lack of enough power outlets, but compared to the cramped spaces of some other conferences, it was remarkable to be able to sit in a comfortable lecture hall designed to accommodate so many people. I would definitively recommend future conference organizers to skip hotel rooms and book straight with universities.
We were welcomed to the conference and told about the heroics of Sergi Almar, putting together the speakers list and finding alternative rooms once the number started coming in. The night before the conference, 425 people had signed off and people were still calling in inquiring about being able to come without reserving. The final number in the room seem to suggest about 200 people coming in and out. The conference was definitively beyond my expectations and very professionally put together.
Graeme Rocher on Spring and Grails
First off was Graeme’s talk of the relationship between Grails and Spring, from my notes:
- Grails is Spring
- Dispatcher is Spring MVC
- Controllers are Spring managed beans
- if you implement ApplicationContextAware, you can then get the ApplicationContext.
- Grails domain classes extend normal Hibernate session factory
- you can use raw hibernate API / Criteria syntax
- Underneath, Grails is Spring MVC + hibernate
The interesting piece about this presentation I found was on the questions being asked. Note these questions are paraphrased and simply represent my hazy sleep deprived recollection aided by notes.
Plans for Spring Roo and Grails?
Rooshell is more advanced, looking to integrate features of Rooshell into Grails console.
Are there any examples of Grails integrating with existing large Spring / Java systems?
LinkedIn has a complex system with over 3 million lines of code. It takes about 40 minutes to just start up the system on any machine. With Grails, they get instant reloads and happier developers.
Is Groovy slower than Java?
Yes, groovy is slower than java because it is a dynamic language. However, very large websites exist out there built on dynamic languages like PHP and Ruby. They scale. If you’re gonna have problems, these are going to happen at the IO level of your application, at database access, etc. Not at the programming language level.
Any plans to support noSql?
Yes, this is in their roadmap and there is work being done this year with nosql datasources. Guillarme Laforge is doing some work on this.
Support for Lucene / Solr?
Graeme showed the Compass integration available via the Searchable plugins page. He also mentioned that while there was a Solr plugin in progress ( I think there are two, Mike Breevot’s Solr and another SolrJ project ), he hasn’t used them much to comment on them. This question was interesting to me because of Marc Palmer’s recent comments on the mailing list that Searchable is too important a plugin to remain abandonware. Hopefully, SpringSource can pick it up and make it part of their sponsored plugins.
Sergi Almar – Taking advantage of the web layer with Spring 3
Our first talk in Spanish. When Graeme asked about how many people didn’t understand English, a surprising majority raised their hand. Sergi covered a few of the new converters, REST support, content negotiation and AJAX support in Spring 3. It was interesting to see that Spring now supports Feeds. As a Spring rookie, this talk was interesting to me to show the differences between the Grails syntax and Spring native syntax.
Escuela de Groovy – Groovy and Grails, taking the red pill.
Escuela de Groovy is an interesting story. They are a company that is six months old formed to provide training and support in Spanish on Groovy and Grails. Nacho Brito, one of the founders, is the author of the Manual de Desarrollo Web con Grails, which is the first Spanish book on Grails and the first one to update its contents to Grails 1.2. This book is very interesting in that you can buy one copy and give it to all the developers of your company. They also give a free Groovy and Grails training workshop every month.
Álvaro Sánchez-Mariscal introduced the niceties of Groovy and Grails and laid out three different levels of integration by which businesses could incorporate Grails into their infrastructure.
- Grails as just a view replacement in MVC.
- Grails as partial integration with Java.
- Full Grails integration – plugin structure, repositories, build system, the whole shambawamba
He also had this brilliant slide:
Comparison Java EE Grails ---------------------------------------------------------------- Quickly start a new project no yes No XML Configuration files no yes Program and don't have to restart no yes More than 300 plugins no yes Enjoy your job again no yes ----------------------------------------------------------------
Nacho Brito then went to announce the campus.escueladegroovy.com initiative. Basically this is an online training for Grails and Groovy geared towards individual developers in Spanish.
This is definitively a very exciting opportunity. You get a whole Grails course for €200 that you take at your own page. I wish we had initiatives like this in English when I was starting to learn Groovy and Grails.
They went on to have an architect from a local Spanish municipal government from Victoria-Gsomething to speak on the success of adapting Grails in their Java infrastructure. Overall, a very good talk on using Grails as more of a business case and adapting them into the local market. I would definitively like to see more talks like this in this year’s gr8 or Groovy and Grails Exchange conferences.
Joris Kuipers – What is happening in Enterprise OSGi?
Having only heard about OSGi in the back alleys of nerd kingdom, it was very refreshing to have a full explanation of the history and progress of OSGi. It’s pretty interesting technology and Joris Kuipers is definitively a very engaging speaker for the subject. You can catch him at the JAX London Conference too.
Jobsket – Maximum productivity with Grails and Java
Jobsket is a three person startup that provide a very innovative platform for managing and cataloguing CVs. Their engine scans the skillsets of a candidate and checks it against different jobs posted to provide intelligent analysis of a CV. It’s all very cool and much more beautifully done and extensive than a simple cv search site.
The team at Jobsket described their history with learning Groovy and Grails, and how they delivery kept certain parts of their systems written in Java instead of using Groovy. They shared some of their insights building a complex CV scanning, recommendation and search infrastructure. It was overall a good, informative working case study of Grails being used in production, and the growing pains associated with starting with Grails 2 years ago.
[ Unfortunately, I didn’t really get a chance to pay much attention to the next 2 talks as I was focusing on getting the last bits ready for my own presentation ].
Tomas Lin – Flex 4 and Grails
This presentation was pretty much the same as the one I gave in December at the Grails Exchange and in Copenhagen a few weeks ago. Well, except in rusty Spanish.
I added a few demo videos from the new mobile focus by Adobe, showing some of the Apps built on the iPhone, Android and tablet. I also updated the presentation to include a Flex Scaffold example. I’ll clean this all up and publish it here in subsequent days. Hopefully this will be the last time for this talk, there doesn’t seem to be enough interest in the Grails community for Flex anyways.
I did meet Ignacio Cases during this conference, he is a doctoral student doing some pretty amazing work using Flex visualizations and applying them to complex analysis of Mayan writing systems.
Joris Kuipers – Clouds for Mere Mortals
Joris Kuipers walked us through all the different options on clouds, why they are relevant and why they provide some nicer alternatives than your local IT guy. Cloudfoundry was highlighted in this talk, and they kindly donated 48 hours of free time to any attendee interested in trying the service.
The best part about speaking at these type of conferences is that you get to really pick the brains of the speakers that you get to sit and talk with. Graeme unfortunately couldn’t join us for lunch, but I had a very interesting time talking to the other speakers. It gave me a nice glimpse of the work conditions and expectations for developers in Spain ( unfortunately more grim and less creative than in the UK or North America ).
One thing that Nacho Brito highlighted to me is the important was the ability to have content in one’s own language to learn and understand complex systems. I remember wanting to learn to program computers and only finding one badly written book on Pascal in Spanish when I was a young teen. Apress and Manning are really missing out by not providing Spanish translations for books like Grails in Action.
Afterwards, I had a chance to go for dinner and beers with a group that included Sergi Almar and Joris Kuipers. It was very neat, for example, to sit with one of the Roo committers and ask him to flesh out a little bit more about what Graeme meant by the Rooshell being more robust than the Grails shell. I definitively have a better appreciation of some of the other Spring offerings and may even try them more some day.
Overall, this was an highly informative, well organised and incredibly ran conference. It’s quite inspiring to see some of the grass root evangelism efforts that are driven by some of these community members. If SpringSource/VMWare was smart, they should definitively invest in fostering them more to bring Spring / Grails into different local communities.
Now I’ll just have to start practicing my Mandarin to try to give this talk somewhere in China.