Earlier this year I wrote an article describing how Enterprise JavaBeans had impacted the application server market, causing a convergence between Web application servers and distributed object and transaction servers. With the advent of the J2EE (Java 2 Enterprise Edition) standard, we're about to witness another seismic shift in this market.
It's worth looking at what J2EE is -and isn't. J2EE builds on the Java 2 standard, and adds specifications for most of the important programming interfaces in an application server. Key interfaces are EJB for middle-tier logic, and servlets and Java Server Pages (JSP) for dynamically generated HTML pages. Other APIs include JNDI (naming and directories), JMS (messaging), JavaMail, JTA/JTS (transactions) and RMI-IIOP (remote communications protocol).
While the J2EE specification comes with a reference implementation and compliance tests, it's important to understand that J2EE doesn't cover a number of APIs and functions that are central to today's application servers. For example, there are no specifications for how to connect to legacy or nonrelational data sources; how to create applications that interact with other systems via XML; how to cluster, load-balance and fail-over a server; or how to manage a server.
Benefits of Standardization for Customers
From early indications it appears that the J2EE standard will do for application servers what SQL did for relational databases. From a customer's standpoint, industry standardization leads to the following important benefits:
- Cross-vendor portability, which lowers customer risk by eliminating vendor dependency; skills are also portable
- Large aftermarket of third-party software and components
- Wide range of tools and supporting products
- Large pool of skilled developers
- Readily available training, books and information
Reusable J2EE components will bring choice in a competitive market. Developers will assemble applications using a variety of commercially available J2EE components mixed with their own custom components.
J2EE Splits the Market in Two
J2EE has been adopted by key players in the application server market, and has been enthusiastically embraced by the Web development community. The only exception is Microsoft, which is pursuing its own strategy (DNA and COM+). Microsoft may not gain a great deal of the market due to the following:
J2EE Levels the Playing Field
- Support for Windows NT only (not cross-platform; UNIX still preferred for high-end)
- Proprietary; lock-in to Microsoft as vendor
- No support for standards like CORBA
As vendors announce J2EE capabilities in their servers, we'll see an interesting phenomenon: every server will initially appear the same. Clearly, vendors will need to seek ways to differentiate their products. We predict that this differentiation will center on three layers (see Figure 1).
In the bottom layer vendors will try to differentiate their base J2EE capabilities by touting higher performance, better reliability or management tools. Differentiation will be minimal as many vendors make the same claims, which will be hard for customers to evaluate. As a result, we see the J2EE layer soon becomes a commodity.
In the value-add layer above the J2EE standard, vendors can differentiate by adding technology value such as integrated development tools, connectors or data architectures for dealing with legacy and nonrelational data. Analysts, including Gartner and Meta, recognize integrated development tools as a key differentiating feature for application servers. Development projects are typically carried out by a mix of expert 3GL Java developers (few and hard to come by) and 4GL-style developers (the majority of corporate developers) migrating from tools such as PowerBuilder and Visual Basic. Expert Java developers frequently have a preferred code editor and avoid productivity tools, but 4GL developers look for tightly integrated tools that can provide huge productivity gains as well as help them to develop according to "best practices" that aren't otherwise obvious. The bottom line: integrated development and deployment tools will speed time-to-market, which is key to customers.
Content management is another value-added area where vendors differentiate their servers. Vendors realize that, in a large percentage of Web applications, application content drives users to do transactions. For example, in e-commerce sites product catalogs or investor research drives the purchases and trades. Content management features include the ability to author and create content easily, store it in a database, publish database fields to URLs on the Web, version control, approval workflows and full-text indexing.
The application layer is the third place where differentiation will occur. Smart vendors realize that the key reason customers buy application servers is to solve business problems.
A few categories of business problems are common, and as such it's possible to save customers large amounts of time by offering an application framework that provides prebuilt components that can be easily customized and extended to meet customer-specific requirements. This provides a faster time-to-market than any feature in an application server, and is valuable to customers.
Buyers and users of application servers will benefit from the J2EE standard. It will provide a clear standard for developing three-tier distributed applications as well as an industry-standard skill set that developers will learn. We highly recommend that developers learn how to make use of the J2EE standard as it will rapidly become the most highly valued skill set in organizations wanting to use the Web in their business.
J2EE "best practices" aren't yet widely known or documented. We strongly recommend that organizations use experienced consultants on the project teams of their first J2EE projects to learn these best practices and to avoid the pitfalls of poor development.
J2EE will "commoditize" the base application server functionality, causing smart vendors to differentiate their products in either the technology value-add and/or application layer. Buyers should evaluate vendor strategies according to their own set of priorities.
For a resource area on J2EE and Java development,visit devcenter.silverstream.com.
David Skok, chairman and founder of SilverStream Software, Inc., holds a BS honors degree from the University of Sussex, England.
He can be reached at: [email protected]