Designing Enterprise Applications with the J2EE Platform / Edition 2

Paperback (Print)
Buy Used
Buy Used from BN.com
$29.41
(Save 41%)
Item is in good condition but packaging may have signs of shelf wear/aging or torn packaging.
Condition: Used – Good details
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 96%)
Other sellers (Paperback)
  • All (28) from $1.99   
  • New (6) from $36.09   
  • Used (22) from $1.99   

Overview

"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

0201787903B03142002

Read More Show Less

Editorial Reviews

From The Critics
Continuing the approach of the first edition, this edition describes the architecture and design principles employed in creating J2EE applications, with a sample application included. The reader will need to be familiar with the J2EE platform or learning it concurrently as they use this text. Issues concerning security, deployment, transaction management, and internationalization are discussed. A glossary of terms is provided. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Read More Show Less

Product Details

  • ISBN-13: 9780201787900
  • Publisher: Addison-Wesley
  • Publication date: 3/28/2002
  • Series: Addison-Wesley Java Series
  • Edition description: Second Edition
  • Edition number: 2
  • Pages: 417
  • Product dimensions: 7.37 (w) x 9.12 (h) x 1.00 (d)

Meet the Author

Inderjeet Singh is lead architect on the Java BluePrints Team, where he works with other architects and engineers to define best uses of Java technologies for application design. Beth Stearns is the principal partner of ComputerEase Publishing, a computer consulting firm she founded in 1982. Among her publications are Java Native Interface in The Java Tutorial Continued (Addison-Wesley), “The EJB Programming Guide” for Inprise Corporation, and “ Understanding EDT, &#8221 a guide to Digital Equipment Corporation's text editor.

Mark Johnson is an enterprise computing consultant and author.

0201787903AB09232002

Read More Show Less

Table of Contents

Foreword.

Preface.

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.

Summary.

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.

Deployer.

System Administrator.

Tool Provider.

Platform Services.

Naming Services.

Deployment Services.

Transaction Services.

Security Services.

Service Technologies.

JDBC API.

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.

Summary.

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.

Summary.

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.

Summary.

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.

Summary.

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.

Summary.

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.

Summary.

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.

Summary.

References and Resources.

9. Security.

Security Threats and Mechanisms.

Authentication.

Protection Domains.

Authentication Mechanisms.

Authentication Call Patterns.

Exposing Authentication Boundaries with References.

Authorization.

Declarative Authorization.

Programmatic Authorization.

Declarative versus Programmatic Authorization.

Isolation.

Affects of Identity Selection.

Encapsulation for Access Control.

Controlling Access to J2EE Resources.

Example.

Protecting Messages.

Integrity Mechanisms.

Confidentiality Mechanisms.

Identifying Sensitive Components.

Ensuring Confidentiality of Web Resources.

Auditing.

Summary.

References and Resources.

10. J2EE Internationalization and Localization.

Internationalization Concepts and Terminology.

Internationalization, Localization, and Locale.

Character Sets.

Encodings.

Using J2SE Internationalization APIs in J2EE Applications.

Resource Bundles.

Message Formatting.

Date Formatting.

Collation.

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.

Summary.

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.

Summary.

References and Resources.

Afterword.

Glossary.

Index. 0201787903T03252002

Read More Show Less

Preface

This book, now in its second edition, describes standard approaches to designing multitier enterprise applications with the Java™ 2 Platform, Enterprise Edition. This book, and the accompanying Java Pet Store sample application, are part of the successful Java BluePrints program created by Sun Microsystems with the introduction of the J2EE platform. This program has been used by thousands of application architects, developers, and students to attain better understanding of the programming model inherent in the J2EE platform.

This book and the Java BluePrints program don't provide information on how to use individual Java technologies to write applications--that's the role of the companion Java Tutorial program. Instead, Java BluePrints focuses on guidelines for application architecture, such as distributing J2EE application functionality across tiers and choosing among design options within each tier. This book assumes that the reader already has basic knowledge of the J2EE platform. We recommend that readers without this knowledge familiarize themselves with the J2EE Tutorial either before or while reading this volume. See "Related Information" later in the Preface for details.

This book describes the architecture and design principles employed in building J2EE applications, and explores of the specific approach adopted by the sample application. Striking a balance between specific details and broad principles is never easy. The hope behind this effort is that the principles presented here are both consistent with and a useful complement to the implementation provided by the sample applications documented in this book.

