Java: Web standard deluxe

Years ago, an enterprising fellow named Larry Ellison became aware that IBM Corp. was developing a new way of interacting with database management systems. Rather than using database vendors' set of commands and application programming interface calls, IBM was developing a language for controlling database operations.

Years ago, an enterprising fellow named Larry Ellison became aware that

IBM Corp. was developing a new way of interacting with database management

systems. Rather than using database vendors' set of commands and application

programming interface calls, IBM was developing a language for controlling

database operations. Structured query language (SQL) was based on a formal

approach to data management and theoretically could be adopted by any database

vendor.

Ellison, of course, founded Oracle Corp. and fielded the first commercially

successful SQL database engine. Oracle went on to dominate the database

management software market, knocking off older, established database products

in the process. Currently, the majority of database sales are for relational

database products that use SQL. There are even federal information processing

standards and American National Standards Institute standards for SQL, and

federal procurements routinely require that database products adhere to

these standards.

Why is SQL so successful? One big reason is that there is a near-universal

standard, which enables application developers to write applications without

worrying much about what database product will hold the data.

Fast forward a decade or so. We're now in the midst of a revolution

in how we build programs. The older, client/server technologies that have

grown up with SQL are giving way to Sun Microsystem Inc.'s Java initiative,

a language and set of services that enable developers to build robust applications

for the World Wide Web and for internal and external Web sites for even

the largest federal agencies.

The newest incarnation of Java (the phenomenon, not strictly the language)

is the enterprise edition of the Java platform. J2EE incorporates the standard

for the Enterprise JavaBean, which is used along with JavaServer Page and

servlet technology to build robust middle tiers for transaction-based electronic

commerce systems. It also has a security model, a directory and naming service,

distributed objects and transaction control.

In the client/server world, you'd have to work hard to come up with

the same set of capabilities, and you'd have to integrate a variety of products

from diverse vendors to do it.

With J2EE, you use Java and HTML and XML for development, and you pick

an application server that supports the J2EE standard. If you avoid using

proprietary application server extensions, your application will be relatively

portable.

I should note that database vendors also extend SQL. But if your SQL

application stays within the ANSI/FIPS environment, changes in moving from

one database management system to another are small.

It's long been a tenet of federal procurement policy that standards-based

solutions are better than proprietary solutions that lock the agency into

a single vendor. J2EE has the potential to do for Web development what SQL

did for database systems, and even more.