This page is a list of pointers to information and products related to Enterprise JavaBeans. Enterprise JavaBeans is a specification for the creation of platform-independent middleware components. I'd like to make the page as complete a list of EJB information as possible, and I'd like to ask your help.

If you run across an EJB resource that I don't have listed, drop me a line and I'll be sure to add it. My email address is tvalesky@patriot.net


My EJB book is here!

Enterprise JavaBeans: Developing Distributed Component-Based Applications

by Tom Valesky.


Cheesy money-making effort

I've put together a list of books I like here. If you click on one of the hyperlinked titles, it'll take you to amazon.com. If you buy the book from amazon, they send me a kickback. Cool, huh? Even if you don't buy anything, check these books out; they're all really good.

EJB Design Idiom benchmarks

These folks benchmarked 5 EJB design idioms

  1. Fine Grained Entity Bean (FGE)
  2. Coarse Grained Entity Bean (CGE)
  3. Optimized Entity Bean (OE)
  4. Session over Entity Bean (SE)
  5. Coarse Grained Session Beans (CGS)
and provide the results. I won't spoil the ending for you, but the results are intriguing. EJB Design Idiom benchmarks

App Server comparisons

There are a ton of app servers on the market now, and parsing through the vendor-speak to figure out if a particular product supports what you need can be time-consuming and frustrating. Here are some sites that can help.

AppServer Central contains reviews and evaluations of application servers.

The Flashline.com appserver matrix displays the feature sets of various app servers for easy comparison.


EJB Component vendors

Flashline is a "component marketplace" where you can buy various sorts of components (JavaBeans, OCXs, etc). They plan to set up an EJB section soon.

Success Stories

I was going to start a section on EJB success stories, but it looks like Sun has already done so.

Sun's list of EJB success stories

If you have a writeup on an EJB project you've done that's not listed by Sun, send me an email and I'll put it up here (as long as it's not too large -- I'm scraping against the roof of my 10-meg quota right now).


Mailing list archives

If you've got a nagging question about EJB, check these archives. The EJB-INTEREST list is a hotbed of discussion for all things EJB-related. EJB-CONFORM is mainly intended for vendors, to ensure that various EJB implementations will play nice together.

EJB-INTEREST archive

EJB-CONFORM archive


Available products supporting EJB

This section is improving, but still needs work. Please mail me if you know of an EJB implementation that's not listed here.

GlueBeans makes a container that provides async messaging.

Pratmai Technologies has released a new EJB server called Proton.

Oracle 8i
Oracle 8i features an EJB 1.0-compliant container for EJBeans. EJB in the DBMS!

JBroker
JBroker isn't an EJB server; rather, it's a CORBA ORB designed to be used in application servers. A paper titled Building an Enterprise JavaBeans Server using JBrokerTM is available.

EJB Development tools page
This is Javasoft's listing of products that support EJB.

Persistence Software has released PowerTier for EJB. Their site includes an online demo of their product in action. The product includes a RAD development environment that can generate EJBs and their associated deployment descriptors.

WebLogic

Weblogic has recently released Tengah 3.1, which conforms to the EJB 1.0 specification. In addition to EJB support, Tengah is an RMI server, provides JNDI services, provides JDBC support, provides JTS, and has hooks to work with CORBA. Pretty cool!

The BullSoft Application Platform for EJB

A beta version of this software is available for download.


Open-source and/or freeware EJB implementations

As the longtime proprietor of the Free CORBA Page, it pleases me greatly to see that various free EJB implementations are being worked on.

AnEJB

An Enterprise JavaBeans server from the same folks who brought you JavaORB

EJBHome

These folks currently have a beta version of their EJB software available for download free of charge. They were bought out by IONA a while back, but my understanding is that they will continue to provide a free version of their software.

Andromeda

I'm not sure what's going on with this project. If anyone knows its status, please clue me in.

OpenEJB

The homepage for the Open Source Application Server (OSAS) project.

XS

A freeware EJB server by Rickard Oberg


Mailing Lists

Sun's EJB-INTEREST mailing list
How to subscribe:
Send an email to: listserv@java.sun.com. Set the first line of the BODY of the message to: "subscribe ejb-interest"

