Archive for the ‘Training & Certification’ category

Building Twitter with Grails

December 8th, 2009

I have been hearing good things about Groovy and Grails for quite a while now without really knowing much about either. The aquisition of the company that developed Grails (G2One) by Spring Source in late 2008 has naturally added some weight to the Grails movement. Having grown tired of standing, eyes glazed over, as others discuss the advantages delivered by Grails I decided I would learn more.

One of the more popular demonstrations of Grails is that delivered by Graeme Rocher in which he demonstrates building an application similar to Twitter using Grails. A webinar of this demonstration is available for download from the Spring Source website.

The webinar runs for just over an hour and begins by giving an introduction to Grails, what it is, what it hopes to deliver and how it delivers it.  This includes how Grails leverages existing technologies such as Spring, Hibernate, Sitemesh and Groovy.  Graeme then gives a brief history of Grails explaining its inception in 2005 through to acquisition by Spring in 2008 before using download metrics to give an indication of the current adoption of Grails (70,000 downloads per month at the end of 2008).

The core of the webinar is focused on the demonstration of building Twitter with Grails.  Graeme starts by introducing the Grails command line interface and uses it to build the initial project directory and file structure.  He gives an tour of the directory structure explaining what goes where before proceeding to install the Spring Security (acegi) plugin for Grails.  The functionality provided by this plugin includes the generation of the authentication domain model, authentication manager and login\registration process (user interface and controllers).

Graeme then demonstrates the creation of additional domain model objects to which he adds associations and constraints.  In order to manipulate the additional domain objects, Graeme creates a controller and associated view (.gsp file).  This controller and view facilitates posting a tweet and displaying a history of tweets.

Graeme then proceeds to install and demonstrate the use of the Searchable plugin which facilitates searching for domain objects using criteria queries.  This also requires overriding the default view of the searchable plugin.  The Searchable plugin and associated view modifications allow the user to add people who they are interested in hearing tweets from.

If someone who the current user is interested in adds a tweet, a JMS message is sent to notify them (update their tweet history) that a new tweet has been added.  The JMS functionality is delivered via an activemq plugin which is installed through the Grails command line interface.

Graeme then demonstrates exposing the same tweets via RSS and XML using the same controller that handles web requests.

The key features of Grails are specified as:

  • Plugins to let you rapidly compose an application
  • Plugins that use convention over configuration
  • Not only a web framework but an entire platform (JMS support etc.)
  • Plugins to enable testing (Selenium, Fitness, Code Coverage etc.)
  • Rich Grails (Flex, GWT, Grails UI\Yahoo UI etc.)
  • Secure Grails (Spring Security, JSecurity OpenID)
  • Integrate Grails (Search, Jasper Reports, JMS)

This was a good introduction to Grails, the command line interface, project conventions and the plugin system.  It has piqued my interest sufficiently that I will spend a bit more time (when I have it!) progressing through some of the many Grails tutorials.


1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars (No Ratings Yet)
Loading ... Loading ...

Spring Source ‘OSGi and Modular Applications’

November 24th, 2009

OSGi is a dynamic module system for Java which has been gaining quite a lot of publicity in recent times.  One of the most well known OSGi implementations (Equinox) is used within the Eclipse project to provide its plugin architecture.  Spring Source are full members of the OSGi Alliance and have shown their commitment to OSGi with the development of the Spring Source dm Server and Spring Dynamic Modules.

Spring Source have recently added the OSGi and Modular Applications training video to their free online training offering.  I was eager to learn more about OSGi and what Spring Source were doing to simplify OSGi in the same way it has with much of enterprise Java.

The training video lasts for just over an hour and provides an overview of OSGi, Spring Dynamic Modules and Spring Source dm Server.  It starts with a history of OSGi and the OSGi Alliance and provides some information related to OSGi bundle visibility, the OSGI bundle lifecycle, the OSGi service registry and the OSGi container.

The video then proceeds to a demo entitled ‘Using plain OSGi bundles to share types and services’.  The demo uses Spring Source Tool Suite to develop an OSGi bundle which exports a service and then deployes the bundle to the dm Server.  It then demonstrates the development and deployment of another OSGi bundle which imports the service provided by the previous OSGi bundle.

Next, there is an introduction to OSGi and Spring which focus on Spring Dynamic Modules and how it simplifies OSGi development in the same way that the Spring Framework simplifies enterprise Java development.  A demo entitled ‘Using Spring Dynamic Modules to share types and services’ highlights how Spring Dynamic Modules provides dynamic proxies to services that have been exported to the OSGi service registry.  It also demonstrates the use of the OSGi namespace to configure the OSGi services within the exporting and importing bundle.

We are then introduced to some of the issues surrounding enterprise OSGi including incompatible classloading models, lack of web support, appropriate deployment models and lack of enterprise library bundles.  This is very useful as it highlights some of the obstacles to be overcome before introducing OSGi to the enterprise.  OSGi architectures and partitioning strategies are also discussed highlighting the characteristics of vertical and horizontal partitioning as well as partitioning granularity.

