Editor's Note: Bluestone Software will be coming out with a 100 Percent Pure Java implementation in version 4.0 by the end of the summer. Instead of generating C or C++, it will also generate 100 Percent Pure Java on the server that can run in any Java Virtual Machine
I tested Sapphire Web on a 486DX4100 with 1.03Gig-HD and 240MB-HD and 24MB RAM.
The installation process is typical of most Win 95 software. Loading from a CD-ROM, it takes approximately 15 minutes. System requirements include: Intel Processor, 25 MB hard drive (for full installation may need about 40MB available), 16-24MB (Win 95) or 32MB (Win NT) RAM, Visual C++ Version 4.x, a Web Browser and a Web Server.
Visual C++ is not needed but is highly recommended; if at all possible, follow this recommendation. Sapphire/Web is set up to create compiled code. You only need a C compiler. However, using anything other than VC++ means modifying the make file that Sapphire/Web creates. Unless you are good at decoding make files, you are better off having VC++. However, by supporting 100 Percent Pure Java in the next version of Sapphire/Web, there will no longer be a need to have Visual C++.
After installing Sapphire/Web, you have to configure the software. The configuration process consists of identifying your HTML editor and Web Server. When you start, you are shown a message that says you should have Visual C++ installed and configured, and that your Web Server should now be running. When you move to the next screen, Sapphire/Web checks for Visual C++. If it does not find it, you get a popup message saying so and to consult Help for details.
The next step is responding to a Helper Application screen. Here you identify your HTML editor, such as Front Page, and your default browser, such as Netscape or Microsoft Explorer. On this screen, there are also buttons to test each command for verification. The default for the editor is Sapphire/Web's own editor. The default for the browser is Microsoft's Internet Explorer.
After the Helper screen is the Database Configuration screen. Here you supply values for the Data Object Directory, default is the install directory for Sapphire; Default Vendor (which is 'ODBC'); Database Username; Database Password; and a Gateway Host. Following this is a configuration screen for Oracle and Informix. If you will use neither you'll quickly bypass these two screens.
Finally, you will identify your server. Sapphire/Web attempts to identify your server, which should be running. If it cannot detect your server, you will be required to fill in values for CGI directory, HTML directory, CGI URL and HTML URL. After filling in these values and pressing the NEXT button, Sapphire/Web will test what you have entered. The last screen to appear is the server Extension Configuration, which you are only required to fill in if you are going to use the higher performance Application Servers. Now you are ready to get started.
Sapphire/Web is: "For developers creating Web-to-database applications, Sapphire/Web is the Java-and-Web-to-Database development tool that makes it easy to create high-performance Web applications. Unlike other tools that deliver server-side only solutions and technology lock-in', Sapphire/Web offers interactive Java client and server-side business logic in an open development approach. Sapphire/Web gives you the choice of Java, ActiveX, and the security and scalability to meet the needs of Enterprise-Wide and Worldwide applications."
Simply put, Sapphire/Web is a tool especially designed to enable you to link your Web front ends like HTML and Java to your database. It does not pretend to be a graphical user interface layout tool. In fact, it allows users to integrate tighty with other HTML and Java layout editors. Sapphire/Web does come with a simple HTML text editor, shown in Figure 1.
Since it is not primarily a GUI tool but an integrated applicatoin development environment and deployment solution, you can use Wizards or templates to get started. However, your best bet may be to create your HTML documents with some other product. There are many HTML editing tools available with simple database connecting capability. Sapphire/Web is really for the larger enterprise developer who requires more advanced featrues of application development and deployment rather than quick HTML layout.
In addition to working with templates and existing HTML, Sapphire/Web works with Visual J++. Through VJ++, you can create the GUI and then pass the document along to Sapphire/Web to add the database links.
Sapphire/Web's manuals are commendable. The package includes a set of three manuals: "Getting Started", "User's Guide" and "Client Object." I strongly recommend you go through the "Getting Started" manual. It steps you through the configuration process and explains each step. These are manuals worth reading and becoming familiar with, which is rare for any set of manuals.
Initially, the process seems very tedious. Each tutorial takes you step-by-step and includes an additional screen that gives you more explicit step-by-steps instructions. This makes the process seem tedious. However, after you have completed a couple of projects, the process will seem very smooth.
Figure 2 displays the Sapphire/Web project screen. The two major components are the Project' section and Object Bind Editor' section. The Project section shows your HTML documents and activators' within those documents. An activator is any object that creates a link to either another Web page or a database. For example, an activator can be a "submit" button or an anchor tag. In Figure 2, FindPackage' is an activator.
The Object Bind Editor' is for establishing the link between objects. A "bind" associates a GUI activator with a data object and a resultant HTML template page. Again, the whole point of Sapphire/Web is to establish the connection between the HTML document and a database.
The bottom section in Figure 2 is the message area. This is where Sapphire communicates the results of its actions to you. It is important to keep a close eye on this section because there is nothing that draws your attention to this area.
Figure 3 shows the expanded view of the Object Bind Editor. It contains a gread deal of information and power and therefore can seem constrained on smaller PC monitors. In any event, the Insert Arguments', Result Columns' and Data Site Map' tabs are for establishing the link between the database fields and the input fields/arguments in your HTML document. establishing this link is fairly simple and takes only a few seconds.
Sapphire/Web is good at what it does - building enterprise applications. There are two areas that can be improved upon that would make this product better. One area, which I just mentioned, is expanding the size of the Bind Object Editor.
The other area concerns the requirement/recommendation of having Visual C++.
The good news here is that Bluestone will be coming out with a new version this summer that supports 100 Percent Pure Java code generation. With the coming of the new release, Sapphire/Web should jump to the front of every Java developer's wish list for enterprise database development.
About the Author
Dana Crenshaw is a freelance writer based in Atlanta, Georgia. He is a systems analyst with over 13 years of experience. Dana can be reached on CompuServe at 75022,1343.