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.