CTI Home Page
UWM Home Page Lubar School Home Page SAP UCC Home Page Search UWM
University of Wisconsin-Milwaukee

Center for Technology Innovation


Program Detail

►CTI Home Page
►About CTI
►Custom Programs
►Decision Lab


Center for
Technology Innovation
PO Box 742
Milwaukee, WI   53201
Lubar Hall N334

PHONE: 414-229-3939
Fax: 414-229-4477

Please direct questions and comments to:

Last updated July 20, 2007

Groovy and Grails Programming

featuring Sang Shin, Jpassion.com

Thursday, May 22, 2014

8:30 AM - 4:30 PM
Breakfast and check-in at 8 AM
UWM Lubar School of Business
Lubar Hall, Room N146

Printable Brochure

A full-day workshop presented by Sang Shin.


If you've been building Java Enterprise applications using either Spring framework or Java EE, you should look into Groovy and Grails as an alternative framework. Groovy and Grails can give you 100% productivity gain out of the box without sacrificing the quality of the application. Besides, Groovy and Grails is built with Java in mind, so it provides complete compatibility with existing Java libraries. The goal of this one-day workshop is to give you a solid foundation for getting started with your first Groovy and Grails project.


Given the time constraints, we might not be able to cover all the topics mentioned below. The presentation slides and hands-on lab exercises will be provided for all the subjects, however, so that attendees can review them later.

• Groovy Language Basics. What is and why Groovy?, Groovy syntax, Differences from Java, Refactoring Java code into Groovy code, Inter-operating with Java, Groovy Ecosystem, What is and why Groovy closure?, Method vs. Closure, Groovy meta-programming

• Grails Basics. What is and why Grails?, Getting started, Grails MVC framework, Scaffolding, IDE support

• Grails Domain Class and GORM (Grails Object Relational Mapping): What is domain class and what is GORM?, CRUD operations, Dynamic finders, Validations, Error messages, Domain class unit-testing, Custom O/R mapping, Events, Automatic time-stamping, Querying (Where queries, Criteria queries, Detached Criteria, Named queries, HQL queries), Locking, Table generation strategy, database support, Database migration, GORM and MongoDB

• Grails Controller: Controllers and actions, Scopes, Models and views, Rendering, Controller interceptors, Redirecting, Data binding, XML and JSON response

• Groovy Server Pages (GSP): GSP basics, GSP tags, Templates, Layouts using SiteMesh, Custom tag libraries, Static resource management, Ajax calls

• Grails Service: What is and why Grails service?, Create/inject/use a service, Declarative transaction, Service scope, Exposing services

• Grails Plug-ins: What is and why plug-ins?, Plug-ins installed by default, Installation/usage of plug-ins, Creating a plug-in, Packaging a plug-in

• Grails Testing: Grails test support, Unit testing, Spock testing framework basics, Spock for Grails testing, Geb basics, Geb for Grails functional testing, Integration testing

• Grails Deployment: Grails commands for running an application, Creating and deploying WAR file, Deploying Grails app over the Cloud, Continuous integration for Grails apps

About the speaker

Sang Shin is the founder and chief instructor at JPassion.com (formerly, JavaPassion.com), a popular online learning site that offers hands-on and self-paced online courses as well as live, instructor-led online code camps on Java technology, Java EE, Java development tools, Java performance, Spring framework programming, Groovy and Grails, Ruby on Rails, HTML5, JavaScript, jQuery, Web Services and SOA, MySQL, and Android. New courses such as Big Data and Hadoop and Node.js are expected to be added sometime this year. Before founding JPassion.com in 2010, Sang was the lead Java technology architect and evangelist at Sun Microsystems during the period of 2000. He frequently gives talks and teaches classes on these technologies to worldwide developer audiences. He also formerly taught graduate level software engineering courses at Brandeis and Boston University.

Who should Attend?

Developers and architects who want to explore a high productivity and yet a mature web framework should consider attending this workshop. Those with Java programming background are especially encouraged to attend. Some web application programming experience is expected but not absolutely required. Testers and system administrators will also benefit from the workshop.


Mark Srite, Associate Professor in Information Technology Management, Lubar School of Business, UW-Milwaukee