Book Chapters: Mastering EJB 3rd Edition Review Project

Much has happened since the second edition of Mastering EJB book series; mainly, the release of EJB 2.1 specification and massive adoption of Web services technologies by the industry. EJB 2.1 had a few but substantial additions in the specification. Besides, EJB 2.1 specification is part of J2EE 1.4 platform, which has some major additions/changes. As a result, a new edition of this book is warranted. The proposed new edition will contain five new chapters - each either covering a major EJB 2.1 technology or focusing on best practices (such as security) related to the same. This plus the normal updates (ranging from 10% to 50%) to all the existing chapters result in an overall 30% change in the proposed edition from the previous one.

Table of Contents
Part 1 - Overview
1 - Overview
2 - EJB Fundamentals
3 - Writing Your First Bean

Part 2 - The Triad of Beans
4 - Introduction to Session Beans
5 - Writing a Session Bean Web Service
6 - Introduction to Entity Beans
7 - Writing Bean-Managed Persistence Entity Beans
8 - Writing Container-Managed Persistence Entity Beans
9 - Introduction to Message-Driven Beans
10 - Adding Functionality to Beans

Part 3 - Advanced EJB Concepts
11 - EJB Best Practices
12 -Transactions
13 - EJB Security
14 - EJB Timers
15 - BMP and CMP Relationships
16 - Persistence Best Practices
17 - EJB-based Integration
18 - EJB Performance Optimizations
19 - Clustering
20 - Starting Your EJB Project on the Right Foot
21 - Choosing an EJB Server
22 - EJB-J2EE Integration: Building a Complete Application

Part 4 - Appendices
A - RMI-IIOP and JNDI Tutorial
B - CORBA Interop
C - Deployment Descriptor Reference
D - EJB Query Language
E - EJB Quick Reference Guide

Mastering EJB 3rd Edition Review Project

What's New

July 19th - Chapter 11 - EJB Best Practices
First Review Posting

The EJB Best Practices chapter discusses best practices in terms of design, development, building, testing and working with EJB. These guidelines will help in answering some of the dilemmas you face in the real world EJB projects. By being aware of these best practices, you will avoid common pitfalls that others have experienced when building EJB systems.
Download and Review.


July 19th - Chapter 14 - EJB Timers
First Review Posting

The EJB Timers chapter provides a complete overview of using the EJB timer service. It teaches you that although the EJB timer service is simple to use and very helpful for implementing certain scenarios, it has some shortcomings, which should be addressed in the upcoming EJB specifications.
Download and Review.

Introduction

This proposal outlines incremental changes to Mastering EJB to incorporate improvements made to the specification since J2EE 1.4. In addition, the tone and context of various sections of the book will be updated to reflect the latest trends and best practices in use in the community.

Motivation

Much has happened since the second edition of Mastering EJB book series; mainly, the release of EJB 2.1 specification and massive adoption of Web services technologies by the industry. EJB 2.1 had a few but substantial additions in the specification. Besides, EJB 2.1 specification is part of J2EE 1.4 platform, which has some major additions/changes. As a result, a new edition of this book is warranted. The proposed new edition will contain five new chapters - each either covering a major EJB 2.1 technology or focusing on best practices (such as security) related to the same. This plus the normal updates (ranging from 10% to 50%) to all the existing chapters result in an overall 30% change in the proposed edition from the previous one.

This edition will address the following important changes in the EJB technology landscape -

  • Extensibility of MDBs in J2EE 1.4. J2EE 1.4 introduces extensions to the J2EE Connector Architecture that will allow MDB's to respond to ANY type of request, not just JMS.

    This opens up EJB to many new usage scenarios, we should have a new chapter to discuss them.

  • Extensibility of EJB as an implementation technology for Web Services in J2EE 1.4. As of J2EE 1.4, EJB is now a supported implementation technology for Web Services. At least a chapter should be written to teach how to use EJBs to build Web services and educate the reader on when to use EJB over servlets for Web services.

  • Changing uses of EJB and the trend towards light-weight containers. Most books on EJB today are written to support the scenario of using EJB as a distributed component architecture, for communicating between tiers or business systems. However, over the last two years it has become clear that most people are not using EJB's for distribution; they have been using it simply as a business framework, used to organize business logic within one separate logical tiers on the same physical machine. Due to the complexity of using EJB and the high costs of EJB servers, we are now seeing a trend towards using light-weight containers/frameworks to build business logic. Many such frameworks are now available in the open source space that provide simpler and more powerful business frameworks than EJB. Furthermore, all the major vendors are now offering EJB-less "express" versions of their products. The book will need to be updated with a few chapters to help people understand when to use EJB, and how to use it properly in those scenarios.

  • Web Services are reducing the EJB value proposition. With Web Services, developers can now achieve distribution of code using simple servlets - the need for EJBs are being diminished. The book will have to discuss this somewhere.

How you can help

The chapters of the 3rd Edition of Mastering Enterprise JavaBeans are being made available to allow the community to participate in the review and editing of the chapters of the book. Your comments and suggestions may make it into the final product, if appropriate. Email annotated versions of the chapters (or any other comments) to [email protected].

The Authors

Gerald Brose works as Security Software Architect at Xtradyne Technologies. Gerald is an expert in middleware security, including CORBA, J2EE, and Web Services. He is a regular speaker at international conventions and the author of several publications on middleware security and related issues. Gerald co-authored John Wiley & Son's Java Programming with CORBA.

As a member of the Open Source community, Gerald maintains JacORB, the most widely used Open Source ORB for Java, which is also part of the JBoss J2EE application server. Gerald holds a Ph.D. in computer science from Freie University, Berlin. He lives with his wife and two sons in Berlin, Germany.

Rima Patel Sriganesh is a member of the technical staff presently working in the Technology Outreach Group at Sun Microsystems, Inc. She specializes in Java, XML, and Integration platforms. Her passion for technology includes distributed computing models, security and trust computing, semantic Web, grid computing, and quantum physics. She speaks frequently at premiere industry conferences, such as JavaOne, Web Services Edge, SIGS 101, Sun Technology Days, and others. She also represents Sun at various security, choreography, and financial services standards.

Rima recently co-authored a Java Web Services book. She also publishes on Sun's developer portal, java.sun.com and Java community portal, www.java.net.

Co-Author

Ed Roman is one of the world's leading authorities on the Enterprise JavaBeans architecture (EJB) and the Java 2 Platform, Enterprise Edition (J2EE). He is the author of "Mastering Enterprise JavaBeans and the Java 2 Platform, Enterprise Edition," an advanced book on development with EJB and J2EE technologies, published by John Wiley & Sons, August 1999. He is also founder and former CEO of The Middleware Company (http://www.middleware-company.com), the world's leading knowledge network for middleware professionals. Ed has been heavily involved with Sun Microsystems' middleware technologies from their inception, and has designed, built, and deployed a variety of enterprise applications, including architecting and developing complete application server products.

Dig Deeper on Development tools for continuous software delivery