Java is best known as a language for writing Web browser applets
that you call from an HTML document, but Java is also a tool for writing server
or client applications that execute outside a browser context. Although
quantifying the number of vendors developing Java-based, shrink-wrapped
applications is difficult, many companies are developing Java applications for
internal use on corporate intranets.
One reason for the wave of Java enthusiasm is that Java's architecture
emphasizes security and multithreading, so it is well suited for the Web
environment. Java is Web-aware and understands concepts such as sockets, URLs,
and Internet addresses. Java also appeals to developers because of the price of
entry. For example, the primary tools I used to create the insper sample Java
program are 32-bit developer libraries available as free downloads. You can
download the Java Developer's Kit (JDK) from JavaSoft's home page at
http://splash.javasoft.com/jdbc and JETConnect Pro from XDB System's home page
at http://www.xdb.com/jet/connect. Microsoft, Sun Microsystems, IBM, Netscape,
Borland, Oracle, Sybase, and a long list of other vendors have Java tools in
development. Microsoft's Java SDK is available as a free download. Try
http://www.microsoft.com/
java for more information. In December 1996,
Oracle announced that its SQL products will implement J/SQL, a stored procedure
language based on Java.
| Java's architecture emphasizes security and multithreading. |
Microsoft plans to include Java with future releases of its operating
systems, and Java applets will be widely used plug-in components. Even before
the Web became the dominant force it is today, Microsoft was pursuing enterprise
markets by moving beyond a Windows-centric strategy. Java fits well into
Microsoft's plans with the new orientation toward multiplatform solutions such
as browsers, TCP/IP, HTML, SQL, and Open Database Connectivity (ODBC).
When building the Java SDK and Visual J++ (VJ++), Microsoft supplemented
the reference implementation of the Java interpreter, the Java virtual machine,
with classes that let developers use Component Object Model (COM) components.
The ability to use existing components means that developers and Web-site
builders can use Java within and without the browser.
Despite many promising features, Java does have drawbacks. Download time is
a problem for low-bandwidth Web connections. Java's architecture means bytecodes
are interpreted, so performance can be an issue. Vendors have been working hard
on solutions to the performance problem, including alternatives such as
compiling to native code for time-critical programs. Java's Abstract Window
Toolkit doesn't support the diversity of objects available with Borland Object
Windows Library (OWL) or Microsoft Foundation Classes (MFC), but it lets you
create a user interface for programs running on Windows NT, Windows 95,
Macintosh, Solaris, and other platforms. Java also doesn't offer the rich GUI
you get by using platform-specific features such as property sheets in Windows,
although vendors are rushing to create Java toolkits that have GUI components.
Symantec Visual Café Pro and XDB JetExpress are part of a new wave of
Java products that provide database connectivity using data-aware controls that
bind database objects to visual components.