Our dreams of having the world at our fingertips have been realized in large measure by the advent of the World Wide Web and Web browsers. The Java Platform gained much of its popularity due to its inherently distributed nature and its implicit support for the Web. The Java-based products that are defined under the platform for facilitating Web-based development are a major factor in this support.
This month we will peer into The Cosmic Cup to look at the products from Sun Microsystems that support the Web- and browser-based application development. Please note that while a wide range of Web products and APIs are available from several vendors, this column currently focuses on those provided by JavaSoft/Sun Microsystems Inc. These are base products, closely linked with the APIs defined under the scope of the Java Platform, which is why I want to focus on them.
The Web Products
Web products that facilitate the development of Web-based applications are listed below and illustrated in Table 1. Subsequent paragraphs examine the products individually. Links for detailed information on all products mentioned may be obtained from Sun's Java Web site at
- HotJava Browser
- HotJava HTML Component
- HotJava Views
- Java Plugin
- Personal WebAccess
- JavaServer Engine
HotJava Browser (HJB) is a modular browser that may be used for creating and deploying Web-enabled applications and several different environments and devices. It's a lightweight browsing solution that can scale to provide a solution for a variety of devices ranging from NCs to desktop PCs.
HJB allows developers to custom-build a browser with a highly customizable interface, depending on the application or device it targets. Customization is achieved through the use of text-based properties files. It provides flexibility in the look and feel for the UI for the application. The HotJava Browser supports various Internet standards and protocols including: Java applets, HTTP, HTML, tables and frames, persistent cookies, mulitmedia formats, file and mail transfer protocols, secure sockets layer (SSL) and internationalization.
HotJava Browser is a commercial product available from Sun Microsystems, Inc.
HotJava HTML Component
The HotJava HTML Component is a JavaBeans component that provides functionality for parsing and rendering HTML. It may be viewed as the HotJava Browser without the user interface. Instead, its interaction with other components is provided via the JavaBeans paradigm. It is a full-fledged browsing component that offers support for the same Internet standards and protocols as the HotJava Browser.
This product provides Web access to thin-client devices such as screen phones and NCs. The proprietary user interface for these devices is meant to be provided by the vendor. The HotJava HTML Component is also targeted to ISVs and corporate in-house developers who would like to incorporate HTML viewing into their applications. In addition, it may be used to plug and play with other JavaBeans components to create full-featured applications.
HotJava HTML Component is a commercial product available from Sun Microsystems.
HotJava Views (HJV) software incorporates an environment and a set of tightly integrated corporate communication tools for e-mail, calendar management, name directory and Web browsing. It is used for enterprise deployment of a server-centric WebTop client using a graphical suite of deployment tools.
HJV software is centrally installed, configured and managed at the server, which significantly reduces client administration. It provides support for multiple platforms and supports internationalization and localization. The HJV software consists of the following components:
HotJava Views software is bundled with Sun's JavaStation and with network computers made by other manufacturers.
- Selector/sliding panels: Customizable GUI elements for accessing applications and information.
- MailView: A simple IMAP4/SMTP-compliant mail client that enables editing, sending and saving e-mail while providing extensive integration with other tools.
- CalendarView: A personal and group calendaring tool that provides calendaring and scheduling capabilities.
- NameView: A LDAP/JNDI-compliant tool for accessing corporate-name databases. It enables users to view an enterprise name directory that can be created from within HotJava Views or downloaded from existing enterprise directory databases.
- WebView: This is an HTML-compliant Web-browsing tool for the intranet. It may be used as a constrained browser that permits access to predesignated URLs only, or as a full-capability browser that enables access to any URL.
- Administration tools: Comprehensive tools (applets) for configuring and managing WebTop clients. These may be used to configure other HJV components as well as user profiles.
Java Plugin (formerly known as Java Activator) runs Java applets or JavaBeans components in an HTML page using Sun's Java Virtual Machine (JVM) inside Microsoft Internet Explorer (IE) on Win32 platforms, or Netscape Navigator on Win32 and Solaris platforms.
Since Web browsers are usually a couple of steps behind the latest release of the JDK, they cannot use the features available in the latest Java Runtime Environment. For example, Netscape and IE browsers do not currently support the latest features of JDK 1.1 such as JavaBeans, RMI and JNI. Java Plugin ensures that enterprise developers can use all the features and functionality of the latest Java. JDK ensures that they can deploy 100% Pure Java applets on their intranet. The current Java Plugin is ready for JDK 1.2 and the Java HotSpot virtual machine with an architecture that makes upcoming features available today.
Java Plugin is a free product available from Sun Microsystems.
Personal WebAccess is a customizable, compact Web browser for devices running the PersonalJava platform. It supports Internet standards including HTML 3.2, HTTP 1.1, tables, frames and Java applets. It has a small footprint that makes it suitable for consumer devices such as desktop screen phones or Web phones, set-top boxes, car navigation systems, high-end cell phones and other mobile hand-held devices.
Personal WebAccess is designed as a collection of JavaBeans components. It allows device manufacturers the flexibility to choose the level of functionality they need with choices ranging from a base HTML rendering engine to a full-fledged Web browser. Personal WebAccess will support SSL and I18n in its next release.
This product offers a user interface designed to accommodate the smaller displays of consumer devices. The interface is customizable, allowing device manufacturers the flexibility to create a fully tailored Web browser that fits the look and feel of their product line.
Personal WebAccess is a commercial product offered by Sun Microsystems and was developed in collaboration with Spyglass.
Java Web Server
The Java Web Server (JWS, formerly known as Jeeves) is a cross-platform Web server written in Java. It provides implicit support for the Java servlet API, SSL, digital signatures, Access Control Lists (ACLs) and proxy support. The salient features of JWS are:
The JWS is available as a commercial product from Sun Microsystems.
- Cross-platform functionality: Since JWS is completely written in Java, it is truly cross-platform.
- Servlet API: JWS inherently provides support for the Java servlet API. Servlets are protocol-independent and platform-independent server-side components, written in Java, that are basically an alternative for CGI scripts.
- Page compilation: Page compilation allows server code to be embedded in an HTML file. As a result, changes can be made to the server with no recompilation of the code, thus allowing the option to customize Web content from the client side.
- Session tracking: Session tracking is a mechanism for building a sophisticated, stateful model on top of the Web's stateless protocol. With this feature, session state is maintained by the server.
- Administration applet: The administration applet is a set of GUI-based tools that provide a single point of control and facilitate installation management of a Web site. It is used to install the JWS.
- Presentation templates: Presentation templates are a content management feature that allow HTML content to be independent of the overall look and feel.
- SSL support: JWS provides standard SSL (secure socket layer) support for secure communication.
- Secure area sandboxes: JWS supports secure area sandboxes that allow Java servlets, like applets, to be isolated in predefined spaces so they are secure.
- Digital signature: JWS provides support for digital signatures that allow servlets to run securely outside the sandbox.
- Access control list (ACL): JWS supports ACLs, which are used to control access to specific Web site files or servlets.
- Proxy support: JWS supports proxy disk caching.
The JavaServer Engine is a collection of reusable Java classes that automate connection management, security and administration to simplify the development and deployment of network-enabled server-based applications. It is a product targeted at value-added resellers, system integrators and ISVs.
Developers can leverage the JavaServer Engine in their applications and are provided simplified connection management, data security and user authentication. The product also provides a Web-based server. The JavaServer Engine also provides applet-based administration and native support.
The JavaServer Engine provides a finer granularity of control over the HTTP protocol as compared to JWS, which is an out-of-the-box Web application solution. Application extensibility is accomplished through servlets.
The JavaServer Engine is a commercial product from Sun Microsystems; pricing and availability have not been announced yet.
The Web and the Internet have been instrumental in defining the Java Platform APIs as well as in the development of products initially offered as Java-based solutions to industry problems. The very nature of the Java Platform makes it an ideal environment for development of solutions in the client/server world. It will be interesting to see how these products evolve from the client/server realm to enterprise solutionsbased on distributed computing.
About the Author
Ajit Sagar is a member of the technical staff at i2 Technologies, in Dallas, Texas. He holds an MS in computer science. Ajit focuses on networking, UI and middleware architecture development. He's a Java certified programmer with 8 years' experience. You can e-mail him at [email protected]