Preface p. xix About the Author p. xxii Introduction p. xxiii Overview p. 1 Server-side Component Architectures p. 3 The Need for a Server-Side Component Architecture p. 4 Server-Side Component Architecture Solutions p. 23 The Java 2 Platform, Enterprise Edition p. 27 Summary p. 40 Enterprise JavaBeans Overview p. 41 Who's Who in Enterprise JavaBeans p. 42 Enterprise Beans p. 51 Overview of EJB Container and EJB Server Responsibilities p. 59 Summary p. 67 Developing Beans p. 69 Introduction to Session Beans p. 71 What Constitutes an Enterprise Bean? p. 71 What Is a Session Bean? p. 83 Understanding How to Write Session Beans p. 85 Understanding How to Call Session Beans p. 90 Summary p. 95 The Basics of Stateless Session Beans p. 97 Characteristics of Stateless Session Beans p. 97 Writing a "Hello, World!" Stateless Session Bean p. 99 Summary p. 114 The Basics of Stateful Session Beans p. 115 Characteristics of Stateful Session Beans p. 115 Stateful or Stateless? p. 128 Summary p. 130 Adding Functionality to Your Beans p. 133 EJB Contexts: Your Gateway to the Container p. 133 Session Bean Contexts p. 134 Understanding EJB Security p. 136 Understanding EJB Object Handles p. 142 Example: The Puzzle Game "Fazuul" p. 143 Running the Client p. 170 Summary p. 174 Introduction to Entity Beans p. 175 Persistence Concepts p. 176 What Is an Entity Bean? p. 179 Features of Entity Beans p. 182
Developing and Using Entity Beans p. 192 Entity Contexts p. 197 Putting It All Together: Walking through an Entity Bean Life Cycle p. 202 Summary p. 204 Writing Bean-Managed Persistent Entity Beans p. 207 Implementation Guidelines for Bean-Managed Persistence p. 207 Bean-Managed Persistence Example: A Bank Account p. 211 Running the Client Program p. 232 Summary p. 234 Writing Container-Managed Persistent Entity Beans p. 235 Container-Managed Fields p. 235 Primary Key Class p. 236 Implementation Guidelines for Container-Managed Persistence p. 237 Container-Managed Persistence Example: A Product Line p. 241 Running the Client Program p. 253 Promises and Realities: Bean-Managed Persistence versus Container-Managed Persistence p. 255 Resolving Your EJB Debugging Problems p. 258 Summary p. 260 Advanced Enterprise JavaBeans Concepts p. 261 Transactions p. 263 The Motivation for Transactions p. 264 The Benefits of Transactions p. 266 Transactional Models p. 270 Enlisting in Transactions with Enterprise JavaBeans p. 274 Transactional Isolation p. 281 Distributed Transactions p. 290 Programmatic Transactions in EJB p. 293 Designing Transactional Conversations in EJB p. 299 Summary p. 302 CORBA and RMI-IIOP p. 303 What Is CORBA? p. 303 Why Should I Care about CORBA? p. 304 Understanding How CORBA Works p. 306 OMG's Interface Definition Language p. 310 CORBA's Many Services p. 315 RMI over IIOP p. 317 Steps to Take for RMI and CORBA to Work Together: An Overview p. 326 The RMI-IIOP API p. 329 The Big Picture: CORBA and EJB Together p. 332 Summary p. 341 J2EE in the Real World: A Sophisticated E-Commerce Deployment p. 343
J2EE in the Real World: Designing an E-Commerce Object Model p. 345 A Preview of the Final Product p. 346 Scoping the Technical Requirements p. 348 Summary p. 360 J2EE in the Real World: Implementing Our E-Commerce Entity Beans p. 361 The Customer Entity Bean p. 362 The Order Line Item Entity Bean p. 373 The Order Entity Bean p. 387 Summary p. 400 J2EE in the Real World: Implementing Our E-Commerce Session Beans p. 401 The Quote Line Item Stateful Session Bean p. 403 The Quote Stateful Session Bean p. 410 The Pricer Stateless Session Bean p. 427 The Bank Teller Stateless Session Bean p. 437 Summary p. 450 J2EE in the Real World: Combining Servlets with Enterprise JavaBeans p. 451 The Role of Servlets in an EJB Deployment p. 451 Implementing Our Servlets p. 453 Running the Complete E-Commerce System p. 495 Optimizations and Design Strategies p. 496 Summary p. 501 Introduction to Appendices p. 503 Understanding Java Remote Method Invocation (RMI) p. 505 Remote Method Invocations p. 506 RMI Architecture p. 509 Bootstrapping and the RMI Registry p. 512 RMIC--The RMI Compiler p. 514 Object Serialization and Parameter Passing p. 515 A Simple Example p. 523 Dealing with Remote Exceptions p. 528 RMI Tips p. 531 Advanced RMI p. 531 RMI, CORBA, and EJB p. 556 RMI and EJB p. 557 Summary p. 559 Understanding the Java Naming and Directory Interface (JNDI) p. 561 Naming and Directory Services p. 562 Enter JNDI p. 565 JNDI Overview p. 566 Understanding the Concepts behind JNDI Programming p. 570 Programming with JNDI p. 577
Advanced JNDI: Combining JNDI with JDBC p. 593 Advanced JNDI: Combining JNDI with EJB p. 601 Advanced JNDI: Combining JNDI with Java RMI p. 602 Summary p. 611 Understanding the Extensible Markup Language (XML) p. 613 Business Needs for XML p. 614 XML p. 617 XML Concepts p. 619 XML and EJB p. 629 Summary p. 632 Understanding EJB 1.1 p. 635 Portable Deployment Descriptors p. 635 Entity Bean Support Mandated p. 639 RMI-IIOP API Standardized p. 639 Everything JNDI p. 640 Bean References Done Right p. 651 Transactions Clarified and Enhanced p. 653 Security Updates p. 655 New Home Handles p. 664 Other Important Changes in EJB 1.1 p. 664 For More Information p. 666 Beyond EJB 1.1 p. 666 Summary p. 667 Making a Purchase Decision p. 669 EJB Specification Compliance p. 669 Entity Bean Support p. 670 Persistence p. 671 Choosing a CORBA-based versus an RMI-based EJB Product p. 672 Usage of RMI-IIOP API p. 672 Accessibility of JTA via JNDI p. 673 Protocol Issues p. 673 Integrated Tier Support p. 673 In-Memory Data Cache p. 674 Scalability p. 674 High Availability p. 675 Security p. 675 IDE Integration p. 675 Intelligent Load Balancing p. 676 Stateless Transparent Fail-over p. 676 Clustering p. 676 Clean Shutdown p. 677
Real-time Deployment p. 677 Distributed Transactions p. 677 Existing Enterprise System Integration p. 678 Asynchronous Messaging Support p. 678 Integration with Bean Providers p. 678 Specialized Services p. 678 Non-Technical Criteria p. 679 Summary p. 680 EJB Quick Reference Guide p. 681 Session Bean Diagrams p. 682 Entity Bean Diagrams p. 688 EJB API Reference p. 692 Transaction Reference p. 706 Index p. 709 Table of Contents provided by Blackwell's Book Services and R.R. Bowker. Used with permission.