Groovy & Grails Training

This course is taught by Object Partners Consultants with years of Grails experience. Every one of our instructors has been a part of several teams using Grails to build systems that are now in production so they know first hand the productivity and maintenance benefits of using Grails.

Day 1
We’ll walk through everything you’ll need to get up and running with a Grails application. We’ll cover all of the application layers and explain each of them in detail.

  • Groovy Intro: In this section we’ll run through a whirlwind tour of the Groovy language. In particular we’ll differentiate Groovy from Java. Syntax and code style will be covered and we’ll introduce closures and the meta-object protocol.
  • Intro to Grails: In this section you’ll build a simple Grails application from scratch. We’ll demonstrate how easy it is to get up and running with Grails while explaining key concepts to the framework. You’ll see how Grails implements the MVC pattern simply and elegantly, and how it relates to Java frameworks like Spring and Hibernate.
  • Intro to GORM: GORM (Grails Object Relational Mapping) provides an easy-to-use ORM for Grails applications built on top of Hibernate. In this section we’ll go over the methods used by GORM to query and update your datastore from a Grails application.
  • Advanced GORM: In this section, we’ll revisit GORM to walk through topics like database migration and multiple datasources. You’ll learn some of the tricks you can use to optimize your ORM mappings as your application grows.
  • Config/Logging/Plugins: In this section, you’ll see the simplicity of configuration and logging in the Grails framework. We’ll also show how the Grails plugin ecosystem provides a huge variety of ready-made functionality that you can easily incorporate into your application. We’ll walk through a simple plugin installation and see the ways that a plugin can modify your Grails application.
  • Controller basics: Here you’ll see how Grails provides simple methods and powerful tools for processing requests and preparing responses. We’ll cover parameter binding, redirecting, preparing your model for the view and simple error handling.

Day 2
We’ll take a deeper dive into the Grails application. You’ll get a better understanding of how the various components work and learn about how to structure your application for maintainability and performance.

  • Groovy Meta-programming: After having a chance to explore dynamic finders, you’ll see how Grails uses runtime and compile time meta-programming under the covers
  • Testing: Testing is a key component of any application and is baked right into the Grails framework. Here we’ll cover some of the tools Grails provides for unit and integration testing. You’ll see how the Groovy language makes for simple mocking and Grails’ built in methods simplify testing the framework’s layers.
  • Services: Here we’ll cover the service layer of the application. You’ll see how Grails makes creating and wiring services incredibly simple and powerful. We’ll walk through best practices in this layer and some of the gotchas.
  • Advanced Controllers: We’ll go back to the Controller layer to cover more advanced topics such as Command objects and converters. You’ll see how Grails uses Spring to allow for complex validation schemes without polluting your domain objects and various formats that you can use to interact with your view layer.
  • The View Layer: Here you’ll get a look into how Sitemesh is used to create views. You’ll see the various types of tag libraries available to you as we take a deeper dive into creating and using tag libraries to simplify your view layer.
  • Designing and creating restful web services in Grails. We will cover what Grails gives you out of the box and show you how to customize to meet your needs

Day 3
We’ll spend day 3 digging into topics of your choice. We have many additional topics available, and want to make sure that you have time to discuss what’s important to you. We’ll use agile methodology to prioritize the topics most important to the class and cover as much as we can in the day. Topics for day 3 could include:

  • RESTful Web Services
  • Advanced Groovy
  • Filters
  • Security
  • JMS messaging / queues
  • Writing plugins
  • Caching
  • URL Mappings

Instructors

Jon DeJong

Jon has been professionally developing software since 1999, and hacking since he first found a command prompt. Since 2002, he has been architecting, developing, and deploying mission-critical enterprise applications. Jon is a huge believer in finding the right tool for job, and as such is a big proponent of robust open source technologies. In his spare time, Jon designs and builds mobile games, runs, rides his bikes, and falls over on snowboards. Given a 25th hour in the day, Jon would write another unit test (or 10).

Jeff Sheets

Jeff has developed Java, Groovy, Grails, and HTML/Javascript web apps for multiple Fortune 500 companies in industries as varied as Defense, Transportation, Energy, Weather, and Telecom. Jeff has focused on full stack web application development from database to user interfaces. He has worked on Grails projects since the Grails 1.1 days, and has experience with production Groovy code as well as Spock tests and Gradle builds.

Andy Miller

Andy’s expertise is both technical and organizational. Though he started his computing career using TECO macros to translate programs from PL/1 to VAX basic, today his technical work most often focuses around the Grails/Groovy/Java platform.

Andy received a B.A. in Mathematics and Computer Science from Gustavus Adolphus College and an M.S. in Computer Science from Kent State University. He lives in St. Paul, MN and as a Principal Consultant at Object Partners he helps clients throughout the region with software development, technical leadership, development process re-engineering, and mentoring. His professional interests include getting the job done and avoiding nasty surprises.

Jeff Palmer

Jeff is a Sun Certified Java Developer who has been focused on the Groovy ecosystem for the past six years. Jeff developed his first Grails application in 2008 for the City of Chicago and has been hooked ever since. Passionate about technology, Jeff cofounded the Chicago Groovy User Group in 2010 and has enjoyed learning about various aspects of Groovy, Grails, Gradle, and Spock. As a native of Boston, Jeff has been spoiled by the local sports teams with all four major teams winning at least one championship in the past decade. When he’s not writing code, Jeff enjoys spending time with his children, reading and exploring new places. Jeff received his B.S. in Biology from Boston University and a M.S. in Computer Science from DePaul University.

Jacob Severson

Jacob is a professional technology addict, developing large-scale applications with [mostly] JVM technologies. He has worked with companies and teams of various sizes and enjoys helping others with the extensive knowledge he’s gained in the trenches (and countless nights hacking). Over the past several years he has been focused on delivering scalable systems composed of technologies such as Grails, Spring Boot, Gradle, Spock, and many more.

Next Training Session

Screenshot 2015-09-30 11.18.45

      February 24-26, 2016
      Object Partners Headquarters
      1515 Central Avenue
      Minneapolis, MN 55413