In the winter of 1997, I was consulting on an e-commerce project that was using Java RMI. Not surprisingly, the project failed because Java RMI didn’t address performance, scalability, failover, security, or transactions, all of which are vital in a production environment. Although the outcome of that project is not unique to Java RMI—I have seen the same thing happen with CORBA—the timing of the project was especially interesting. Enterprise JavaBeans™ was first introduced by Sun Microsystems at around that time, and had Enterprise JavaBeans (EJB) been available earlier, that same project probably would have succeeded.
At the time I was working on that ill-fated Java RMI project, I was also writing a column for JavaReport Online called “The Cutting Edge.” The column covered what were then new Java technologies such as the Java Naming and Directory Interface™ ( JNDI) and the JavaMail™ API. I was actually looking for a new topic for the third installment of “The Cutting Edge” when I discovered the first public draft of Enterprise JavaBeans, Version 0.8. I had originally heard about this technology in 1996, but this was the first time that public documentation had been made available. Having worked on CORBA, Java RMI, and other distributed object technologies, I knew a good thing when I saw it and immediately began writing an article about this new technology.
That seems like eons ago. Since I published that article in March 1998, literally hundreds of articles on EJB have been written, and several books on the subject have come and gone. This book, now in its third edition, has kept pace with three versions of the EJB specification in as many years. As the newest version of the specification takes flight, and a slew of new books on the subject debut, I can’t help but remember the days when the words “Enterprise JavaBeans” drew blank looks from just about everyone. I’m glad those days are over.