Training » All Courses » Java » JavaEE » GWT, Spring, and Hibernate

Course Summary

This intensive 5-day training course is designed to give students a jump start to enterprise Java web application development with best-of-breed software stack: GWT, Spring, and Hibernate

In this course, students will build Rich Internet Applications (RIA) using Google Web Toolkit (GWT) and connect with Spring-powered backend. Persistence is implemented with Hibernate object-to-relational mapping (ORM) framework.

Duration

5 days.

Objectives

At the end of the course, you should gain an understanding of GWT, Spring, Hibernate and associated technologies and be able to:

  • Develop browser-based web applications using GWT
  • Use Spring service components for implementing the back-end business logic
  • Make use of Spring’s support for transactions
  • Code the persistence tier in Hibernate annotations framework
  • Leverage from Hibernate validator framework to validate the domain classes
  • Unit test GWT, Spring and Hibernate out-of-the-container using JUnit

Audience

Developers interested in developing Rich Internet Applications (RIA) with GWT and leverage from Spring-powered Java EE apps in the middle tier and Hibernate in the persistence tier.

In order to get the most benefit from this training students must have experience with developing core Java applications. Familiarity with SQL and general web-app development concepts is a plus.

Additional Notes

About the Instructor

Photo

Kunal Jaggi is a rock-star Java consultant, trainer and author. He primarily focuses on enterprise solutions with Java-based Web technologies.

Kunal is the author of SCWCD Exam Guide with Java EE 5, published by McGraw-Hill. His second book on IBM WebSphere MQ is slated to be published by June 2010. Kunal has been into IT journalism for over two years, and contributed over 50 articles on Java SE and EE platforms in leading IT magazines, namely PC Quest and Developer IQ. Kunal has also written for Sun Microsystems Developer Network (SDN) and O’Reilly’s OnJava.com. In the recent past, Kunal has done product endorsements for industry heavyweights like Oracle BEA Systems and Agitar Software.

Passionate about technology, Kunal supports Free and Open Source Software (FOSS) that fosters collaboration and innovation, which he promotes through numerous speaking engagements in the San Francisco bay area. He has evangelized about upcoming Java technologies at local Java user groups, IBM Center of Competency (CoC), Wells Fargo, Sun Life Financial, Sapient, HCL Technologies, BirlaSoft, and other organizations.

Kunal is a Sun Certified Java Programmer (SCJP) and Web Component Developer (SCWCD). He holds a bachelors and masters in Computer Applications degree, and HND in computing from EdExcel International, UK. His current area of focus is evangelizing Google Web Toolkit, AJAX technologies, cloud computing, SOA and implementing SOA applications with IBM WebSphere MQ and Message Broker. When not programming, Kunal can be seen reading fiction and watching action movies.

Outline

Day 1 - Spring Framework Fundamentals

Module 1 - Getting started with Spring

  • Introduction to POJO-based development with Spring
  • Spring v/s EJB 2 and EJB 3
  • Introduction to Spring containers- XMLBeanFactory and ApplicationContext
  • Introduction to Dependency Injection (DI)- XML and Annotations based
  • Simplifying application configuration with annotations
  • Spring bean lifecycle and scopes
  • Publishing events and callbacks

Module 2 - Implementing cross-cutting concerns with AOP

  • Introduction to AOP concepts like aspect, advice, joinpoint, pointcut and proxy
  • Implementing cross-cutting concerns with before, after and around advice
  • Annotation-based AOP implementation
  • AspectJ annotations

Module 3 - Handling Transactions

  • Introduction to declarative and programmatic transaction demarcation
  • Understanding Spring Transaction Strategies
  • Understanding and implementing transaction attributes
  • Applying Spring Transactions through AOP
  • Declaratively specifying rollback rules

Day 2 - Front-end Development with GWT

Module 1 - GWT overview

  • Introduction to AJAX
  • Pros and cons of GWT
  • Comparing GWT with other web frameworks
  • Beginning GWT modules
  • Module inheritance
  • Deferred binding

Module 2 - Beginning GWT development

  • Creating Eclipse-based GWT projects
  • Developing host HTML pages
  • Building and Deploying GWT apps
  • GWT emulator- hosted mode and production mode
  • Debugging
  • CSS styling

Module 3 - Building User Interface with GWT

  • GWT widget library
  • GWT panels and layouts
  • Event handling
  • Timers
  • Internationalization

Day 3 - Advanced GWT

Module 1 - Accessing server-side data

  • Connectivity options
  • Introduction to RPC
  • Synchronous and asynchronous interfaces
  • Implementing Asynchronous Callbacks
  • GWT serialization process
  • Handling exceptions and validation (using Hibernate Validator)

Module 2 - Building user friendly web apps

  • Bookmarking web pages
  • Handling browser back button functionality
  • Cookie management

Module 3 - Miscellaneous topics

  • DOM management
  • 3rd party widgets
  • MVP design pattern
  • Integration with other web frameworks
  • Securing GWT apps
  • Performance concerns

Day 4 - Hitting the Database with Hibernate

Module 1 - Introduction to object-to-relational mapping

  • Understanding object-relational paradigm mismatch
  • Introduction to ORM tools

Module 2 - Introduction to Hibernate

  • Persisting POJOs via Hibernate
  • Association, component and inheritance mappings
  • Hibernate transactions
  • Programming interceptors and events

Module 3- Beginning Hibernate Query Language (HQL) and Performance Optimization

  • Introduction to HQL
  • Criteria Queries
  • Batch processing with Hibernate
  • Best practices and performance improvements

Day 5 - Integration and Unit Testing

Module 1- Integrating Spring with Hibernate

  • Introduction to Spring's DAO philosophy
  • DAO exception hierarchy and HibernateDAOSupport
  • Spring callbacks and templating mechanism
  • Injecting dependencies through XML and annotations

Module 2- Integrating GWT modules with Spring beans

  • Introduction to Spring4GWT project
  • Developing RPC services
  • Handling asynchronous callbacks

Module 3- Unit testing

  • Introduction to Junit 4
  • Introduction to parameterized test cases
  • Unit testing Spring-based business logic
  • Unit testing Hibernate DAOs
  • Unit testing front-end GWT modules
  • Generating HTML test reports

Module 4 - Deployment

  • Compile and Build the application with Apache Ant
  • Deploying the application to Tomcat