EJB and NT: Should You Care?
Enterprise JavaBeans (EJB) is the Java camp's analogue to the Microsoft Transaction Server (MTS). The two technologies are remarkably similar: both require building server applications as components, both support automatic transactions, both can make building secure applications easier, and both provide services that help applications scale. Both MTS and EJB aspire to be the successor to CICS, providing the foundation for the next generation of business logic.
But MTS is bundled for free with Windows NT Server, while products that implement EJB must be purchased separately. Why, then, should any NT user care a whit about EJB?
EJB vendors give several reasons, of which the most often heard are these: EJB products are available from many suppliers, so there's less vendor lock-in; EJB is available on lots of different operating systems, so you can build apps on NT, then move them elsewhere if desired; EJB is available on bigger and perhaps more reliable systems than MTS, since it's not tied to NT; EJB has a couple of interesting technical features that aren't in MTS, notably something called entity beans.
All of these statements are essentially true. But here are a few more true statements, ones you won't typically hear from EJB vendors: EJB products are all very new, while MTS has been shipping for more than two years; EJB portability isn't perfectly standardized, so moving EJB apps from one vendor's products to another can sometimes be problematic; interoperability between different EJB implementations is very challenging today, and looks likely to remain this way indefinitely, as the standards that define this aspect of EJB aren't complete enough; and because it's so new, developers skilled in EJB are tough to find.
For a significant number of users, even those using NT servers, EJB's benefits outweigh these problems. If you're building new three-tier applications, I suggest looking at EJB products if you fit the following characteristics: you're uncomfortable being tied solely to Microsoft for building new business logic; you have some tolerance for the new, since EJB is the less mature choice at the moment; you don't mind using Java as your sole development language; you need, or may need in the future, to build applications that are too big for NT servers; and you don't believe that NT is reliable enough to support all of your business logic, and you think Unix systems or mainframes are a better choice.
You can safely ignore EJB, however, if you're willing to build all business logic on Windows NT, and believe that NT is both scalable and reliable enough to do the job. MTS also gives you excellent integration with other middleware technologies, such as COM, Active Server Pages, and Microsoft Message Queue, along with a choice of development languages and first-rate tool support.
My expectation is that a majority of organizations will go the MTS route. NT's reliability and scalability are perfectly fine for a large percentage of applications, a fact that's been proven in many organizations. The power of bundling is also very strong -- using what you already have is extraordinarily tempting, a fact Microsoft is no doubt well aware of. Still, EJB looks like a serious competitor, one that offers advantages over MTS in a significant number of situations.
Not too long ago, I was beginning to believe that Microsoft would roll over its divided competition, ultimately leaving user organizations with only one primary choice for an enterprise platform. It now appears that those competitors have united behind the server-side Java environment, and especially behind its flagship technology EJB. The standardization isn't perfect -- if you go the EJB route, you're still likely to stick with a single EJB vendor -- but it's significantly better than I expected it to be. This is not a repeat of the CORBA story, where vendors claimed standardization for products that offered essentially no interoperability or portability. The EJB vendors, many of whom were once in the CORBA business, seem to have learned from this experience.
This is good news for all of us. Competition benefits everybody, even Microsoft. --David Chappell is principal at Chappell & Associates (Minneapolis), an education and consulting firm. Contact him at firstname.lastname@example.org.