Use Cases of #Grails in #WebApplications


Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 2m
  • 1m
  • 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 ?
  • What is an Enterprise application ?
    Ask the audience…
  • 5m
    Plugin architechture
  • Productivity statistics for grails
    Before grails, after grails results
  • 5-10m
  • Lets look at some examples to understand the same
  • Memory numbers comparison for java/groovy
  • Use Cases of #Grails in #WebApplications

    1. 1. Use Cases of Grails in Web Applications Sunil Prakash Inteti Xebia
    2. 2. SOFTWARE DEVELOPMENT DONE RIGHT Netherlands | USA | India | France | UK
    3. 3. Agenda • • • • • • • About me Expectation out of the session Grails Introduction Why Grails Common use cases - Grails plugins Issues using Grails Who is using Grails
    4. 4. • Sunil Prakash Inteti • Senior consultant, Xebia IT Architechts • 28 years • Bible • Worked with clients in US, Europe, Australia
    5. 5. Enterprise web applications
    6. 6. 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
    7. 7. 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
    8. 8. 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 –
    9. 9. Quartz class MyJob { static triggers = { cron name: 'myTrigger', cronExpression: "0 0 6 * * ?" } def group = "MyGroup" def group = "MyGroup" def execute(){ print "Job run!" } }
    10. 10. 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
    11. 11. • • • • • Simple Captcha Plugin Grails AWS Plugin Solr plugin Twitter plugin Cloud Foundry Integration
    12. 12. 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( as XML
    13. 13. grails install-plugin backbonejs
    14. 14. 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
    15. 15. Performance numbers METHOD JAVA [NS] Pojos 117.914 Quicksort 68.728 GRAILS[NS] 856.337 330.159 FACTOR 7.26 4.80
    16. 16. 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 Sky – (UK) TV listings, movies, and showbiz sites Vodafone Music – (UK) core site
    17. 17. 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
    18. 18. Contact us @ Websites Xebia India Thought Leadership Htto://