PacktLib: Enterprise Application Development with Ext JS and Spring

Enterprise Application Development with Ext JS and Spring


About the Author


About the Reviewers


Preparing Your Development Environment

Installing MySQL

Installing the Java SE Development Kit (JDK)

Installing the NetBeans IDE

Introducing Maven

Creating the Maven Web Application project

Starting the GlassFish 4 server

Running the Task Time Tracker project


The Task Time Tracker Database

Connecting NetBeans with MySQL

The 3T database

Enterprise options for the 3T database


Reverse Engineering the Domain Layer with JPA

Understanding the reasons for using JPA

Understanding JPA implementations

Reverse engineering with NetBeans

Introducing the persistence.xml file

Refactoring the Java classes

Introducing the Java Persistence Query Language

Refactoring Java equals() and hashCode()


Data Access Made Easy

Defining the DAO interfaces

Defining the generic DAO implementation

Defining the DAO implementations

A better domain layer

Exercise – a simple change request


Testing the DAO Layer with Spring and JUnit

Unit testing overview

Configuring the test environment

Introducing the Spring IoC container

Defining a test case superclass

Defining the CompanyDao test case

Running the JUnit test cases with Maven

JPA traps for the unwary



Back to Business – The Service Layer

Service layer considerations

Building the service layer

The service layer interfaces

Implementing the service layer

Testing the service layer

Automating the service layer tests



The Web Request Handling Layer

A brief history of Web MVC

Request handling for enterprise web applications

Building the request handling layer

Creating the request handlers

The Spring HandlerInterceptor interface

The Spring MVC configuration

Defining the TaskLogHandler class

More on Spring MVC



Running 3T on GlassFish

Configuring the 3T web application

Configuring the Maven pom.xml file

Adding to the persistence.xml file

Adding the logback.xml file to your resources directory

Configuring the GlassFish server

Running 3T

Managing GlassFish without NetBeans


Getting Started with Ext JS 4

The importance of application design

Ext JS 4 MVC concepts

Ext JS 4 design conventions and concepts

Practical conventions

The Ext JS 4 development environment

Generating the 3T Ext JS 4 application skeleton

Creating components using Sencha Cmd


Logging On and Maintaining Users

Layouts, screens, and workflows

Building our views

Models and persistence

Controlling the Logon and Viewport actions

Controlling our user views

Let's log on!

Let's maintain users


Building the Task Log User Interface

Task log workflows and layouts

Building our task log views

Defining our models

Defining our stores

Controlling the TaskLog actions

Testing the task log interface


3T Administration Made Easy

Administration workflows and layouts

Building the 3T administration interface

Generating a JSON tree in the CompanyHandler class

Controlling the 3T administration

Testing the 3T administration interface

Dynamically loading tree nodes

Displaying multiple tree columns

Drag-and-drop made easy


Moving Your Application to Production

Compiling with Sencha Cmd

Ext JS 4 theming

Compiling for production use

Integrating Sencha Cmd compiling with Maven

Adding the build version and timestamp

Building a slimmer WAR file

Deploying the WAR file to GlassFish

GlassFish performance tuning and optimization


Introducing Spring Data JPA