J2 Course
Advanced Java Course - Groovy and Grails framework
System architects, system engineers, developers and analysts / programmers with at least three years experience in Java. It's also required understanding of the process of software development and programming in general, the ability to create, test and run programs independently (preferably in Java, C #, Ruby or Groovy).
Course Objectives
The purpose of this course is to provide Java developers an initial description of two existing frameworks Enterprise (Spring and Grails) and their integration into a web-based application context.

Programming principles of OO Design Patterns, TDD (Test Driven Development) and DDD (Domain Driven Development) will be used during the course. It will also provide a first introduction of the Groovy high-level object-oriented programming language which will be preparatory to the second part of the course on the Grails framework.

Minimum skills required:
  • Knowledge of Object Oriented and UML 2.1
  • Good knowledge of Java 5.0 or upper
  • Good knowledge of JavaEE and Web applications development
  • Knowledge of agile development methodologies
  • Knowledge of Test Driven Development
Optional Competencies:
  • Design or GRASP Patterns
  • Domain Driven Development (DDD)
  • Groovy Programming Language
  • A new paradigm of JavaEE application development
  • Lightweight framework concepts
  • Java 6.0
  • Dynamic languages
Spring basics
  • Inversion Of Control
  • Bean Lifecycle Management
  • Spring Application Context
  • Spring basics workshop
AOP with Spring
  • AOP Concepts
  • AOP in Spring (Proxies)
  • AspectJ Injection
  • AspectJ Integration
  • AOP workshop
Data Access with Spring
  • Spring JDBC Support
  • Using Hibernate in Spring Applications (DAO)
  • Data Access workshop
Spring in the Middle Tier
  • Transaction Management
  • Spring and J2EE
  • Job Scheduling with Spring (OS Quartz)
  • Middle Tier workshop
Web Applications with Spring
  • Spring MVC
  • Beyond JSP (Velocity, XSLT, Tiles.)
  • Spring and Struts
  • Web Applications workshop
Security Management
  • Managing authentication (Acegi)
  • Security Management workshop
Spring for Rich Web Applications
  • Spring Web MVC framework
  • Bean Lifecycle Management
  • Spring Application Context
  • Spring RIA workshop
Spring Roo
  • Presentation of the next-generation rapid application development tool for Java developer
  • Spring Roo workshop
Spring 3.0
  • Overview of new features and architecture of the new version 3.0 of the framework
  • Spring Application Tools:
    • Graphical Spring configuration editor
    • Spring 3.0 support including @Configuration and @Bean styles
    • Spring Web Flow and Spring Batch visual development tools
    • Spring Roo project wizard and development shell
    • Spring Application blue prints and best practice validation
  • Enterprise OSGi Development:
    • OSGi bundle overview and visual dependency graph
    • Classpath management based on OSGi meta data
    • Automatic generation of manifest dependency meta data
    • SpringSource Enterprise Bundle Repository browser
    • Manifest file validation and best practice recommendations
  • Spring 3.0 workshop
Groovy & Grails
Groovy Basics
  • Fundamentals of programming in Groovy
  • Meta Programming
  • Builders
  • Unit Testing with Mock Objects
  • Processing XML
  • Working with Databases
  • Creating your own Domain-Specific Languages (DSLs)
  • Grrovy workshop
Grails Development
  • Getting started with Grails
  • Domain Objects
  • Controllers
  • Views (Ajax)
  • URL Mapping
  • Creating Web Flow
  • GORM Concepts
  • Services
  • Integrating Grails
  • Grails development workshop
Spring & GRails framework integration in a real application context:
  • Spring & Grails
  • Grails & GORM (integration with Hibernate)
  • SpringSource Tool Suite (STS)
  • Framework integration workshop
At the end of the course
Participants will have acquired advanced knowledge of the following:
  • Knowledge of Spring framework 2.5 and 3.0 in a real application context as an example.
  • Knowledge and use of Spring Web MVC framework.
  • Using Spring Roo 1.0.
  • Familiarity with the Groovy object-oriented programming language.
  • Knowledge of Grails 1.0 framework.
  • Some XP practices and methodology of Test Driven.
  • Integration framework in an agile development approach and Domain Driven.
Training method
Theoretical and practical, or course elements will alternate theoretical illustration of specific cases and the demonstration of the Grails framework in the context of web application examples.
Delivery will be based on a practical-exercise, for which the exercises will be balanced on the basis of the relevance of the topics covered.
5 days full time (9.30 - 13.00)   (14.00 - 17.00)