PacktLib: Enterprise Application Development with Ext JS and Spring

Enterprise Application Development with Ext JS and Spring

Credits

About the Author

Acknowledgments

About the Reviewers

www.PacktPub.com

Preface

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

Summary

The Task Time Tracker Database

Connecting NetBeans with MySQL

The 3T database

Enterprise options for the 3T database

Summary

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()

Summary

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

Summary

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

Exercises

Summary

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

Exercises

Summary

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

Exercises

Summary

Running 3T on GlassFish

Configuring the 3T web application

Configuring the Maven pom.xml file

Adding eclipselink.target-server to the persistence.xml file

Adding the logback.xml file to your resources directory

Configuring the GlassFish server

Running 3T

Managing GlassFish without NetBeans

Summary

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

Summary

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

Summary

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

Summary

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

Summary

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

Summary

Introducing Spring Data JPA

Index