Beginning POJOs

Beginning POJOs is a course based on the popular book by Integrallis instructors "Beginning POJOs". This course covers the creation of lightweight Java Web applications using the best of breed tools and frameworks available from the open source community. Beginning POJOs introduces you to open source lightweight web development using Plain Old Java Objects (POJOs) and the tools and frameworks that enable this.

Tier by tier, this course guides you through the construction of complex but lightweight enterprise Java-based web applications. Such applications are centered around several major open source lightweight frameworks, including Spring, Hibernate, Tapestry, and JBoss. Additional support comes from the most successful and prevalent open source tools: Eclipse and Ant, and the increasingly popular TestNG.

This course is ideal if you're new to open source and lightweight Java. You'll learn how to build a complete enterprise Java-based web application from scratch, and how to integrate the different open source frameworks to achieve this goal. You'll also learn techniques for rapidly developing such applications.


Session Agenda

Sessions begin at 9AM and end at 5PM. Attendees must bring their own laptop.

Day 1

  • Beginning Eclipse
    • With the right combination of open source plug-ins you can improve and streamline the development of JEE applications.
  • Beginning Ant
    • Learn the importance of having a solid build system in place and the basics of the Ant build tool.
    • Craft a reusable Ant build to automate the building process of a real J2EE application.

Day 2

  • Introduction to ORM with Hibernate
    • Learn when and why to use these technologies and how Hibernate implements a superior ORM framework for the Java platform.
    • Object-Relational Mapping
    • Hibernate Core Concepts
    • Hibernate Architecture
    • Overview of the Persistence Lifecycle
    • Hibernate Mappings
    • Configuring Hibernate
    • Working with Persistent Objects
    • Object Identity, the importance of equals() and hashcode()
    • Simple Relationships
    • Unidirectional and Bidirectional Relationships
    • Working with Collections
    • Introduction to HQL - The Hibernate Query Language

Day 3

  • Beginning JBoss
    • JEE Refresher
    • JBoss Architecture Overview
    • Installing and Configuring JBoss
    • Java annotations
    • EJB3 Introduction
    • Service Objects
    • Stateless Session Beans
    • Configuring Hibernate in JBoss
    • Implementing the DTO Pattern with DynaDTO
    • Lab: Implementing the application Service Layer
    • JBossMQ and Message-Driven POJOs
    • Security in JBoss

Day 4

  • Spring Basic Concepts
    • Introduces the concepts of Spring as a meta-framework, Dependency Injection (D-I), declarative configuration and application wiring.
    • Hands-on portion will introduce the IoC container and the usage of Bean Types, Bean Factories, Configuration metadata, DI methods, Bean Wiring and autowiring.
  • Web Applications with SpringMVC
    • Develop MVC-based applications using the Spring framework full-featured MVC module.
    • Pluggable MVC architecture and it enables the use of different view technologies.
    • Learn the concepts behind the SpringMVC framework and take a simple POJO based application to the web.

Day 5

  • Tapestry Basics
    • Why Tapestry?
    • MVC and Tapestry
    • Tapestry Architecture Overview
    • Tapestry 4 Features
    • Installing and Configuring Tapestry
    • Tapestry Application lifecycle
    • Tapestry Hello World
    • Tapestry Pages and Templates
    • Linking your pages
    • Using Components in your Templates
  • Beginning Testing with JUnit and TestNG
    • Properly Classifying you tests
    • Testing in the development cycle
    • Introduction to JUnit
    • Introduction to TestNG
    • TestNG Groups
    • Dependent Test Methods
    • TestNG Eclipse Plug-in
    • TestNG Reports
    • TestNG and Ant
    • Testing against the Database
    • DbUnit
    • Mock Objects with EasyMock 2