Enterprise JavaBeans, 4/e (Paperback)

Richard Monson-Haefel, Bill Burke, Sacha Labourey





The new 2.1 version of the Enterprise JavaBeans (EJB) spec extends its support for web services and the Java Web Services APIs, expands its asynchronous messaging support, adds XML Schema for deployment descriptors, and introduces a new Timer service, which allows for scheduling EJB jobs. The essential--and award winning--book on EJBs, Enterprise JavaBeans, has been completely revised and updated in this new fourth edition, to provide the real-world, nitty-gritty detail developers need to master EJB 2.1.

Previous editions of this clear and engaging introduction to EJBs were voted the "Best Java Book" by the editors and readers of Java Developer's Journal, the "Best Java Book for Experts," by JavaPro editors, and one of the Top Computer Books by Amazon.com. The fourth edition lives up to--and surpasses--the excellent reputation earned by its predecessors.

This authoritative and thorough guide includes everything that made previous editions the single must-have book for EJB developers: the authors solid grasp on the complexities of EJBs coupled with his succinct, easy-to-follow style; hundreds of clear, practical examples; adept coverage the key concepts EJBs ; and diagrams to illustrate the concepts presented. It also includes everything you need to get up to speed quickly on the changes wrought by EJB version 2.1, an architecture overview, information on resource management and primary services, design strategies, and XML deployment descriptors.

In this edition, we're adding an EJB workbook for JBoss 4.0. The workbook shows how to deploy all of the examples on the JBoss 4.0 application server. It addresses an important problem with EJB: deploying the software on a server can be extremely difficult. JBoss is an open source project that has become the most widely used J2EE application server.

Good technical authors may lay the facts before you, but great ones offer the distilled essence of their own experience and insight. Richard Monson-Haefel has provided just what Java developers need to know to harness the complexity of EJBs. What makes Monson-Haefel a master of technical authoring can be seen in his well-thought-out and logical progression of ideas, and in his examples practical, precise, usable examples, large enough to test key concepts but still small enough to be comprehensible taken apart and explained in the detail you need to deploy those principles in other situations.

If you work with EJBs--or want to--this book will earn a favored spot on your bookshelf.


Table of Contents:


Part I. The Technical Manuscript

1. Introduction
     Server-Side Components
     Distributed Object Architectures
     Component Models
     Asynchronous Messaging
     Titan Cruises: An Imaginary Business
     What's Next?

2. Architectural Overview
     The Enterprise Bean Component
     Using Enterprise Beans
     The Bean-Container Contract

3. Resource Management and the Primary Services
     Resource Management
     Primary Services
     What's Next?

4. Developing Your First Enterprise Beans
     Choosing and Setting Up an EJB Server
     Developing an Entity Bean
     Developing a Session Bean

5. The Remote and Local Client View
     Locating Beans with JNDI
     The Remote Client API
     The Local Client API

6. CMP: Basic Persistence
     The Abstract Programming Model
     The Customer EJB
     Persistence Fields
     Dependent Value Classes
     Relationship Fields

7. CMP: Entity Relationships
     The Seven Relationship Types

     Declaring EJB QL
     The Query Methods
     EJB QL Examples
     Problems with EJB QL

9. Bean-Managed Persistence
     The Remote Interface
     The Remote Home Interface
     The Primary Key
     The ShipBean
     Obtaining a Resource Connection
     Exception Handling
     The ejbCreate( ) Method
     The ejbLoad( ) and ejbStore( ) Methods
     The ejbRemove( ) Method
     The ejbFind( ) Methods
     The Deployment Descriptor

10. The Entity-Container Contract
     The Primary Key
     The Callback Methods
     ejbHome( )
     The Life Cycle of an Entity Bean

11. Session Beans
     The Stateless Session Bean
     The Life Cycle of a Stateless Session Bean
     The Stateful Session Bean
     The Life Cycle of a Stateful Session Bean

12. Message-Driven Beans
     JMS and Message-Driven Beans
     JMS-Based Message-Driven Beans
     The Life Cycle of a Message-Driven Bean
     Connector-Based Message-Driven Beans
     EJB 2.1: Message Linking

13. Timer Service
     Titan's Maintenance Timer
     Timer Service API
     Entity Bean Timers
     Stateless Session Bean Timers
     Message-Driven Bean Timers
     Final Words

14. EJB 2.1: Web Service Standards
     Web Services Overview
     XML Schema and XML Namespaces
     SOAP 1.1
     WSDL 1.1
     UDDI 2.0
     From Standards to Implementation

15. EJB 2.1 and Web Services
     Accessing Web Services with JAX-RPC
     EJB Endpoints

16. Transactions
     ACID Transactions
     Declarative Transaction Management
     Isolation and Database Locking
     Nontransactional Beans
     Explicit Transaction Management
     Exceptions and Transactions
     Transactional Stateful Session Beans

17. J2EE
     JavaServer Pages
     Web Components and EJB
     Filling in the Gaps
     Fitting the Pieces Together

