"J2EE is to Java what SQL was to databases." That's a direct quote from one of my conversations with software vendors during JavaOne. And I tend to agree with the statement. I spent most of the show talking with people regarding their products, their visions and their strategies. It was clear to me that J2EE is a standard with enough meat behind it to generate adoption by many companies as the clear design for their products.
What also quickly became apparent was that there's a certain degree of parity in J2EE. Looking at the vendors involved, you could go from booth to booth (and I did) and hear the same message from each: "We're J2EE compliant." I had long talks with IBM, BEA, SilverStream, GemStone and several others, and the message was pretty much the same regarding compliance. One might be missing JMS or some other minor part of the standard, but they all provide servlets, JSP, EJB and the other necessary technologies needed to build a Web application using Java.
The similarities to the SQL standard are strong. SQL is a standard by which you can ask a database for information. Every relational database vendor supports it - you could go as far as to say it's not a database if it doesn't support SQL. In the same fashion, J2EE is defining how we'll develop Java applications; you could say that without J2EE it's not an application server.
In some ways this is like having 20 or 30 identical choices to make: If they all support J2EE, what's the real difference between one and the next one? But again, like SQL, J2EE provides enough wiggle room for vendors to differentiate themselves from each other. Part of this will be in the area of high availability and reliability as vendors provide different support for clustering. Some vendors like BEA cluster at the machine level; others such as GemStone cluster at the VM level. I heard some rumblings from the vendors that over time VMs aren't as stable as we'd like and need to be restarted. I'm not sure I believe this, but I'd be interested in getting your feedback on the issue.
Tuning their servers and improving the scalability and availability of the products is important, but I don't think that's enough of a differentiator. The real way I think vendors are going to differentiate themselves is through the additional services they offer to complement the basic application server technology. The pace at which our industry moves is incredible and there's constant pressure to deliver an application in 90 days. The B2B market wants quick solutions, but they need to be customizable and at the same time flexible enough to accommodate constant changes in requirements.
I'm already seeing the signs of this differentiation. BEA is offering a commerce package built on top of a component framework. GemStone has actually developed an entire J2EE e-commerce application and placed it in open source as a resource for all developers. Persistence has developed a page-caching engine that works with dynamic, personalized content.
There's no clear winner at the moment, not even a clear direction. I'd like to see offerings that perform large amounts of business functionality - such as an auction engine or a logistics system - come as packages built on the application server. Sybase, for example, is providing financial and telecom services that leverage their EAServer. I'd like to see the same for NetMarkets. Just as the focus in the NetMarket has shifted from exchange technology to service integration, so do we need a shift from the nuts and bolts of the application server business into a more business-solution-focused offering. I know I'm asking a lot. But the people I work for these days all ask the same of me: they want it fast...they want it in a package...and the package should be easy to reconfigure when the business rules change.
So I want that type of offering from the application server vendors. I want to be able to buy an application server and be 80% done with the project instead of a quarter of the way done. And of course I want it soon...say, in 90 days.
Sean Rhody is editor-in-chief of Java Developer's Journal.
He is also a respected industry expert and a consuitant with a leading Internet service company.
Sean can be contacted at: [email protected]