|
||
| about UNIF/X - in the press - "Information Week" article
|
|||||||||||||||||||||
|
|
Connecting The Web To Corporate Databases Bluestone's Sapphire/Web lets experienced developers create client-server applications for the Internet or intranets | ||||||||||||||||||||
|
The real potential of the Internet lies in using database technology to create cost-effective corporate intranets and useful, dynamic, and truly interactive World Wide Web sites. Database systems provide the juice that powers intranet and Web systems to let companies distribute or sell products, services, and information. One new product that facilitates the creation of cross-platform database applications for either Internet or intranet use is Bluestone Inc.'s Sapphire/Web. Database application programmers who also know HTML, SQL, and C/C++ will find the product to be a useful and productive tool. We found that Sapphire/Web version 1.1 helps experienced developers quickly create distributed applications that use HTML documents as the user interface and that access Sybase, Oracle, Informix, and other databases that can be accessed through C or C++ libraries. Sapphire/Web generates Common Gateway Interface (CGI) programs in C or C++ to link HTML documents into a single project or application. It provides developers with an integrated visual development environment and an extensive set of tools and application programming interface function calls. But there are a few prerequisites for the developer. You should have experience with distributed database application development and have a good working knowledge of HTML, SQL, and C and/or C++: HTML because the product does not provide a visual HTML editor; SQL because you'll need to use that language to access the database; and C/C++ because the CGI code is generated in either C or C++, at your option. To the developer fluent in HTML, Sapphire/Web is quite user-friendly; knowledge of other scripting languages is not required. Developers who have experience using Bluestone's db-UIM/X database connectivity product will find Sapphire/Web easy to use, since both are based on the same technology. Installation is straightforward, simple, and well-documented. We had no problems downloading and installing the software, so the whole procedure took about 90 minutes. Comprehensive documentation in both PostScript and HTML formats facilitates learning and using the product. The tutorials are well-designed and documented, and give new users a good overview of the structure and features of the product. Sapphire/Web completely automates the generation of CGI code. It converts HTML templates into HTML documents that are linked with the generated CGI code, deploys CGI programs and Web pages, and facilitates testing with a local browser. More specifically, the generated CGI programs process arguments submitted from the HTML documents and pass them to database-accessing objects developers write in SQL or C/C++. These objects retrieve the data from the database, which is used to generate HTML documents from predesigned templates. Database-accessing objects are referenced by Sapphire/Web using place-holding tags in HTML files. They may include graphical user interface objects, such as tables or lists, or server-side objects, such as SQL, stored procedures, functions, executables, and flat files.Sapphire/Web also provides a visual development environment that helps manage projects by allowing developers to add, delete, and edit HTML templates and hypertext links. The database browser lets developers connect to the database and browse and manipulate tables and stored procedures. Several hooks are provided so that legacy code, external source code, object code, and libraries can be added directly into code generated by the product. Native SQL drivers are supplied for Sybase, Oracle, and Informix databases.
|
|||||||||||||||||||||
|
|||||||||||||||||||||
|
Since the CGI executables produced by the product are C/C++ based, developers can use a standard debugger to troubleshoot generated applications. Bluestone does not supply a C compiler with the product, but works with most vendors' C or C++ compilers. Sapphire/Web produces a single executable that acts as a CGI script, processing all events generated by an application. Thus, the single application executable is easier to manage and debug than an application composed of a large number of shells or scripts that are fired off for individual user clicks or events.
A Few Drawbacks Sapphire/Web 1.1 does have its downside. This single executable adds a significant amount of overhead to the system. In effect, one executable is responsible for all actions and has to be fired by the Web server every time an action is called-that is, every time the user requests a database service, the Web server starts that executable to process the event. Sapphire/Web designers recommend breaking your applications into smaller, independent projects to reduce the size of each executable. But we discovered that this approach makes it more difficult to maintain application consistency. Second, Sapphire/Web lacks a visual HTML editor with WYSIWYG and drag-and-drop capabilities. Developers need to use a third-party HTML editor to create the HTML templates and documents that will serve as the application's front end. Bluestone is working on bundling a third-party HTML editor with future versions of Sapphire/Web, but no release date has been set. Even with a third-party WYSIWYG HTML editor, however, developers still need to know HTML because they need to manually insert data place-holding tags and references to other HTML templates and documents into the HTML templates. These data place-holding tags are used by the product's binder to link HTML documents into one project. A final problem with the product is that it does not provide a tool to enable cross-reference checking between the functions and objects to which they refer. Adding a visual HTML editor and automating procedures for inserting data place-holding tags would transform Sapphire/Web from a very satisfactory product into a powerful Web application development tool.
What's Next Bluestone says version 2.0 of Sapphire/Web for Microsoft's Windows NT will be available by the end of May. Version 2.0 for Unix is expected by the end of October. According to Bluestone, version 2.0 will include tools that let developers display the object tree of a project and to automatically conduct cross-reference checks. Despite its drawbacks, Sapphire/Web speeds application development by providing a range of database-accessing functions and libraries. As with any development tool, however, you will save time only if you know how to use the tool efficiently. You will also realize many of Sapphire/Web's benefits-especially cost and time savings-only when using it for large development projects.
By Donna Oliva and Julian Shifrin |
|||||||||||||||||||||
|
| return to top | |
|||||||||||||||||||||