Free Sample
+ Collection

Enterprise Application Development with Ext JS and Spring

Gerald Gierer

Designed for intermediate developers, this superb tutorial will lead you step by step through the process of developing enterprise web applications combining two leading-edge frameworks. Take a big leap forward in easy stages.
RRP $29.99
RRP $49.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781783285457
Paperback446 pages

About This Book

  • Embark on the exciting journey through the entire enterprise web application development lifecycle
  • Leverage key Spring Framework concepts to deliver comprehensive and concise Java code
  • Build a real world Ext JS web application that interacts with dynamic database driven data

Who This Book Is For

If you are an intermediate developer with a good understanding of Java, JavaScript and web development concepts, this book is ideal for you. Basic Ext JS development experience, including an understanding of the framework APIs is needed by those of you who are interested in this book. Regardless of your experience and background, the practical examples provided in this book are written in a way that thoroughly covers each concept before moving on to the next chapter.

Table of Contents

Chapter 1: 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
Chapter 2: The Task Time Tracker Database
Connecting NetBeans with MySQL
The 3T database
Enterprise options for the 3T database
Chapter 3: 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()
Chapter 4: 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
Chapter 5: 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
Chapter 6: 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
Chapter 7: 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
Chapter 8: 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
Chapter 9: 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
Chapter 10: 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
Chapter 11: 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
Chapter 12: 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
Chapter 13: 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

What You Will Learn

  • Set up the key components of an enterprise development environment
  • Get to grips with practical database design strategies using MySQL
  • Practice JPA concepts and database reverse engineering using NetBeans
  • Access data using the DAO design pattern and Spring
  • Implement practical testing strategies using Maven and JUnit
  • Build a comprehensive service layer to encapsulate business logic
  • Leverage the best of Spring Web controllers for enterprise use
  • Implement a dynamic Ext JS user interface using Sencha MVC
  • Understand and control the Maven build process
  • Configure and deploy to a production GlassFish environment

In Detail

Spring and Ext JS are cutting edge frameworks that allow us to build high performance web applications for modern devices, that are now consuming data at a faster rate than ever before. It is the appropriate time for you to understand how to best leverage these technologies when architecting, designing, and developing large scale web development projects.

This practical guide condenses an approach to web development that was gained from real world projects, and outlines a simple, practical approach to developing high performance, and enterprise grade web applications.

Starting with configuring Java, NetBeans, and MySQL to prepare your development environment, you will then learn how to connect your NetBeans IDE to the MySQL database server. We will then explore the Task Time Tracker (3T) project database structure and populate these tables with test data.

Following on from this, we will examine core JPA concepts after reverse engineering the domain layer with NetBeans. Leveraging the Data Access Object design pattern, you will learn how to build the Java DAO implementation layer assisted by generics in base classes, followed by a Data Transfer Object enabled service layer to encapsulate the business logic of your 3T application.

The final chapters that focus on Java explore how to implement the request handling layer using Spring annotated controllers, and deploy the 3T application to the GlassFish server. We will then configure the Ext JS 4 development environment and introduce key Ext JS 4 concepts, including MVC and practical design conventions.

Covering a variety of important Ext JS 4 strategies and concepts, you will be fully-equipped to implement a variety of different user interfaces using the Ext JS MVC design pattern. Your journey ends by exploring the production build and deployment process using Maven, Sencha Cmd and GlassFish.


Read More