Use Cases of #Grails in Web Applications
- Type of applications most appropriate to be developed in Grails
- Type of applications where Grails may not be the best choice
- Experiences with Grails during several web application development projects
7. Grails Introduction
• Web Development framework inspired by Ruby
on Rails
o Convention over Configuration
o DRY – Do Not Repeat Yourself
o More focused on domain objects than Rails
• Underlying Libraries:
o Hibernate
o Spring
o SiteMesh
o Quartz
o J2EE / Servlet
8. Why Grails ?
•
•
•
•
JVM based
Groovy’s fast learning curve
Based on Spring, Hibernate, sitemesh
Productive
o
o
o
o
Lot of CRUD fucntionality scaffolding
GORM
Agile development, fast prototyping
Environment specific properties
9.
10. Plugins
• A core concept in Grails
– Unit of Functionality
– Unit of Reusability
– Unit of Integration
• Creating a plugin is almost identical to creating an
application
• Over 700 Plugins in all sorts of areas
– Central Repository
– http://grails.org/plugin/home
13. More plugins..
• Spring security
o Authentication and Authorization
• Mail plugin
o mailService which has the send mail method
o Injected into all the controllers
• Jquery
• Test Code Coverage Plugin
o Cobertura
o grails test-app-cobertura
• Grails REST Plugin
• Joda time
17. Mobile apps
• Exposing rest services is easy in Grails
// Automatic marshalling of XML and JSON
import grails.converters.*
…
render Book.list(params) as JSON
render Book.get(params.id) as XML
21. Issues with Grails
• Performance intensive core backend systems
• Unnecessary objects created in groovy. This triggers garbage
collection frequently.
• Garbage collection generally makes applications slower which
is not convenient.
•
Need to give more memory to Permgen space than a java
application
23. Companies using Grails
Atlassian
Big Lots – core site
CollabNet – web interface to SVN server
Dell - Enstratius
Disney
eHarmony
EMC
Epic Games
Ericsson
ESPN
Fidelity Investments
IEEE
LinkedIn – Recruiter application
LiveNation – TicketWeb
Live Gamer
Lucasfilm
Nissan – Leaf site
Nokia
Qualcomm
Symantec
T-Mobile – internal apps
Lyris
MoneyGram
MTV (and Viacom by extension)
Netflix – Asgard, their Amazon EC2 cloud
management app, now open sourced.
Volkswagen - UK site
Walmart – MP3 streaming site (now defunct)
The Washington Post
Wired.com
Sky – (UK) TV listings, movies, and showbiz
sites
Vodafone Music – (UK) core site
24.
25.
26.
27. Enterprise Web Apps
Application Design and Development
Application Design and Development
Middleware Development
Middleware Development
Back End Integration
Back End Integration
Highly Scalable Applications
Highly Scalable Applications
Custom Application Development
Custom Application Development
Rich Internet Applications
Rich Internet Applications
Technologies
-Scala (Language), Akka, Spray, Lift, Play
, HTML5, CSS3, Backbone.js, AngularJS
To introduce Grails.
-- Type of applications most appropriate to be developed in Grails
-- Type of applications where Grails may not be the best choice
-- Experiences with Grails during several web application development projects
How many of you know/don’t know grails ?
2m
What is an Enterprise application ?
Ask the audience…
1m
5m
Plugin architechture
Productivity statistics for grails
Before grails, after grails results
3m