Designing Enterprise Applications with the J2EE Platform

Peter Kitson

ISBN : 0201787903

Order a printed copy of this book from Amazon.


Cover Design - Designing Enterprise Applications with the J2EE Platform
 

For your free electronic copy of this book please verify the numbers below. 

(We need to do this to make sure you're a person and not a malicious script)

Numbers

 




Sample Chapter From Designing Enterprise Applications with the J2EE Platform
     Copyright © I. Singh, B. Stearns, M. Johnson



Introduction

by Jim Inscore and Nicholas Kassem

SINCE its introduction more than two years ago, the Java 2 Platform, Enterprise
Edition (J2EE), has rapidly established a new model for developing distributed
applications. This model is based on well-defined components that can automatically
take advantage of sophisticated platform services. These components can be
developed according to standard guidelines, combined into applications, deployed
on a variety of compatible server products, and reused for maximum programmer
productivity. This model is intended to both standardize and simplify the kind of
distributed applications required for today’s networked information economy. The
success of the J2EE platform is in large part due to the success of this model.
Today, all leading application server and enterprise information system
vendors have adopted the J2EE standard and introduced products based on the
J2EE platform specification. Application architects and developers have come to
rely on the J2EE standard to help them solve the various design challenges that
face them day to day.

While the fundamentals of the J2EE platform are relatively easy to describe,
mapping these features to architectural issues in the design of distributed applications
requires deeper understanding and careful decision making. Although the
J2EE standard offers a simplified programming model compared to previous alternatives,
the platform isn’t monolithic. Certain features require that architects and
developers weigh their options before making design decisions and be prepared to
re-think those decisions as they uncover new challenges. That, in turn, requires
some understanding of the design motivations behind the platform and of the
trade-offs involved in applying specific design features to a specific architectural
problem.

Different implementations of the J2EE platform may provide distinguishing
characteristics that improve their performance or development ease in particular
areas. However, the level of abstraction provided by the J2EE standard enables
common themes to be developed, explained, and explored and certain common
design guidelines to be developed. That’s what Java BluePrints is all about. It
answers questions like:

• What’s the best way to apply each type of J2EE component?
• Where does it make sense to use Java servlets and where to use JavaServer
Pages?
• What’s the best way to factor business logic between entity beans and session
beans?
• How do you choose between container-managed and bean-managed persistence
when using entity beans?
• What are the design and performance trade-offs between choosing a distributed
architecture and one based on local interfaces?
• In this increasingly security-conscious world, how do you design distributed
applications to be accessible to users who need them and secure from unwanted
intrusion?

Before the remainder of this book takes you more deeply into these and other
details of J2EE application architectures, this chapter gives you a look at some of
the design motivations behind the J2EE platform. It describes the high-level benefits
of the J2EE platform and discusses ways that using it as the underlying architecture
for distributed applications makes sense for a variety of application
requirements.