CONTENTS | PREV | NEXT | INDEX J2EE BluePrints


Foreword

The JavaTM platform was conceived to connect door knobs to light switches--smart door knobs to smart light switches, certainly, but door knobs to light switches nonetheless. And yet it is now widely used for building large server-side applications which run on some of the largest computers in the world. It is the fate of great inventions to be used in ways unimagined by their creators even when the creators--like James Gosling, creator of the Java programming language--see a horizon the rest of us do not glimpse. This is part of what makes an invention great.

In retrospect, the phenomenal success of the Java platform on servers might seem inevitable. After all, the platform provides exactly what is needed to transform the Internet from a publishing medium to a transactional one. The Java platform is available on all of the many different servers where Internet applications run. "Write Once, Run AnywhereTM" works so the programs can be quickly tested and deployed. Engineers are several times more productive when they write to the Java platform. But being the right thing at the right time isn't the whole story. Two more elements were needed: Technical leaders who were looking in a different direction than most of us were, and business leaders who were eager to work together in new ways so the ideas could become reality. The result was the development of consistent products across the computer industry in a surprisingly short period of time.

I joined the JavaSoft Division of Sun Microsystems in late 1995, recruited by Eric Schmidt and Bill Joy, to lead the then tiny band of engineers and marketers. We grew as fast as we could, barely keeping up with the early success of the Java platform and the industry alliances we'd made around it. Even then, when the focus was on applets running in browsers, when version 1.0 had not yet shipped, there were two brilliant engineers with a different idea--Rick Cattell and Graham Hamilton. They were thinking about the Java runtime environment on servers, and even mainframes. Because of them, the now ubiquitous JDBCTM technology was the first significant addition to the Java platform. Many excellent engineers have followed Rick and Graham. But they started it. I'm pleased that I was clever enough to listen to them as we expanded the group and the vision for the platform.

Until recently, "rocket scientists" have been needed to build the applications the industry clamored for--applications that create new ways to do business over the Internet while drawing on the resources already in place, such as databases, transaction systems, inventory systems, invoicing systems, and credit systems. These applications need to scale to thousands, even millions, of users. They must interact with a wide array of legacy technologies that can't be replaced, and they have to be built in a hurry. The engineers who can build them are few--the rocket scientists of our industry. But Rick and Graham saw a way to make the process a lot easier by building the rocket science into the Java platform, bringing portability and consistency through industry standardization, enabling quick adoption by adapting to the systems already in place, and making development much easier by automating most of the complicated details of server programming. These ideas became the underpinnings of the Java 2 Platform, Enterprise Edition.

JDBC was a huge hit. As soon as the Java community released it, drivers for all the important databases materialized in the market. Applications using JDBC rapidly appeared in large numbers. The success of JDBC lead to a parade of other middleware and database adapter projects--the Java Naming and Directory InterfaceTM API for uniform access to naming and directory services, the Java Message Service for asynchronous exchange of data and events, the Java Transaction API and Java Transaction Service for transactions, JavaServer PagesTM technology for building dynamic Web pages, Java XML for developing XML-oriented applications, and the Enterprise JavaBeansTM architecture, a component model for server applications. All of these were developed in collaboration with industry partners in a process created by Rick and Graham and later refined and formalized as the Java Community Process.

The seminal offering of JDBC in 1996 soon grew into an amazing array of facilities, each with its own acronym and release plan. For those who didn't live with the various "J*'s" (and for some of us who did) it could be confusing. When vendors announced support for Enterprise JavaBeansTM 1.0 before the specification had been completed, we realized it was time to make this now very successful portfolio a little easier to understand and manage.

The Java 2 Platform, Enterprise Edition (J2EETM platform) brings all of these pieces together. The J2EE platform is defined by four key pieces: the specification, the reference implementation, the compatibility test suite, and the J2EE BluePrints design guidelines. The specification defines how the J2EE platform works, whether it is included in an application server, a database, or anywhere else. The reference implementation is useful for experimenting with the J2EE platform and it offers a working standard for comparison. The compatibility test suite ensures that J2EE vendors implement fully compliant versions of the platform to ensure "Write Once, Run Anywhere" portability, and these design guidelines show developers how the pieces fit together to make up complete applications. The key J2EE specifications are published in Java 2 Platform, Enterprise Edition : Platform and Components Specifications (also from Addison-Wesley), while supplemental specifications are available at http://java.sun.com/j2ee. The reference implementation used to create the examples in this book is available on the Sun Microsystems Java Software Web site at http://java.sun.com/j2ee/download.html.

Many people contributed to the Java 2 Platform, Enterprise Edition. Mala Chandra joined the group to lead the server efforts and quickly became the chief crusader. Her passion and determination carried the project around, over, or through many obstacles. Jeff Jackson, Connie Weiss, Karen Tegan, and Tom Kincaid provided exceptional engineering management. Technical leadership came from many, including Mark Hapner, Vlada Matena, Bill Shannon, Shel Finkelstein, Eduardo Pelegri-Llopart, Larry Cable, and Nick Kassem. Bill Roth, Gina Centoni, George Paolini, and Kathy Knutsen kept the Sun crew connected to the industry.

A staggering list of companies helped build this new server platform--a "Who's Who" of the industry; big, small, old and new. BEA Systems, IBM, Oracle and Sun Microsystems stand out as the companies who worked on nearly every piece, but they were never alone. Many companies sent their most senior architects and engineers and their most experienced managers to quickly build a common platform that set a new standard for ease of development, scalability, and applicability. They put these new Java platform technologies in their products, both old and new. The most widely deployed databases and the newest development tools from Silicon Valley startups now share the same interfaces. We are all the beneficiaries of their foresight and commitment.

In many ways, this book represents the culmination of these collective efforts. Designing Enterprise Applications with the Java 2 Platform, Enterprise Edition effectively demonstrates how this new platform simplifies and streamlines the design, development, and deployment of a new generation of enterprise applications.

Jon Kannegaard

Vice President and Deputy Director

Sun Microsystems Laboratories

Mountain View, California

March 20, 2000



CONTENTS | PREV | NEXT | INDEX
Copyright © 2001 Sun Microsystems, Inc. All Rights Reserved.