Synopses & Reviews
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.
This new edition introduces developers to the newest EJB specifications, and extends support for Web services and the Java Web services APIs.
About the Author
Richard Monson-Haefel is the author of Enterprise JavaBeans (Editions 1 - 5), Java Message Service and one of the world's leading experts and book authors on enterprise computing. He was the lead architect of OpenEJB, an open source EJB container used in Apache Geronimo, a member of the JCP Executive Committee, member of JCP EJB expert groups, and an industry analyst for Burton Group researching enterprise computing, open source, and Rich Internet Application (RIA) development. Today, Richard is the VP of Developer Relations for Curl, Inc. a RIA platform used in enterprise computing. You can learn more about Richard at his web site Monson-Haefel.Bill Burke was born in 1943 and received both his BFA and MFA in Photography from the Rhode Island School of Design. He has exhibited in solo and group exhibitions around the world, and his works are in the collections of the the International Center of Photography, The Metropolitan Museum of Art, and the Museum of Modern Art, New York; the Los Angeles County Museum of Art, the J. Paul Getty Museum, Los Angeles; the San Francisco Museum of Modern Art; the Smithsonian Institution of American Art, Washington, D.C.; the Museum of Fine Arts, Boston; the Museum of Fine Arts, Houston; and the Center for Creative Photography, Tucson; among others. Burke has received numerous honors, including five National Endowment for the Arts grants, and the John Simon Guggenheim Fellowship. Burke lives in Dorchester, Massachusetts.
Table of Contents
Preface; Author's Note; What Is Enterprise JavaBeans?; Who Should Read This Book?; Organization; Software and Versions; Conventions; Comments and Questions; Acknowledgments; Lay of the Land; Chapter 1: Introduction; 1.1 Server-Side Components; 1.2 Distributed Object Architectures; 1.3 Component Models; 1.4 Asynchronous Messaging; 1.5 Titan Cruises: An Imaginary Business; 1.6 What's Next?; Chapter 2: Architectural Overview; 2.1 The Enterprise Bean Component; 2.2 Using Enterprise Beans; 2.3 The Bean-Container Contract; 2.4 Summary; Chapter 3: Resource Management and the Primary Services; 3.1 Resource Management; 3.2 Primary Services; 3.3 What's Next?; Chapter 4: Developing Your First Enterprise Beans; 4.1 Choosing and Setting Up an EJB Server; 4.2 Developing an Entity Bean; 4.3 Developing a Session Bean; Chapter 5: The Remote and Local Client View; 5.1 Locating Beans with JNDI; 5.2 The Remote Client API; 5.3 The Local Client API; Chapter 6: CMP: Basic Persistence; 6.1 The Abstract Programming Model; 6.2 The Customer EJB; 6.3 Persistence Fields; 6.4 Dependent Value Classes; 6.5 Relationship Fields; Chapter 7: CMP: Entity Relationships; 7.1 The Seven Relationship Types; Chapter 8: CMP: EJB QL; 8.1 Declaring EJB QL; 8.2 The Query Methods; 8.3 EJB QL Examples; 8.4 Problems with EJB QL; Chapter 9: Bean-Managed Persistence; 9.1 The Remote Interface; 9.2 The Remote Home Interface; 9.3 The Primary Key; 9.4 The ShipBean; 9.5 Obtaining a Resource Connection; 9.6 Exception Handling; 9.7 The ejbCreate( ) Method; 9.8 The ejbLoad( ) and ejbStore( ) Methods; 9.9 The ejbRemove( ) Method; 9.10 The ejbFind( ) Methods; 9.11 The Deployment Descriptor; Chapter 10: The Entity-Container Contract; 10.1 The Primary Key; 10.2 The Callback Methods; 10.3 ejbHome( ); 10.4 EntityContext; 10.5 The Life Cycle of an Entity Bean; Chapter 11: Session Beans; 11.1 The Stateless Session Bean; 11.2 The Life Cycle of a Stateless Session Bean; 11.3 The Stateful Session Bean; 11.4 The Life Cycle of a Stateful Session Bean; Chapter 12: Message-Driven Beans; 12.1 JMS and Message-Driven Beans; 12.2 JMS-Based Message-Driven Beans; 12.3 The Life Cycle of a Message-Driven Bean; 12.4 Connector-Based Message-Driven Beans; 12.5 EJB 2.1: Message Linking; Chapter 13: Timer Service; 13.1 Titan's Maintenance Timer; 13.2 Timer Service API; 13.3 Transactions; 13.4 Entity Bean Timers; 13.5 Stateless Session Bean Timers; 13.6 Message-Driven Bean Timers; 13.7 Final Words; Chapter 14: EJB 2.1: Web Service Standards; 14.1 Web Services Overview; 14.2 XML Schema and XML Namespaces; 14.3 SOAP 1.1; 14.4 WSDL 1.1; 14.5 UDDI 2.0; 14.6 From Standards to Implementation; Chapter 15: EJB 2.1 and Web Services; 15.1 Accessing Web Services with JAX-RPC; 15.2 EJB Endpoints; Chapter 16: Transactions; 16.1 ACID Transactions; 16.2 Declarative Transaction Management; 16.3 Isolation and Database Locking; 16.4 Nontransactional Beans; 16.5 Explicit Transaction Management; 16.6 Exceptions and Transactions; 16.7 Transactional Stateful Session Beans; Chapter 17: J2EE; 17.1 Servlets; 17.2 JavaServer Pages; 17.3 Web Components and EJB; 17.4 Filling in the Gaps; 17.5 Fitting the Pieces Together; Chapter 18: XML Deployment Descriptors; 18.1 The ejb-jar File; 18.2 The Contents of a Deployment Descriptor; 18.3 The Document Headerand Schema Declarations; 18.4 The Descriptor's Body; 18.5 Describing Enterprise Beans; 18.6 Describing Relationships; 18.7 Describing Bean Assembly; Chapter 19: EJB Design in the Real World; 19.1 Pre-Design: Containers and Databases; 19.2 Design; 19.3 Should You Use EJBs?; 19.4 Wrapping Up; JBoss Workbook; Chapter 20: Introduction; 20.1 Contents of the JBoss Workbook; Chapter 21: JBoss Installation and Configuration; 21.1 About JBoss; 21.2 Installing JBoss Application Server; 21.3 A Quick Look at JBoss Internals; 21.4 Exercise Code Setup and Configuration; Chapter 22: Exercises for Chapter 4; 22.1 Exercise 4.1: A Simple Entity Bean; 22.2 Exercise 4.2: A Simple Session Bean; Chapter 23: Exercises for Chapter 5; 23.1 Exercise 5.1: The Remote Component Interfaces; 23.2 Exercise 5.2: The EJBObject, Handle, and Primary Key; 23.3 Exercise 5.3: The Local Component Interfaces; Chapter 24: Exercises for Chapter 6; 24.1 Exercise 6.1: Basic Persistence in CMP 2.0; 24.2 Exercise 6.2: Dependent Value Classes in CMP 2.0; 24.3 Exercise 6.3: A Simple Relationship in CMP 2.0; Chapter 25: Exercises for Chapter 7; 25.1 Exercise 7.1: Entity Relationships in CMP 2.0, Part 1; 25.2 Exercise 7.2:Entity Relationships in CMP 2.0, Part 2; 25.3 Exercise 7.3: Cascade Deletes in CMP 2.0; Chapter 26: Exercises for Chapter 8; 26.1 Exercise 8.1: Simple EJB QL Statements; 26.2 Exercise 8.2: Complex EJB QL Statements; Chapter 27: Exercises for Chapter 9; 27.1 Exercise 9.1: A BMP Entity Bean; Chapter 28: Exercises for Chapter 11; 28.1 Exercise 11.1: A Stateless Session Bean; 28.2 Exercise 11.2: A Stateful Session Bean; Chapter 29: Exercises for Chapter 12; 29.1 Exercise 12.1: JMS as a Resource; 29.2 Exercise 12.2: The Message-Driven Bean; Chapter 30: Exercises for Chapter 13; 30.1 Exercise 13.1: EJB Timer Service; Chapter 31: Exercises for Chapter 15; 31.1 Exercise 15.1: Web Services and EJB 2.1; Database Configuration; Set Up the Database; Examine the JBoss-Specific Files; Start Up JBoss; Build and Deploy the Example Programs; Examine and Run the Client Applications; Colophon;