EJBHome's mailing lists
How to subscribe:
Please send an email to majordomo@tbsd.demon.co.uk, with the following body: subscribe ejbhome-discuss someone@somewhere.org subscribe ejbhome-announce someone@somewhere.org


Technical Information and Documentation

Working with Session and Entity Beans
Monica Pawlan provides a couple of example session and entity beans, including source code

An Introduction to Enterprise JavaBeansTM Technology
Bill Roth provides a high-level overview of EJB

A beginner's guide to Enterprise JavaBeans
Mark Johnson provides an overview of EJB.

How to write a session EJB
Michael Shoffner provides a session bean example with source code.

Some tips on building EJBs from WebLogic. Also check out WebLogic's Developer Center, which contains a lot of useful info on EJBs, RMI, JNDI, and other enterprise APIs.

Sun's EJB homepage

Visit this page for whitepapers on EJB, the EJB specifications, and so forth. In particular, the EJB 1.0 specs are good reading. If you're new to EJB, the EJB Whitepaper provides a good introductory overview of what EJB is and what it does. Also, the EJB FAQ is a useful read to get a handle on what EJB is all about.

EJBHome

In addition to building an implementation of EJB, the EJBHome site is putting together some samples, tutorials, and lists of links on the subject of EJB. Take a look! Especially interesting is their outstanding issues section, which points out some potential pitfalls and areas of variance in the current specs.


EJB-related technologies

EJB does not exist in a vacuum. Here are some links to information on some of the various APIs that EJB interacts with. I've also included some links on lower-level information as well, for those of you who want to know how it all works behind the scenes.

RMI - Remote Method Invocation


RMI is built into the Java Development Kit, and allows you to construct systems of remote objects.

JavaSoft's RMI homepage
JDK 1.2 RMI docs and tutorials
RMI and SSL
An easy RMI tutorial

JTS - Java Transaction Service

The original Java Transactions API has been broken up into two parts. JTS is the low-level, vendor-oriented part.

JTS homepage

JTA - Java Transaction API

JTA is the second part of the Java Transactions functionality. It provides a high-level API to allow programmers to access transaction functionality.

JTA homepage

JNDI - Java Naming and Directory Interface

EJB uses JNDI to locate an EJB bean's home interface. JNDI provides a much richer set of functionality as well. Basically, it's a generic interface that can be used to access any naming (for example, DNS) or directory (for example, LDAP) service.

JNDI homepage

JDBC - Java Database Connectivity

If you do direct database access in your beans, you'll be using JDBC to do it.

JDBC homepage

JMS - Java Message Service

JMS is not currently a part of the EJB specification, but the JMS FAQ indicates that it will be in a future version. Basically, JMS provides a messaging mechanism for distributed systems. Basically, JMS messages are analogous to the events handled in the event loop of a Windows program -- they carry data, and are intended to trigger some action on a remote program. I should note that it's possible to send JMS messages from an EJB bean now; however, there's no framework in place for received JMS messages to be passed to EJB beans at this point in time. The JMS FAQ indicates that this functionality is planned for a future version of EJB.

JMS homepage

JMS beta software
A beta version of Modulus Technologies' InterAgent JMS software is available.

CORBA - Common Object Request Broker Architecture

The EJB specification includes an EJB-to-CORBA mapping that vendors can optionally implement. CORBA allows applications on different platforms, written in different languages, to interoperate.

The CORBA component spec (FTP download)
This spec, from the OMG, describes how CORBA will integrate with EJB.

OMG website
OMG (Object Management Group) is the body that promulgates CORBA standards.

JavaIDL homepage
IDL (Interface Definition Language) is a syntax used to describe objects in a platform- and language-neutral manner. This page discusses JavaIDL, which is included as part of JDK 1.2

Doug Schmidt's page
Contains a wealth of info on CORBA.

The Free CORBA page
A listing of CORBA ORBs that are available for free, or for a free evaluation period, etc.


The deep stuff

In this section, you'll find references to material that describes some of the underlying mechanisms used in EJB.

Distributed Garbage Collection

GC-List FAQ
GC-LIST is a mailing list that discusses garbage collection.

