Java Web Server ships!

The server formerly known as Jeeves is finally ready

On Thursday, June 5, JavaSoft announced First Customer Ship of Java Web Server, the Web server formerly known as Jeeves. JavaSoft has taken significant strides in recent months to turn the alpha version into a full-fledged Web server. Built entirely in Java, Java Web Server is now a commercial product, priced with and without SSL (Secure Sockets Layer): U.S. 95 with SSL and U.S. 5 without SSL. Java Web Server is available for download for a free 120-day evaluation from the JavaSoft Web site.

Many Java developers have eagerly awaited the commercial release of Java Web Server, the future of which seemed unclear until JavaSoft released a beta version March 4.

"Jeeves is one of the few servers you can extend in any which way, kind of like a Swiss Army knife," said James Davidson, lead Java developer at The Synapse Group, a Web development company in Dallas. "And it's easy to train on. The concept of servlets is an easy enough model that people can be doing servlets and useful applications in a day's time."

The Java Server team at JavaSoft also has devoted considerable resources to developing an underlying server framework, called the Java Server Toolkit, with which developers can build their own highly extensible Web servers. Java Web Server is JavaSoft's binary product based on the Toolkit, and the Toolkit itself is due to be released later this year.

According to David Brownell, staff engineer at JavaSoft, Java Web Server is built with servlets (applets that run on servers) and the Java Server Toolkit. The Java Web Server and Java Server Toolkit architecture consists of modules for custom classes, administration, security, thread management, connection management, and session management, as well as a Servlet API. An administration tool allows changes on the fly, and servlets can be loaded dynamically. Security includes support for realm classes, access control lists, authentication, SSL, and signed code. The Servlet API provides an interface for various services, such as HTTP, proxy, and services for network computers (NCs). JavaSoft is hoping developers will build or customize servers with the Java Server Toolkit.

Servlets and on-the-fly administration are key benefits of Java Web Server. Servlets are server-side mini-programs that dynamically extend the functionality of the server. A load-balancing servlet is included as a sample servlet with the product, to help distribute traffic across a number of servers. In addition, administrative changes can be performed while the server is operating, reducing costly downtime.

Some developers emphasize the importance of the Servlet API. "I want my future choice of Web server software to be dictated by our business needs," said Eric WIlliams, Application Services manager at Unicom, a Web developer and ISP in Kansas City, KS. "I don't want my choices restricted by having written all my software to a proprietary API. My feeling is that Java Web Server might be moderately successful as a product, but what will be more successful is cross-platform, cross-Web server programming via the Servlet API."

"JWS's servlet API provides Web developers a very efficient alternative to CGI that provides a much richer programming environment," said James Paul Cooper, a software engineer at Organic Online, a Web developer in San Francisco. "Since the server is multithreaded, objects can be instantiated that persist between HTTP requests, enabling developers to cache resources and maintain server-side state."

With the Servlet API, Java Web Server appears to be an ideal vehicle for use with custom Web-based applications. Whether as second tiers in corporate enterprises, custom applet-to-servlet systems, or NC-oriented services, custom applications can be run as servlets with better performance and safety than CGI scripts. As part of the Java Servlet Development Kit, the Servlet API runs with a module for Netscape Enterprise Servers, and similar modules are being written for Microsoft Internet Information Servers (IIS) and Web servers from the Apache HTTP Server Project.

"Java on servers is ultimately more important than on clients," said David Smith, a research director at Gartner Group. "Given all the rational excitement about 'write once, run anywhere,' nowhere is this core philosophy more important than on servers."

While Java Web Server is written in Java and therefore can run on any platform that supports JDK 1.1, it contains two native code libraries. One is for accessing POSIX security features on systems such as Unix and Linux; these include letting servers run on port 80 without needing to be root and specifying the local Unix password database as a realm for access control lists. The source code to this library ships with the release so it can be compiled to a particular environment. In addition, some shell scripts for starting the server and other related functions might need to be "tweaked" to a given version of Unix.

The other native code library includes RSA algorithms for use with SSL. JavaSoft is not allowed to ship source code for RSA software, and ships versions that run on Solaris and Win 32 platforms. Various flavors of SSL are implemented in 100% Pure Java for Java Web Server, but currently the RSA algorithms are required for interoperability with Netscape and Microsoft IE browsers.

For developers seeking help with Java Web Server and server-side Java issues, an e-mail list is available on JavaSoft's Web site. The list is frequented by JavaSoft engineers, who exhibit an earnest interest in getting developer feedback. For an example of a Web site using Java Web Server, see the Java Developer Connection at http://java.sun.com/jdc.

Other pricing terms are available for resellers and site licensees. Contact JavaSoft at 1-800-JAVASOFT for further information. And watch for an interview with the Java Server team appearing shortly in JavaWorld.

Phil Inje Chang is a technology consultant and CEO of Simpler Software, a Web application and tools developer. He brings a broad industry background in software development and new media to current projects involving the use of Java for front-end and back-end applications.

Learn more about this topic

Related: