Who This Book Is For
This book assumes that you have some working knowledge of Java and relational databases (including SQL) as well as experience
working on the command line. Aside from prerequisites mentioned here, the following types of people can use it:
Software Developers/Architects Developers and architects can gain value from this book because it includes a high-level
software development process, application design, and an in-depth and complete inspection of the Java and related files of a
fully functional, sample enterprise web application.
Technical Leads/Managers Technical leads and managers with a programming background, preferably in Java or similar
language, can get an in-depth look at how applications are built using a variety of Java technologies. This knowledge might
help during project planning or with staff troubleshooting technical problems (perhaps just for moral support during frustrating
times). Alternatively, technical managers can dive into a specific chapter (for example, Chapter 5 , "Using Hibernate for
Persistent Objects") to understand how that specific technology works and fits into the big picture.
In addition, as a reader, you might gain some insight from this book on alternatives to JEE that you can use for building a robust
enterprise-class application. Furthermore, if you are not familiar with Agile Modeling or Extreme Programming or are looking for a nimble
software development process, this book might have just enough to get you going with a complete process for developing software
applications iteratively and incrementally.
Goals of This Book
The goals of this book are as follows:
Agile development The first and foremost goal of this book is to show you how to do rapid enterprise Java development. This
is achieved by combining multiple facets: a nimble/minimal software development process, a simple design (moderate use of
design patterns or layers of abstraction), convenience technologies (such as Spring and Hibernate), working with POJOs
versus remote objects, and in general, leveraging stable open source technologies whenever possible. In short, the idea is to
make Java simpler and faster to work with for developing enterprise-ready applications.
Complete solution A close second goal of this book is to provide you with a complete solution, from a technical and process
perspective. After reading this book, you should be able to build an entire application, not just technically, but also using the
process outlined in this book. In addition, when I cannot cover a given technology in depth, I provide references to resources
(websites) for further investigation of the technology. The cool thing about the technologies covered in this book is that you
can have a complete system, from the user interface to an embedded database along with the capability to schedule jobs
(thanks to the Spring Framework), all self-contained in a single web application archive (.war) file! However, you can always
replace the technologies mentioned in here with some other technology of your choice (for example, using an Oracle
database instead of HSQLDB). In summary, you will have the complete solution to do thisprocess and technologies!
Using an open source only solution is not a goal of this book Although I have based this book entirely on open source
frameworks, tools, and products, preaching an open source only solution isn't a goal of this book. For instance, you can
leverage Java's vendor portability and replace one of the products covered in here with a commercial product. However, open
source has come a very long way, and I'm thoroughly impressed by how robust these technologies are and how well
documented they are. For example, technologies such as the Eclipse SDK and Hibernate are arguably better than some of
their commercial counterparts. You could just as well use all the technologies mention in this book for an enterprise solution
and rest assured that they will perform as advertised. In fact, I recently implemented an enterprise solution for a large
company using the Spring Framework, Hibernate, Eclipse, JUnit, Ant, and other tools mentioned in this book! However, we
also used commercial products such as BEA's WebLogic Server and an Oracle database server. The same company (and
several others I know of) are basing their enterprise solutions on the open source technologies I mentioned.
Quick read This book is intentionally smaller than the typical 600+ page books you find on Java. This was done to enable you
to get through the book quickly and begin using the solutions in the real world. In light of this, I have tried to keep the content
in this book streamlined and more to the point. The one downside of not writing an extremely thick book is that I had to make
some tough decisions about which material to forego; however, I have tried hard to include all the important process- and
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks .