Designing Enterprise Applications with the J2EE Platform / Edition 2

Designing Enterprise Applications with the J2EE Platform / Edition 2

5.0 1
by Inderjeet Singh, Beth Stearns, Mark Johnson, The Enterprise Team, The

ISBN-10: 0201787903

ISBN-13: 9780201787900

Pub. Date: 04/28/2002

Publisher: Addison-Wesley

"The Java™ BluePrints Team has done it again. This book is an indispensable asset to all J2EE™ developers and should never be far from reach."

--John Crupi, coauthor of Core J2EE™ Patterns, Distinguished Engineer, Sun Java Center, Sun Microsystems, Inc.

The Java 2 Platform, Enterprise Edition, offers developers a simplified,


"The Java™ BluePrints Team has done it again. This book is an indispensable asset to all J2EE™ developers and should never be far from reach."

--John Crupi, coauthor of Core J2EE™ Patterns, Distinguished Engineer, Sun Java Center, Sun Microsystems, Inc.

The Java 2 Platform, Enterprise Edition, offers developers a simplified, component-based approach to creating applications for intranets and the Internet.

As part of the highly regarded Java BluePrints program, Designing Enterprise Applications with the J2EE™ Platform, Second Edition , describes the key architectural and design issues in applications supported by the J2EE™ platform and offers practical guidelines for both architects and developers. It explores key J2EE platform features such as Java servlets, JavaServer Pages™, and Enterprise JavaBeans™ component models, as well as the JDBC™ API, Java Message Service API, and J2EE Connector Architecture. It also discusses security, deployment, transaction management, internationalization, and other important issues for today's applications.

Through code samples and a full e-commerce application example, this book provides concrete guidelines to mastering the J2EE platform. Highlights include:

  • An introduction to the J2EE platform, the applications it supports, and the technologies it provides
  • Discussions on how to design Web-based applications using Java servlet and JavaServer Pages technologies
  • Architectural guidelines for designing Enterprise JavaBeans components for scalability, reliability, and performance
  • How to connect J2EE applications to existing systems and applications using JDBC and J2EE Connector technologies
  • Design motivations behind the widely used Java Pet Store demo application
  • A glossary of J2EE and enterprise computing terminology


Product Details

Publication date:
Java Series
Edition description:
Second Edition
Product dimensions:
7.30(w) x 9.10(h) x 1.10(d)

Table of Contents



About the Authors.

1. Introduction.

Challenges of Enterprise Application Development.

Programming Productivity.

Integration with Existing Systems.

Freedom of Choice.

Response to Demand.

Maintaining Security.

The Platform for Enterprise Solutions.

J2EE Platform Overview.

J2EE Platform Benefits.

J2EE Application Scenarios.

Multitier Application Scenario.

Stand-Alone Client Scenario.

Web-Centric Application Scenario.

Business-to-Business Scenario.

How This Book Is Organized.


References and Resources.

2. J2EE Platform Technologies.

Component Technologies.

Types of J2EE Clients.

Web Components.

Enterprise JavaBeans Components.

Components, Containers, and Services.

Platform Roles.

J2EE Product Provider.

Application Component Provider.

Application Assembler.


System Administrator.

Tool Provider.

Platform Services.

Naming Services.

Deployment Services.

Transaction Services.

Security Services.

Service Technologies.


Java Transaction API and Service.

Java Naming and Directory Interface.

J2EE Connector Architecture.

Java API for XML Processing Technology.

Communication Technologies.

Internet Protocols.

Remote Method Invocation Protocols.

Object Management Group Protocols.

Messaging Technologies.

Data Formats.


References and Resources.

3. The Client Tier.

Client Considerations.

Network Considerations.

Security Considerations.

Platform Considerations.

General Design Issues and Guidelines.

Design Issues and Guidelines for Browser Clients.

Presenting the User Interface.

Validating User Inputs.

Communicating with the Server.

Managing Conversational State.

Design Issues and Guidelines for Java Clients.

Presenting the User Interface.

Validating User Inputs.

Communicating with the Server.

Managing Conversational State.


References and Resources.

4. The Web Tier.

The Purpose of the Web Tier.

Web-Tier Technologies.

Traditional Web-Tier Technologies.

Web-Tier Technologies in the J2EE Platform.

The Web Container.

Java Servlets.

JavaServer Pages (JSP) Technology.

Web-Tier Technology Guidelines.

Web-Tier Application Structure.

Web-Tier Application Framework Design.

Structuring the Web Tier.

Web-Tier MVC Controller Design.

Web-Tier MVC View Design.

Web-Tier MVC Model Design.

Web Application Frameworks.

Separating Business Logic from Presentation.

Web-Tier State.

Distributable Web Applications.


References and Resources.

5. The Enterprise JavaBeans Tier.

Business Logic and Business Objects.

Common Requirements of Business Objects.

Enterprise Beans as J2EE Business Objects.

Enterprise Beans and EJB Containers.

Remote and Local Client Views.

Guidelines for Using Local or Remote Client Views.

Entity Beans and Local Client Views.

Entity Beans.

Guidelines for Using Entity Beans.

Entity Bean Persistence.

When to Use Bean-Managed Persistence.

Session Beans.

Stateful Session Beans.

Stateless Session Beans.

Message-Driven Beans.

Uses of Message-Driven Beans.

Example: Invoice Message-Driven Bean.

Design Guidelines.

Remote versus Local Client Access for Entity Beans.

Session Beans as a Facade to Entity Beans.

Fine-Grained versus Coarse-Grained Object Access.

Master-Detail Modeling Using Enterprise Beans.

Data Access Objects.

Implementing an Entity Bean without a Create Method.

Representing References to Entity Beans.

Portability Guidelines.

Typecast Remote References.

Mark Non-Serializable Fields Transient.

Bean-Managed Persistence and Portability.


References and Resources.

6. Integrating with the Enterprise Information System Tier.

Integration Scenarios.

An Internet E-Store Application.

An Intranet Human Resources Application.

A Distributed Purchasing Application.

An Order Fulfillment Application.

J2EE Integration Technologies.

J2EE Connector Architecture.

Java Message Service API.

JDBC and RDBMS Access.

Application Integration Design Approaches.

Synchronous Integration.

Asynchronous Integration.

Comparing Approaches.

Data Integration.

Developing an Integration Layer.

Programming Access to Data and Functions.

Using Tools for EIS Integration.

Developing EIS Access Objects.

Guidelines for Connection Management.

Security Guidelines.


References and Resources.

7. Packaging and Deployment.

Packaging Components.

Roles and Tasks.

Application Component Provider Tasks.

Application Assembler Tasks.

Deployer Tasks.

Packaging J2EE Applications.

EJB Modules.

EJB Module Packaging Guidelines.

Web Modules.

Packaging Components into Web Modules.

Application Client Modules.

Resource Adapter Modules.

Deployment Descriptors.

J2EE Naming Environment.

Specifying Deployment Descriptor Elements.

Naming Convention Recommendations.

Deployment Tools.

Deployment Tool Actions.

Deployment Tool Requirements.


References and Resources.

8. Transaction Management.

Transactional Concepts.

ACID Transaction Properties.

Transaction Participants.

Transaction Demarcation.

Distributed Transactions.

Two-Phase Commit Protocol.

J2EE Platform Transactions.

Accessing Multiple Resources within a Transaction.

Transactions across Servers.

J2EE Transaction Technologies.

Client Tier Transactions.

Web Tier Transaction Guidelines.

Enterprise JavaBeans Tier Transactions.

Bean-Managed Transaction Demarcation.

Container-Managed Transaction Demarcation.

Transaction Attributes.

Enterprise JavaBeans Tier Transaction Guidelines.

EIS Tier Transactions.

JTA Transactions.

Resource Manager Local Transactions.

EIS Tier Transaction Guidelines.

Compensating Transactions.

Isolation Level.

Performance with Multiple Resource Managers.

J2EE Resource Manager Types.

JDBC Databases.

JMS Providers.

J2EE Connector Architecture.


References and Resources.

9. Security.

Security Threats and Mechanisms.


Protection Domains.

Authentication Mechanisms.

Authentication Call Patterns.

Exposing Authentication Boundaries with References.


Declarative Authorization.

Programmatic Authorization.

Declarative versus Programmatic Authorization.


Affects of Identity Selection.

Encapsulation for Access Control.

Controlling Access to J2EE Resources.


Protecting Messages.

Integrity Mechanisms.

Confidentiality Mechanisms.

Identifying Sensitive Components.

Ensuring Confidentiality of Web Resources.



References and Resources.

10. J2EE Internationalization and Localization.

Internationalization Concepts and Terminology.

Internationalization, Localization, and Locale.

Character Sets.


Using J2SE Internationalization APIs in J2EE Applications.

Resource Bundles.

Message Formatting.

Date Formatting.


Web Tier Internationalization.

Tracking Locales and Encodings.

Presentation Component Design.

Internationalizing and Localizing JSP Pages.

EIS Tier Internationalization.

Persistent Localized Data.

Internationalizing Database Schema.

Internationalized Application Design.

Internationalizing Applications with XML.

Generating Localized Dynamic Content with XSLT.

Communicating Locale within an Application.

Communicating Locale among Applications.

Localizing Error and Logging Messages.

Client Messages and Application Exceptions.

System Exceptions and Message Logging.


References and Resources.

11. Architecture of the Sample Application.

J2EE Architecture Approaches.

Model-View-Controller Architecture.

J2EE Design Patterns.

Sample Application Overview.

Designing the Sample Application.

Choosing Application Tiers.

Choosing Local or Distributed Architecture.

Architecture of the Sample Application.

Application Web Site Architecture.

Fulfillment Center Architecture.


References and Resources.



Index. 0201787903T03252002

Customer Reviews

Average Review:

Write a Review

and post it to your social network


Most Helpful Customer Reviews

See all customer reviews >

Designing Enterprise Applications with the J2EE Platform 5 out of 5 based on 0 ratings. 1 reviews.
Guest More than 1 year ago
A must read for seasoned professionals and those new to the subject. Invaluable insights and guidelines are detailed at every tier of architecting a J2EE enterprise application. I found myself frequently relating to the examples and wishing I had read this book to help with earlier projects. This would have saved hours of re-factoring because the authors have already detailed solutions to common design problems. If you are looking for code examples, don't look here. Code examples throughout the book are minimal; however this book is not about code examples, the purpose is to provide proven principles for architecting and developing J2EE applications. Instead, one chapter describes the design of the sample Java Pet Store application in regards to the books principles. I now have a better understanding of the J2EE platform and how to apply its technologies. I will be referring back to this book often!