DBMS

Netiva

By Michael Carnell
DBMS, August 1997
  • Netiva Software, 1684 Dell Ave., Campbell, CA 95008; 408-379-2100 or fax 408-341-1830; www.netiva.com.
  • Pricing: from $299 for a five-user version to $2,999 for unlimited users.
  • Minimum Requirements: Netiva Designer and Server: Pentium-class processor; 16MB of RAM (32MB required for Windows NT); 800 by 600 resolution video card/monitor; Windows 95 or Windows NT (version 4.0 or greater); TCP/IP network support. Netiva Client: 486 processor; 16MB of RAM (32MB of RAM required for Windows NT); 800 by 600 resolution video card/monitor; Windows 95 or Windows NT (version 3.5 or greater); Netscape Navigator 3.0 or greater or Microsoft Internet Explorer 3.0 or greater; TCP/IP network support.
  • Netiva lets users create multiuser relational databases that are automatically networked and instantly deployable on intranets.

    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/Install

    Windows 95 or Windows NT 4.0 is required and you should have at least 16MB of RAM, although as with most development efforts you will be more comfortable with 32MB. Screen resolution of 800 by 600 is required for all environments, and although this is standard for many these days, there are those of us who still use 640 by 480 and find anything higher hard to get used to. Harder still is that this resolution is a requirement for the client machines that will be accessing the application, and this could pose problems for users with older devices that cannot display anything above 640 by 480.

    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.

    Building Applications

    An application is constructed using a page metaphor that is similar to forms in other environments. A Netiva application consists of at least two forms, a back-end page for the actual storage of the data and one or more front-end pages for interaction with the user. The back-end page is only seen by the application's designer, remains persistent through all user sessions, and defines the schema of the tables that the application interacts with. Although Netiva claims relational capability, this is only true in a very limited way. The relational support is more what most would describe as a look-up table capability. In fact, the developer does not even define the linked fields as such but merely names the linking fields similarly in two different tables and then drags one table onto the other. The Netiva program then establishes the link. No control over orphans, cascaded updates and deletes, or any other such function of true relational capability is available. This is also true of indexes that Netiva creates without intervention. By looking at links and the data, Netiva establishes indexes over which it maintains complete control. Although this simplifies matters for a novice developer, it is a bit frustrating for those of us who do this type of thing for a living. The front-end pages exist only during a user's session, present and accept information from the user, and interact and move data to the back-end page through macros. The front-end page is all your user will really ever see.

    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.

    Easy-to-Use

    All in all, this product seems to fit its market fairly well. Although not suited for full Internet deployment because of lack of multiplatform support, robust security, and robust relational structure, it fills the niche for smaller intranet applications fairly well. In this area it is meeting the same expectations as desktop database products such as Claris FileMaker or even Lotus Approach. That being the need for nonprogrammers in departments such as marketing to create small, easy-to-use reference databases. And, as with the desktop products, when those needs are outgrown, the tasks require a programmer with advanced knowledge of database structures and programming.

    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.




    Figure 1.


    -- The Netiva Designer environment is well laid-out and immediately familiar to anyone used to graphical design environments.



    Michael Carnell is a systems engineer responsible for client/server and intranet development at the Roper Care Alliance in Charleston, South Carolina. You can reach him by email at carnellm@palmettobug. com, or visit his home page at www.palmettobug.com/carnellm.
    What did you think of this article? Send a letter to the editor.


    Subscribe to DBMS and Internet Systems -- It's free for qualified readers in the United States
    August 1997 Table of Contents | Other Contents | Article Index | Search | Site Index | Home

    DBMS and Internet Systems (http://www.dbmsmag.com)
    Copyright © 1997 Miller Freeman, Inc. ALL RIGHTS RESERVED
    Redistribution without permission is prohibited.
    Please send questions or comments to dbms@mfi.com
    Updated Thursday, July 10, 1997