This book is intended primarily for system architects and enterprise application developers engaged in or considering a transition to the J2EE platform. It is also useful for product vendors interested in developing applications consistent with the J2EE standard.

Obtaining the Sample Application

You can download the Java Pet Store sample application, version 1.3, which is described in this book, from:

http://java.sun.com/blueprints/code/

The sample application requires a J2EE v1.3-compliant platform on which to run. You can download J2EE SDK™, which is a freely available implementation of that platform, from:

http://java.sun.com/j2ee/download.html

Related Information

Pointers to J2EE documentation can be found at:

http://java.sun.com/j2ee/docs.html

For information on how to use the J2EE SDK to construct multitier enterprise applications, refer to The J2EE Tutorial, available at:

http://java.sun.com/j2ee/tutorial/

The J2EE technologies cited in this book are described in their specifications:Java™ 2 Platform, Enterprise Edition Specification, Version 1.3 (J2EE specification). Available at http://java.sun.com/j2ee/download.html

Java™ 2 Platform, Standard Edition Specification, Version 1.3 (J2SE specification). Available at http://java.sun.com/j2se/1.3/docs/

Java™ Servlet Specification, Version 2.3 (Servlet specification). Available at http://java.sun.com/products/servlet/

JavaServer Pages™ Specification, Version 1.2 (JSP specification). Available at http://java.sun.com/products/jsp/

Enterprise JavaBeans™ Specification, Version 2.0 (EJB specification). Available at http://java.sun.com/products/ejb/

Java™ API for XML Processing Specification, Version 1.1 (JAXP specification). Available at http://java.sun.com/xml/jaxp/

J2EE™ Connector Architecture Specification, Version 1.0 (Connector specification). Available at http://java.sun.com/j2ee/connector/

JDBC™ API Specification, Version 2.0 (JDBC specification). Available at http://java.sun.com/products/jdbc/

JDBC™ Standard Extension API Specification, Version 2.0 (JDBC extension specification). Available at http://java.sun.com/products/jdbc/

Java™ Transaction API Specification, Version 1.0.1 (JTA specification). Available at http://java.sun.com/products/jta/

Java Naming and Directory Interface™ Specification, Version 1.2 (JNDI specification). Available at http://java.sun.com/products/jndi/

Java IDL. Available at http://java.sun.com/j2se/1.3/docs/guide/idl/

RMI over IIOP. Available at http://java.sun.com/products/rmi-iiop/

Java™ Message Service Specification, Version 1.0.2 (JMS specification). Available at http://java.sun.com/products/jms/

Java™ Authentication and Authorization Service Specification, Version 1.0 (JAAS specification). Available at http://java.sun.com/products/jaas/

JavaMail™ API Specification, Version 1.2 (JavaMail specification). Available at http://java.sun.com/products/javamail/

JavaBeans™ Activation Framework Specification, Version 1.0.1 (JAF specification). Available at http://java.sun.com/products/javabeans/glasgow/jaf.html

Typographic Conventions

Table 0.1 describes the typographic conventions used in this book.

Table 0.1 Typographic Conventions

Typeface or Symbol Meaning Example
AaBbCc123 The names of commands, files, and directories; interface, class, method, and deployment descriptor element names; programming language keywords Edit the file Main.jsp. How to retrieve a UserTransaction object. Specify the resource-ref element.
AaBbCc123 Variable name The files are named XYZfile.
AaBbCc123 Book titles, new words or terms, or words to be emphasized Read Chapter 6 in User's Guide. These are called class options. You must be root to do this.

0201787903P03252002

Read More Show Less

Introduction

This book, now in its second edition, describes standard approaches to designing multitier enterprise applications with the Java™ 2 Platform, Enterprise Edition. This book, and the accompanying Java Pet Store sample application, are part of the successful Java BluePrints program created by Sun Microsystems with the introduction of the J2EE platform. This program has been used by thousands of application architects, developers, and students to attain better understanding of the programming model inherent in the J2EE platform.