18. XML Deployment Descriptors
     The ejb-jar File
     The Contents of a Deployment Descriptor
     The Document Header and Schema Declarations
     The Descriptor's Body
     Describing Enterprise Beans
     Describing Relationships
     Describing Bean Assembly

19. EJB Design in the Real World
     Pre-Design: Containers and Databases
     Should You Use EJBs?
     Wrapping Up

Part II. JBoss Workbook


1. JBoss Installation and Configuration
     About JBoss
     Installing JBoss Application Server
     A Quick Look at JBoss Internals
     Exercise Code Setup and Configuration

2. Exercises for Chapter 4
     Exercise 4.1: A Simple Entity Bean
     Exercise 4.2: A Simple Session Bean

3. Exercises for Chapter 5
     Exercise 5.1: The Remote Component Interfaces
     Exercise 5.2: The EJBObject, Handle, and Primary Key
     Exercise 5.3: The Local Component Interfaces

4. Exercises for Chapter 6
     Exercise 6.1: Basic Persistence in CMP 2.0
     Exercise 6.2: Dependent Value Classes in CMP 2.0
     Exercise 6.3: A Simple Relationship in CMP 2.0

5. Exercises for Chapter 7
     Exercise 7.1: Entity Relationships in CMP 2.0, Part 1
     Exercise 7.2: Entity Relationships in CMP 2.0, Part 2
     Exercise 7.3: Cascade Deletes in CMP 2.0

6. Exercises for Chapter 8
     Exercise 8.1: Simple EJB QL Statements
     Exercise 8.2: Complex EJB QL Statements

7. Exercises for Chapter 9
     Exercise 9.1: A BMP Entity Bean

8. Exercises for Chapter 11
     Exercise 11.1: A Stateless Session Bean
     Exercise 11.2: A Stateful Session Bean

9. Exercises for Chapter 12
     Exercise 12.1: JMS as a Resource
     Exercise 12.2: The Message-Driven Bean

10. Exercises for Chapter 13
     Exercise 13.1: EJB Timer Service

11. Exercises for Chapter 15
     Exercise 15.1: Web Services and EJB 2.1

Appendix. Database Configuration



新的2.1版本的企業JavaBeans(EJB)規範擴展了對Web服務和Java Web服務API的支持,擴展了異步消息支持,為部署描述符添加了XML Schema,並引入了一個新的計時器服務,允許安排EJB作業。這本重要且屢獲殊榮的EJB書籍《企業JavaBeans》在這個全新的第四版中經過完全修訂和更新,為開發人員提供了他們掌握EJB 2.1所需的實際細節。

之前的版本被《Java Developer's Journal》的編輯和讀者評選為“最佳Java書籍”,被《JavaPro》的編輯評選為“專家最佳Java書籍”,並被Amazon.com評選為頂級計算機書籍之一。第四版不僅達到了這些前輩們贏得的卓越聲譽,還超越了它們。

這本權威而全面的指南包含了使之前版本成為EJB開發人員必備書籍的一切:作者對EJB複雜性的深刻理解,以及他簡潔易懂的風格;數百個清晰實用的例子;對EJB關鍵概念的熟練涵蓋;以及用於說明所呈現概念的圖表。它還包括了讓您快速了解EJB 2.1版本所帶來的變化所需的一切,包括架構概述、資源管理和主要服務的信息、設計策略和XML部署描述符。

在這個版本中,我們為JBoss 4.0添加了一本EJB工作手冊。這本手冊展示了如何在JBoss 4.0應用程序服務器上部署所有示例。它解決了EJB的一個重要問題:在服務器上部署軟件可能非常困難。JBoss是一個開源項目,已成為最廣泛使用的J2EE應用程序服務器。

優秀的技術作者可以將事實呈現給您,但偉大的作者則提供了他們自己經驗和見解的精華。Richard Monson-Haefel提供了Java開發人員需要了解EJB複雜性的內容。Monson-Haefel在技術撰寫方面的造詣可以從他思路清晰、邏輯連貫的思想進展和他的例子中看出來,這些例子實用、精確、可用,足夠大以測試關鍵概念,但又足夠小以便於分解和解釋,以便在其他情況下應用這些原則。



第一部分. 技術手稿

1. 簡介
- 服務器端組件
- 分佈式對象架構
- 組件模型
- 異步消息
- 虛構業務:Titan Cruises
- 下一步是什麼?

2. 架構概述
- 企業Bean組件
- 使用企業Bean
- Bean-容器契約
- 概述

3. 資源管理和主要服務
- 資源管理
- 主要服務
- 下一步是什麼?

4. 開發您的第一個企業Bean
- 選擇和設置EJB服務器
- 開發實體Bean
- 開發會話Bean

5. 遠程和本地客戶端視圖
- 使用JNDI定位Bean
- 遠程客戶端API
- 本地客戶端API

6. CMP:基本持久性