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
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
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.