Flylib.com

Books Software

 
 
 

Technologies Used in This Book


Technologies Used in This Book

This book is going to cover how to use and integrate the following Jakarta technologies:

  • The Struts development framework

  • The Lucene search engine

  • The Velocity templating framework

  • The ObjectRelationalBridge persistence tool

  • The Ant build utility

All of these development tools and frameworks are available for download from the Jakarta web site (http://jakarta.apache.org).

All of the code examples were built and tested using JDK 1.3+ and were deployed running on the Jakarta group 's Tomcat Servlet/JSP engine (version 4.0 higher). All J2EE examples were built using the J2EE 1.3 specification and were deployed on the JBoss application server (http://www.jboss.org).

The database used for the application code was deployed using version 3.23 of the MySQL database (http://mysql.org).



Conventions

To help you get the most from the text and keep track of what's happening, we've used a number of conventions throughout the book.

For instance:

Important 

These boxes hold important, not-to-be-forgotten information, which is directly relevant to the surrounding text.

While the background style is used for asides to the current discussion.

As for styles in the text:

  • When we introduce them, we highlight important words

  • We show keyboard strokes like this: Ctrl-K

  • We show filenames and code within the text like so: <element>

  • Text on user interfaces and URLs are shown as: Menu

We present code in two different ways:


In our code examples, the code foreground style shows new, important, pertinent code

while code background shows code that is less important in the present context or has been seen before.



Customer Support

We always value hearing from our readers, and we want to know what you think about this book: what you liked , what you didn't like, and what you think we can do better next time. You can send us your comments by e-mailing support@apress.com. Please be sure to mention the book title in your message.

Errata

We've made every effort to make sure that there are no errors in the text or in the code. However, no one is perfect and mistakes do occur. If you find an error in one of our books, like a spelling mistake or faulty piece of code, we would be very grateful for your feedback. By sending in errata you may save other reader hours of frustration, and of course, you will be helping us provide even higher quality information.

To find known errata and submit new errata, simply go to the appropriate book page on the Apress website at http://www.apress.com.

forums.apress.com

For author and peer discussion, join the Apress discussion groups. If you post a query to our forums, you can be confident that many Apress authors, editors, and other industry experts are examining it. At http://forums.apress.com you will find a number of different lists to help you, not only while you read this book, but also as you develop your applications.

To sign up for the Apress forums, go to http://forums.apress.com and select the New User link.



Chapter 1: The Challenges of Web Application Development

Overview

This book will demonstrate the use of freely available Java Open Source (JOS) development frameworks for building and deploying applications. Specifically, we will focus on the JOS development frameworks available from the Apache Software Foundation's Jakarta group (http://jakarta.apache.org).

While most books are heavy on explanation and light on actual code demonstration, this book emphasizes approachable code examples. The authors of this book want to provide a roadmap of JOS development tools to build your applications. Our intent in this book is not to present each of the frameworks in minute detail. Frankly, many of the development frameworks presented in this book could have entire books written about them.

This book will build a simple application using the following Jakarta technologies:

  • Struts Web Development Framework :

    A Model-View-Controller-based development framework that enables developers to quickly assemble applications in a pluggable and extensible manner.

  • Lucene :

    A powerful indexing and search tool that can be used to implement a search engine for any web-based application.

  • Velocity :

    A templating framework that allows a development team to easily build "skinnable" applications, whose "look and feel" can be easily modified and changed.

  • Ant :

    An industry-accepted Java build utility that allows you to create sophisticated application and deployment scripts.

This chapter will not go into the details of the technologies listed above. Instead, it will highlight some of the common challenges in building web applications and explore some common design mistakes and flaws that creep into web-based application development efforts.

The truth is that, while all developers would like to write new applications from scratch, most of their time is spent in performing maintenance work on existing software. Identifying design flaws, referred to as antipatterns throughout this book, and learning to use JOS development frameworks to refactor or fix these flaws can be an invaluable tool.

Specifically, the chapter will explore how the following web-based antipatterns contribute to entropy within an application:

  • Concern Slush

  • Tier Leakage

  • Hardwire

  • Validation Confusion

  • Tight-skins

  • Data Madness

The chapter will end with a discussion of the cost savings associated with building your own application development framework vs. using JOS development framework.