HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

Most of us have seen a standalone Java application of one sort or another. But few of us have seen any commercial applications of serious merit yet... until now, that is. CADIS has just released Krakatoa, the object-oriented client/server search and retrieval development program. Krakatoa is delivered to the client via either a java applet that is downloaded, or a combination of javascript and HTML frames, and allows Web users to search through structured content by refining their search criteria with finer and finer details of interest. By clicking on their selection with the mouse, the count of qualifying items is instantly updated, allowing users to find the products or documents they are looking for. URL's, product information or sales contacts are requested at that point, again via the mouse, enabling users to find exactly the information they are looking for with a minimum amount of effort. Krakatoa was named after a volcano. We'll take a look and see if it lives up to its namesake.

Figure 1
Figure 1

Cadis's Krakatoa is a complex piece of software that allows users to gradually narrow down their searching criteria to find specifically what they are searching for. National Semiconductor Corporation is using Krakatoa to make their entire product line of over 30,000 component parts available over the Web, providing interactive access to their product information based on attributes of interest to the Web user Krakatoa consists of three integral pieces of software:

  • The Krakatoa Client can be either the Krakatoa/Java Client, which is a java application that is downloaded, or the Krakatoa/HTML Client, which is a combination of Javascript and HTML frames.
  • The Krakatoa Server (written in C++) is an object-oriented knowledge modeling engine that serves Krakatoa knowledge bases. (The Krakatoa Server consists of three parts: the Krakatoa Knowledge Base Management System, the Schema Authoring Tool, and a C++/Perl API.)
  • The Krakatoa Java Proxy Server is a special security feature that is a relay between the Krakatoa Server and the clients it serves.
The installation of Krakatoa is no simple matter, consisting of a multiple step process. To quote the Installation Manual, "This guide is intended for experienced system administrators whose responsibilities include the installation of software and the maintenance of networked servers and client systems." You have to uncompress the server software and knowledge base, run the install scripts, customize the registry files and scripts, start the registry server and License Manager, and start the Knowledge Base Server. Luckily there is a sixty-seven page Krakatoa Installation Guide and a twenty page Krakatoa Java/HTML Installation Guide to get you up to speed.

Documentation for Krakatoa is very comprehensive, including a 200 page API Developer Reference Manual and a 182 page Schema Authoring Tool Manual.

Krakatoa delivers information to the client by either using a Java application or a combination of Javascript and HTML and frames. I found the Java version to be a fully working example of what Java development is supposed to be. However, concerning the speed of the program, I found the Javascript/frames version to be more efficient. The Java application takes about one and 1 1/2 minutes to download, and is fully functional, but with the present speed of Java compiler in Netscape, it is still a fairly slow tool to use. This is a Netscape limitation, and shouldn't be a concern by the end of the summer when Netscape incorporates a new Just-In-Time compiler. The Javascript/HTML version, however, is fast, taking no time at all to download since most of the code is actually executed on the client side, and it is very easy to use. The Javascript/HTML version can be used by anyone that is using Netscape 2.0, whether it's the 16-bit version or the 32-bit version.

A schema is an "orderly combination of things or events representing a given plan, often organized using a set or rules." The Krakatoa Schema Authoring Tool is a Microsoft Windows' (or Motif, depending on your platform) tool that is used to create a classification schema out of a company or organization's knowledge base. Relationships between products are organized using what's known as Classes and Subclasses. In the Authoring Tool, and in the actual Krakatoa Java or Javascript application (see Figure 2), Classes are represented by folder icons, and are added by clicking on the Add command at the bottom-left of the Authoring Tool Window. Subclasses are added the same way. Class positions on the Schema tree can be moved by dragging and dropping them where you want them on the tree, as can subtrees. If you are familiar with the use of Case tools, you will have no problems adapting to the Krakatoa Authoring Tool. However, there are no wizards to guide you along, and reading the Authoring Tool Manual is a prerequisite. The Krakatoa Authoring Tool is definitely not a product that you will be an expert at using without cracking the manuals.

Figure 2
Figure 2

Krakatoa uses Netscape (and now Microsoft Internet Explorer) frames to render HTML. The frames are defined in three places for Krakatoa to function: the krk.html, krk.conf and krkStart.html files. You can name your frames anything you want, but they have to be defined in the krk.conf configuration file in the cgi-bin directory. The krk.html file then has to be changed in the <frameset> portion to reflect the changes that you've made in the configuration file. All of this is just basic editing, and anyone familiar with HTML will have no problems with any of this. Krakatoa HTML/Javascript is started from a link to the frame layout file krk.html, which can be edited by any frames-knowledgeable person as long as the krk.xxx targets are left intact.

Krakatoa has been designed to be a secure product, with or without firewalls. When no firewalls are present, the Java client works directly with the Krakatoa Java Proxy Server. If firewalls are present, simulated sockets are used to transport the data betwen the client and the proxy server, which does not allow any external address information. External sources are prevented from providing bogus address information that would allow a hacker to get to an unintended host. The Krakatoa Java Proxy Server and the Web (HTTP) server must run on the same host, although the Krakatoa Server may run on a different host.

The cost of Krakatoa includes training for one representative that will attend a CADIS System Administration training course. This individual will then be the technical contact for the site, and may contact CADIS for technical support via phone, email or fax.

The cost of Krakatoa ($25,000), not the learning factor (Krakatoa is no harder for a developer to learn to use than an Integrated Development Environment or 3D design tool might be) might stop many small companies from purchasing it. However, the cost may be minimal when compared to the benefits. Krakatoa can increase the efficiency of customer searches by providing a more accurate description of items and a faster method of identifying and finding the items. For the company that manufactures these items, Krakatoa can help avoid the creation of a new item when a suitable one already exists, and can reduce the duplication of items within an information system, which lowers the overall costs associated with managing and using items within such a company. Deciding whether to invest in the future can be a difficult decision for some. For me, it's simple... never look back.


All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.