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.