The final demo is ‘Developing a multi-bundle web application with Spring Source dm Server’ which demonstrates a web application consuming OSGi services.

Overall, the training video provides a useful introduction to OSGi and OSGi development using the Spring technology stack.  As with the previous free training video the quality of the material was very good and it was presented in a clear and concise manner.


1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars (No Ratings Yet)
Loading ... Loading ...

Spring Source ‘Developing Aspects with AOP’

November 11th, 2009

I have previously posted some comments about my experience attending the Core Spring training.  Recently I noticed that Spring Source provided a free online training titled ‘Developing Aspects with AOP‘ and decided I’d take a look.

The training is in the form of a Quick Time movie which can be downloaded from the Spring Source community website.  One of the first things that is pointed out is that the training is based on material from the 4-day Core Spring course and having attended the course I can say that it is indicative of the presentation and content on the course.  If you are considering attending any of the Spring Source courses I would recommend viewing this online training to give you some idea of what to expect.

The ‘Developing Aspects with AOP’ online training takes just over 50 minutes to watch and starts by providing a background to AOP, the problems it solves and the advantages of using AOP to solve these problems.  Code tangling and scattering are discussed along with good examples of each using sample code.

The training goes on to introduce AspectJ and Spring AOP and introduces some key concepts such as Join Points, Pointcuts, Aspects and Advice.  A simple scenario is outlined and expanded upon to demonstrate applying Spring AOP to log method execution.  Some examples of using the AspectJ pointcut expression language are also provided.

Examples of accessing context information from within an Advice are worked through before describing the types of Advice that can be applied with Spring AOP.  Finally the training demonstrates the difference of applying Spring AOP using annotations or XML.

If you are interested in Spring and Spring AOP, this material is well worth 50 minutes of your time.  I think it complements the reference documentation and for someone new to AOP I would recommend viewing the online training prior to reviewing the reference documentation.  The reason I say this is that the reference documentation goes into more depth in certain areas, particularly the subtle nuances of Spring’s proxy based AOP.


1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars (No Ratings Yet)
Loading ... Loading ...

Spring Source Certified Spring Professional

October 28th, 2009

Having used the Spring Framework for several years and having taken other Java certifications I decided that it would be worthwhile to take the Spring Source Certified Spring Professional certification.  Demand for Spring knowledge and experience has increased over the years and more and more development roles require a background in Spring.

In order to be eligible to take the certification exam you have to be able to demonstrate that you have made a contribution to the Spring community (forum posts, articles, raised JIRA or submitted patches) or have taken the Spring Source Core Spring course.  Given that I had taken the Core Spring course I was eligible and received an exam voucher to take the exam.

To prepare for the exam I decided that I would read through the reference documentation and work through the slides and practicals provided at the Core Spring course.  I felt that this, along with my previous experience with Spring would suffice.  In hindsight, I felt the review of the slides and practicals from the Core Spring course was most helpful and the material was easier to recall because the practicals reinforced the slide material.

The exam itself was reasonably tricky.  I think the main reason for this was the scope of material covered which was quite extensive.  That said, the questions fell within the syllabus and all the material was covered by the Core Spring course material.  Thankfully I passed and am now a Spring Source Certified Spring Professional so await a deluge of job offers!!

NOTE: I cannot provide copies of the course material and will ignore any requests for same.


1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars (No Ratings Yet)
Loading ... Loading ...

Spring Source – Core Spring Training

October 27th, 2009

The Core Spring training course delivered by Spring Source is their flagship training product covering a significant proportion of the functionality provided by the Spring Framework and Spring Security libraries.  I had been considering taking this training course for some time and given that Spring Source began delivering the course in Ireland and I had some free time I registered for a course in July 09.

The course is run over 4 days and the Spring Source website provides a detailed breakdown of the course content.  Going into the course I had several years experience working with the Spring Framework so many of the topics were already familiar to me.  What I wanted to get out of the course was to reinforce the knowledge I already had, find new ways of accomplishing the same tasks and to explore areas of the framework I had not yet touched on.  I also wanted to take the associated certification.

The course itself was very well delivered and included a hard copy of the course slides and a USB memory key which contained all the material required for the course.  This was extremely useful as you could take away the practical labs and instructions (provided in PDF) and undertake these in your own time.  This was to prove even more helpful when later studying for the certification exam.

Given the well defined structure of the course, the material covered followed the syllabus closely but there was ample time to explore different ways of accomplishing the same task.  The instructor was very knowledgeable about what would work in the real world and what the trade offs were when choosing one method over another.  It was clear that the instructor not only knew the training material well but was very experienced in using the Spring Framework to deliver real world applications.

Even though I already had several years experience with the Spring Framework I found the course was beneficial and I was able to apply some of the things I learned straight away.  It would be possible to learn the same from the reference material and forums but the manner in which the course was delivered made the learning painless.  The 50-50 split between lecture and practical also really helped to reinforce the key concepts.

NOTE: I cannot provide copies of the course material and will ignore any requests for same.


1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars (No Ratings Yet)
Loading ... Loading ...