The EJB Wheel of Fortune

Does any software vendor like standards? Building a product that conforms to a public specification, and that other vendors are also building products to, guarantees that your product will be a commodity. I don't know about you, but if I were a vendor, I'd resist this with all my might. Commodity products are low-margin products, and who wants to be in a low-margin business?

But the very attributes vendors abhor — commoditization and the price-driven competition it brings — are what users want. Because of this, vendors are sometimes all but forced to create a standard and then follow it. (Vendors do derive some benefits from partial standardization — especially smaller vendors entering new markets.)

One of the most important examples of a multivendor standard today is Enterprise JavaBeans (EJB). Owned by Sun, EJB has been implemented by many vendors, including IBM, Oracle and BEA. Although it borrowed many ideas from the earlier Microsoft Transaction Server (MTS, now called COM+), I think EJB is a fine technology. I also think it has a good future; building enterprise apps on EJB seems reasonably safe to me.

Having said this, there is one substantial danger facing would-be EJB users: choosing the right vendor. Theoretically, this shouldn't be a problem. After all, EJB is a standard. If the vendor you choose goes under, you can just move your app to another vendor's implementation. And if you're very careful, avoid some problematic parts of the EJB technology and don't use any vendor-specific extensions, this might actually work.

But building real apps that stay within these narrow boundaries isn't easy. And EJB products have very different configuration and administration interfaces, so switching vendors always entails some pain. In addition, EJB products from different vendors don't interoperate well (at least not right now), so rational firms are likely to choose a single vendor's EJB implementation for all of their apps.

But what happens when several slightly different implementations of a standard appear, each requiring a company to buy into one vendor's product? We can perhaps draw some lessons from what happened with CORBA. I'm not suggesting that EJB is as loosely specified as CORBA was. It's not. But because moving an app from one EJB vendor to another is not trivial, we may see a similar progression in the market.

CORBA's story is by now quite well known. After implementing more-or-less-compliant products, most CORBA vendors found they couldn't attract enough customers to their platform to make a profit, and so most exited the market. The big winner in the CORBA sweepstakes was Iona, whose Orbix product now rules the field. Will EJB follow this path? Even though it's a more complete standard than CORBA ever was, EJB still encourages commitment to a single vendor. Given this, I expect that of the dozens of vendors selling EJB today, only a handful will be around in five years. We may even see one winner gobbling up a very large share of the market.

Choosing an EJB vendor, then, is of critical importance. Of the current pack, the market leader is BEA WebLogic. WebLogic was first out of the gate with EJB, and its acquisition by BEA Systems gave the company both credibility and deeper pockets. As long as BEA doesn't make the product worse as it integrates WebLogic with its technologies, I'd count on WebLogic being one of the survivors. It might even end up as the Iona of the EJB world.

I'd also like to believe that IBM will be among the winners five years from now, as the company has a loyal installed base in many en- terprises and a deep knowledge of what those enterprises need. But IBM's WebSphere hasn't been an especially popular product. In addition, WebSphere's enterprise version relies on ComponentBroker, a product that appears to have a troubled past. Oracle also has a strong enterprise following, but its EJB strategy has been confusing, with multiple competing products. Sun is combining several different acquisitions in this area under the iPlanet label, a process that doesn't exactly fill one with confidence. And along with these big four — BEA, IBM, Oracle and Sun — there are other vendors, each putting its own spin on EJB.

The ultimate message is that if you choose EJB, pick your vendor carefully. Having your vendor exit the EJB biz is like having your horse shot out from under you: You can't switch to a new one fast enough, and the fall hurts.