Most read:
Popular archives:
JavaWorld's new look is here!
We've upgraded the site with a fresh look-and-feel, improved topical navigation, better search, new features, and expanded
community platform. Learn more about the changes to JavaWorld.
| Oracle Compatibility Developer's Guide |
| The Explosion in DBMS Choice |
My previous column, JavaBeans, focused primarily on technology tutorials with sample code; it was very well received. Yet Java in the enterprise is a broader topic, with a wide range of skill levels, and several categories of interest.
Since you're already reading, you clearly have an interest in this expansive topic. What I need to know is: Why are you reading? I'm asking -- no, begging -- for you to let me know what sort of material would be most useful and interesting to you.
This initial column flies high over the enterprise Java landscape, explaining how Java 2 Platform, Enterprise Edition (J2EE) meets the fundamental requirements of a multivendor platform. You'll read about the platform's design goals, its markets, branding, and competition. Finally, you'll get a rundown on the types of developers the J2EE platform defines.
Future installments of this column will be more technical, with hands-on coding examples and diagrams. This month, though, I'll focus on the "big picture."
J2EE is a platform for delivering enterprise applications. But what does it mean to say that J2EE is a platform? J2EE isn't hardware, although it can run on any hardware with an appropriate JVM. And J2EE isn't software exactly, since many vendors provide J2EE-compatible systems, and even provide their own JVMs. So what sort of a platform is J2EE, since it's neither a hardware platform, nor a specific software product?
In the world of software, a platform is a combination of hardware and software necessary to run applications. In this article, the word platform also implies that third-party developers can provide applications for that platform. (A platform upon which only the platform owner can create applications might more accurately be called a proprietary framework.) Applications have traditionally been developed, and therefore have been available, for some platforms and not for others. The economics and politics of hardware and software platforms have shaped the markets of the computer hardware and software industries.
The J2EE platform is a collection of related technology specifications that describe required APIs and policies. The content of the specifications is controlled by the Java Community Process (JCP). Interested vendors come to consensus on the specifications' contents, and then compete on implementations of those specifications. Sun Microsystems retains ownership of the J2EE trademark and brand, and licensees pay Sun for the use of the brand name and for the tests that verify adherence to the specifications. But the JCP, not Sun, controls the contents of the specifications.
The J2EE platform represents the consensus of involved enterprise software vendors on what facilities an enterprise platform should provide, and how to access them. Vendors compete on implementation of a common specification, providing customers with freedom to choose the technology most suited to their needs and budgets, and to switch vendors as those needs and budgets change.