OOPSLA paper on DMOS
DMOS stands for Distributed Mature Object Space. It's a garbage-collection algorithm for distributed systems.

Survey of Distributed Garbage Collection Techniques
As the title indicates, this is a survey paper that discusses many different approaches to distributed garbage collection.

Some Key Issues in the Design of Distributed Garbage Collection and References
This paper presents some of the pluses and minuses of the various algorithms.

Garbage Collection for Distributed Persistent Objects

Transaction Processing

A bunch of links on transaction processing
This page lists many of the TP monitors on the market, and provides some links to information as well.

Distributed Transactions

ICL whitepaper on two-phase commit
This paper does a good job of describing how two-phase commit works.

Whitepapers on EJB

Gemstone's EJB Roadmap
A whitepaper from Gemstone that describes EJB in general and their implementation in particular.

EJB Whitepaper
This is the original whitepaper on EJB.


Slides from talks on EJB

Developing and deploying business applications as components
These are slides from one of the presentations at JavaOne 98 (presenters: Mark Hapner and Shel Finkelstein)

Tools that enable EJB technology
These are slides from one of the presentations at JavaOne 98 (presenter: Bill Roth)

How to build EJB server software
These are slides from one of the presentations at JavaOne 98 (presenters: Vlada Matena and Shel Finkelstein)

PowerPoint Slides from a talk I gave on Enterprise JavaBeans. Now in HTML as well as in PowerPoint format.


Info on the two-phase commit protocol

Two-phase commit (often abbreviated as "2pc") is used as the underlying mechanism for EJB transactions. Here are some URLs that provide discussion of two-phase commit.

An introductory whitepaper on two-phase commit
This paper discusses two-phase commit in terms of the Dais CORBA ORB's implementation of it; however, it provides a really good introduction to the topic, and it's relatively short and to the point (13 pages).

Slide presentation on two-phase commit recovery
Describes some general issues for two-phase commits.

Postscript paper on two-phase commit
This paper describes proposed improvements to the presumed-commit two-phase commit protocol.

Microsoft whitepaper on transactions
This paper describes how transactions are implemented in the context of MS DTC, but it's a pretty good backgrounder for general transaction processing issues.

Encina docs relating to two-phase commit
Encina is one of the old-line transaction processor vendors.

Reliable Distributed Object Computing in the Financial Services Domain
A presentation including some information about two-phase commits


Articles on EJB

Sun to fix flaws in JavaBeans
An article describing upcoming spec revisions for EJB.

The Promise of EJB
A DBMS Magazine article on EJBs.

Mixing Sun's magic beans
An InfoWorld writeup on the current state of EJB (June 29, 1998).

Java component dream gains steam
An article in Application Development Trends discussing EJB.

War of titans to erupt in application-server space
A discussion of some of the players in the new app-server marketplace.

Next generation of application servers due
An article in InfoWorld that discusses new products from Persistence, NetDynamics, and SilverStream.

Enterprise Java: A Shell Game
This article is fairly critical of the current immaturity of the Enterprise Java platform (of which Enterprise Java Beans is one component).

ObjectWatch newsletter #12
This newsletter contains an article that discusses the brewing battle for the hearts and minds of middle-tier developers among EJB, CORBA, and Microsoft's DCOM.

JavaBeans for the Enterprise by yours truly, from the April 1998 issue of E-Business Advisor. (The text is not currently available online, but you can see the executive summary from this link).

Let Java Juggle your Middleware Tiers from JavaPro's February/March issue.

Bean Basics: Enterprise JavaBean Programming from Network Computing World's March issue.

Enterprise JavaBeans: Coming soon to a server near you from the June 1998 issue of JavaWorld.


Press Releases on EJB

Here are some press releases announcing support for EJB:

BEA buys WebLogic!
Merger mania has come to EJB.

Press release from WebLogic announcing EJB 1.0 support

BEA has announced that an early-access version of its M3 product featuring EJB support will be available in early fall.

Gemstone

BEA

Netscape

Oracle

Sun has a list of companies who have announced support for EJB here.


To contact the author of this page, send mail to tvalesky@patriot.net.

You are the person to visit this page