
|
|
The old adage goes that when all you have is a hammer, everything looks like a nail. Well, the same could be said of those of who are used to building databases. Whenever I see something, it looks like a collection of fields, records, and tables. From my car being a database of parts to actual databases of customers, stock, and service requests, everything seems to break down along those lines. I suspect I am not the only one who sees things this way. That is why databases are the one of the most popular applications in both small and large offices. It was only natural then that as more and more people gained access to Internets and intranets, they would want to put their databases there, and that is no small task.
Traditionally, for as much as the new technology of the Web can have a tradition, putting databases on even an intranet meant full database servers and complex interaction through programming in HTML, SQL, CGI, Java, Perl, or combinations of all of these languages. The methodology and tools here are very similar to the creation of standard client/server applications and require a thorough programming background. However, in most offices today there are many very useful small database applications written in user-level databases such as Claris FileMaker, Lotus Approach, Paradox (aside: one of the developers of Netiva was one of the original developers of Paradox more than a decade ago), or even with macros alone in Microsoft Access. Now a company called Netiva has developed a corresponding product for bringing small databases to the Web, or more precisely, the intranet.
Netiva's self-named product has both development and server components that run under either Windows 95 or Windows NT. The standalone development environment, Netiva Designer, employs familiar drag-and-drop programming methodology to create a database, screens to access the data, and macros to tie it all together.(See Figure 1.) When complete, the application is uploaded to the Netiva Server. Netiva Server includes both the application sever and the database server that, in cooperation with supported Web server software, provide access through any Windows Java-compliant browser to the Netiva Client Java applet that interacts with the application you have created. Netiva applications are multiuser by nature, and all record locking and other such matters are taken care of by the server. At this time, the Netiva Sever does not link to any other database server, and the only way to transfer data with other databases such as SQL Server, Oracle, or Access is through an import/export routine. Netiva is working on an ODBC interface, but it is not available yet.
The version of Netiva used for this review was a beta release available to testers from the Netiva Web site. All documentation, including help and tutorials, was contained in accompanying HTML texts. The final version of Netiva is scheduled to be released by the time you read this. Pricing runs from $299 for a five-user version to $2,999 for unlimited users.
Setup is standard and straightforward, and you can install either Netiva Designer or Netiva Server, or both. The only hitch I had during the installation was when the program could not find Microsoft Personal Web Server on my development machine. This posed no great problem because the installation took my word for the program's existence and merely asked for a few file locations instead of taking them directly from the server's configuration. The installation was very clean, creating a separate program group and changing no existing defaults on my system.
Upon launching Netiva Designer, I felt right at home because I have used many of today's ubiquitous graphical design environments such as Visual Basic, Approach, and Delphi. To create the pages in Netiva, I simply drag and drop components such as text boxes, buttons, and multimedia fields onto the pages I create. Once the components are on the page, I either click on the properties button in the toolbar or right-click on the appropriate object to set its properties. Datatypes are available for all popular uses, such as character, integer, currency, long, and date/time. Additionally, the table can contain multimedia fields for storing sound or graphics.
Once a table is laid out on the back-end page and the user interaction fields and buttons are defined on the front-end page, macros are constructed to tie the application and data flow together. Like the pages themselves, the macros can be built graphically, and Netiva will supply the syntax. This is a good thing because the language that Netiva uses, although not difficult for those used to languages such as Visual Basic, has quite a few syntactical differences that do not lend themselves to immediate understanding. This is primarily due to the interaction of the front-end and back-end pages being a less-than-intuitive construction for most developers. We must remember, though, that the program may be used by dyed-in-the-wool developers, but its main market is a nontechnical end-user type creator.
The only problem I ran into during development was in the final phases of testing the applications. If I accessed them through the browser on my development machine instead of the integrated environment they became locked by the server. I could then no longer modify the application until I shut down the Netiva server and released the application. I hope this will be worked out by final release, but it is no great problem anyway because you would normally design and test completely within the Netiva environment. The only time you would venture to your browser would be as a final check when the application is complete.
The Netiva package comes with one tutorial application of a simple human resource system that went together without a hitch. While following the steps in the tutorial to build the application, I was told not only the steps to take but why I was taking them. I have a feeling that many purchasers of Netiva will simply use the results of this tutorial, possibly with a few modifications, for one of their first deployments. This simple contact manager-like application is exactly what I would expect to see departments deploying to a corporate intranet. It also shows me that the people at Netiva know exactly who their customers are.
After working with the human resources example, I launched into another intranet-style project of a work request system. Here my greatest problems were the lack of a large relational structure with true referential integrity and my ingrained training to use such a structure. Although look-up table style linking is sufficient in many cases, it simply does not cover all bases. Many end users will not think twice about having the same information typed many times over and duplicated in many ways when orphans or odd updates occur, but we hard-core database designers have nightmares over such things. Many-to-many relationships are hard enough to watch over in mature, fully relational systems! When I was able to tone down the side of my brain that was obsessing about such things, I was able to quickly develop a nice little application for service requests.
The help files, manuals, and tutorials are contained entirely within HTML pages that can be launched from the standard help menus within the application. Although I am still a great fan of printed manuals, I actually found these Web-based documents easier to navigate, read, and print out than standard help files. The information was quite complete, and the tutorial was well written.
Additionally, Netiva -- one of the only products in this end-user Web database category -- is definitely the easiest to use. Most other solutions require at least some technical knowledge of tools such as JDBC and the setup or customization of standalone relational database servers such as SQL Server.
The only major problems with the product are its lack of any reporting facility and its lack of connectivity to the major relational database. Without either of these two features, the product's usefulness is greatly limited. Netiva's release of the promised ODBC drivers by late summer or early fall would take care of both of these issues and make this a nearly unbeatable product for smaller intranet database development done by nontechnical end users.