This book and the Java BluePrints program don't provide information on how to use individual Java technologies to write applications—that's the role of the companion Java Tutorial program. Instead, Java BluePrints focuses on guidelines for application architecture, such as distributing J2EE application functionality across tiers and choosing among design options within each tier. This book assumes that the reader already has basic knowledge of the J2EE platform. We recommend that readers without this knowledge familiarize themselves with the J2EE Tutorial either before or while reading this volume. See "Related Information" later in the Preface for details.

This book describes the architecture and design principles employed in building J2EE applications, and explores of the specific approach adopted by the sample application. Striking a balance between specific details and broad principles is never easy. The hope behind this effort is that the principles presented here are both consistent with and a useful complement to the implementation provided by the sample applications documented in this book.

This book is intendedprimarily for system architects and enterprise application developers engaged in or considering a transition to the J2EE platform. It is also useful for product vendors interested in developing applications consistent with the J2EE standard.

Obtaining the Sample Application

You can download the Java Pet Store sample application, version 1.3, which is described in this book, from:

http://java.sun.com/blueprints/code/

The sample application requires a J2EE v1.3-compliant platform on which to run. You can download J2EE SDK™, which is a freely available implementation of that platform, from:

http://java.sun.com/j2ee/download.html

Related Information

Pointers to J2EE documentation can be found at:

http://java.sun.com/j2ee/docs.html

For information on how to use the J2EE SDK to construct multitier enterprise applications, refer to The J2EE Tutorial, available at:

http://java.sun.com/j2ee/tutorial/

The J2EE technologies cited in this book are described in their specifications:Java™ 2 Platform, Enterprise Edition Specification, Version 1.3 (J2EE specification). Available at http://java.sun.com/j2ee/download.html

Java™ 2 Platform, Standard Edition Specification, Version 1.3 (J2SE specification). Available at http://java.sun.com/j2se/1.3/docs/

Java™ Servlet Specification, Version 2.3 (Servlet specification). Available at http://java.sun.com/products/servlet/

JavaServer Pages™ Specification, Version 1.2 (JSP specification). Available at http://java.sun.com/products/jsp/

Enterprise JavaBeans™ Specification, Version 2.0 (EJB specification). Available at http://java.sun.com/products/ejb/

Java™ API for XML Processing Specification, Version 1.1 (JAXP specification). Available at http://java.sun.com/xml/jaxp/

J2EE™ Connector Architecture Specification, Version 1.0 (Connector specification). Available at http://java.sun.com/j2ee/connector/

JDBC™ API Specification, Version 2.0 (JDBC specification). Available at http://java.sun.com/products/jdbc/

JDBC™ Standard Extension API Specification, Version 2.0 (JDBC extension specification). Available at http://java.sun.com/products/jdbc/

Java™ Transaction API Specification, Version 1.0.1 (JTA specification). Available at http://java.sun.com/products/jta/

Java Naming and Directory Interface™ Specification, Version 1.2 (JNDI specification). Available at http://java.sun.com/products/jndi/

Java IDL. Available at http://java.sun.com/j2se/1.3/docs/guide/idl/

RMI over IIOP. Available at http://java.sun.com/products/rmi-iiop/

Java™ Message Service Specification, Version 1.0.2 (JMS specification). Available at http://java.sun.com/products/jms/

Java™ Authentication and Authorization Service Specification, Version 1.0 (JAAS specification). Available at http://java.sun.com/products/jaas/

JavaMail™ API Specification, Version 1.2 (JavaMail specification). Available at http://java.sun.com/products/javamail/

JavaBeans™ Activation Framework Specification, Version 1.0.1 (JAF specification). Available at http://java.sun.com/products/javabeans/glasgow/jaf.html

Typographic Conventions

Table 0.1 describes the typographic conventions used in this book.

Table 0.1 Typographic Conventions

Typeface or Symbol Meaning Example
AaBbCc123 The names of commands, files, and directories; interface, class, method, and deployment descriptor element names; programming language keywords Edit the file Main.jsp. How to retrieve a UserTransaction object. Specify the resource-ref element.
AaBbCc123 Variable name The files are named XYZfile.
AaBbCc123 Book titles, new words or terms, or words to be emphasized Read Chapter 6 in User's Guide. These are called class options. You must be root to do this.

 



Read More Show Less

Customer Reviews

Average Rating 5
( 1 )
Rating Distribution

5 Star

(1)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted May 10, 2002

    Essential read for designing J2EE applications

    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!

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)