DBMS

JDesignerPro

By Brian Jepson
DBMS, September 1997
  • BulletProof Corp., 15732 Los Gatos Blvd. #525, Los Gatos, CA 95032; 800-505-0105 or 408-374-2323; www.bulletproof.com.
  • Pricing: $495 for a single developer and server (up to 50 clients), license upgrades are available at $995 per 100 clients.
  • Minimum Requirements: For Windows: Windows NT; ODBC 2.5 or later with Microsoft-Access driver; latest Sun Microsystems JDK; Web server. For Unix: Sun SPARC 5 or Creator 3D or equivalent; 32MB RAM; latest version of Solaris, Linux, AIX, HP-UX.
  • JDesignerPro is a Java development and deployment system used to create intranet and Internet Java database applications.

    JDesignerPro (JDP) is BulletProof Corp.'s complete Java-based database development tool. Combining a JDBC and ODBC middleware offering with a sophisticated package for creating highly visual database systems, JDP is capable of making up for the lack of Java-based solutions that integrate SQL databases with the user-interface components offered by the AWT.

    To say that JDP is a sophisticated database application wizard may be oversimplifying things; however, in some ways, this is truly the case. It is possible to build elaborate and elegant solutions without having to write a line of code yourself. JDP's user interface translates complex relationships into simple visual metaphors for the application designer. This is an intensely visual development environment, and BulletProof has done an excellent job of supporting both the features of Java's visual environment and the semantics of a SQL database. However, it has taken this one step further: The relationships between the visual environment and the database environment are very easy to manage in JDP. I am generally skeptical of any development tool that promises powerful applications with no programming. This is not a problem with JDP.

    One of the features of JDP that has always impressed me is its middleware server, Jagg. Jagg acts as an interface between the client applet and the database server and makes use of HTTP rather than a proprietary protocol. This is sometimes referred to as HTTP tunneling and solves one of the major problems of applet-based database development: the tricky business of offering database connections to users who are behind firewalls. In most cases, these firewalls will only allow HTTP, FTP, and gopher traffic to pass through. A proprietary socket-based database protocol is not going to make it through the firewall because most proxy servers are unaware of the protocol. However, because Jagg uses HTTP, this is not an issue.

    BulletProof makes an evaluation copy of JDP available from its Web site, www.bulletproof.com. Versions are available for Win32 (Windows NT and Windows 95) and non-Win32 operating systems. In order to use JDP, you must have a Java VM for your operating system. The non-Win32 version of the JDK is targeted at Unix users and is supplied as a compressed tar file. I tested the non-Win32 version under Solaris 2.5, but it should be possible -- at least in theory -- to run it on many Java-supported operating systems.

    Trembling Before the Machinery: Installation

    Under Windows NT, I found that the installation of JDP went quite smoothly. The kit is bundled as a self-extracting archive and uses InstallShield to perform its installation. Because JDP allows you to publish your projects as Java applets on the Web, it's important that JDP cooperate with as many Web servers as possible. Under Windows 95 and Windows NT, a Web server is not required; you can run your finished projects as standalone applications. However, JDP's setup routine will ask you to tell it which Web server you are running and will install the Web-based components under that Web server's document tree. Among the Web servers that it recognizes are Microsoft's IIS and FrontPage Personal Server, Netscape servers, O'Reilly's WebSite, and the grandfather of Windows NT Web servers, EMWAC https. It will also allow you to use a Web server that is not listed and will allow you to configure it appropriately.

    Installation on Solaris turned out to be a bit more manual. After extracting a compressed tar file into my Web server's document directory, I had to modify the JDesignerPro.ini file to reflect the location of files and directories under my Web server (Apache). The modification included such things as the location of the JDesignerPro directory, the Java classes, and the CGI directory that contains the Jagg server. This one was a bit confusing; under Unix, Jagg doesn't get installed as a CGI script. The Unix version of JDP supplies Jagg as a Java-class file that needs to be executed and left running as a server before you can do anything with it. Unfortunately, this is not explained until further down in the installation notes -- after you've been instructed to start the JDP system. The weakest point of the installation came when I tried to figure out how to tell the Jagg server about the JDBC data sources I had installed on my machine. The Win32 version simply queries the available ODBC data sources; it's more likely that under Unix, developers will be using JDBC drivers such as WebLogic's JDBCKona (www.weblogic.com) or Sybase's jConnect (www.sybase.com) to access their databases. ODBC is available for Unix but is not as widespread as it is on Win32. The first thing I tried was to start the Jagg server with -djdbc.drivers=driver_name. After doing this and trying to start JDP, the xterm in which Jagg was running rapidly filled with all sorts of useful information. Finally, Jagg and I were able to agree on the correct syntax:

    JAVA -DJDBC.DRIVERS=DRIVER_NAMEJAGGSERVER 4899 600 DRIVER_NAMEJDBC_URL

    The 4899 value is the port number you wish Jagg to listen on, the 600 is a value that specifies how long to wait before dropping unused connections. The DRIVER_NAME parameter should be the full name of the driver you wish to use, such as com.sybase.jdbc.SybDriver, and JDBC_URL should be a valid JDBC URL for that driver, such as jdbc:sybase:Tds:bjepson.org:4444. You'll need to consult your JDBC driver's documentation for these two bits of information.

    Starting JDP

    Once you've completed the installation, you can start JDP for the first time; however, you will need to start the JaggServer before you can connect. On Windows NT and Windows 95, the JaggServer is started by clicking on the JaggServer icon from the JDesignerPro group on the start menu. This group is installed when you install the JDP. On Unix, you should follow the procedure shown in the previous section.

    Once you have the JaggServer running, you can start the JDP application (Windows NT and Windows 95) or applet (Windows NT, Windows 95, and Unix). You do not have the option of running JDP as an application on any platform other than Windows NT and Windows 95. To access the initial setup from a Web browser, you should ensure that your Web server is up and running, and load the following URL: localhost/JDesignerPro/default.htm. You can substitute your host name for localhost, if necessary. Figure 1 shows the initial setup screen for JDP. On Windows NT and Windows 95, it will show all available ODBC data sources, including the JDP Tutorial (Microsoft Access) and JDesignerPro DB (FoxPro). Whatever data source you choose at this point becomes the data source that JDP will use for authentication and administration. At this point, you must also choose an administration username and password, both of which are required.

    Leaving the Leaded Ground: JDP's App Builder

    Once you complete the initial setup, you will be presented with a login window; this is the window that you will see every time you start JDP from this point on. The JDP System window includes a tabbed dialog that includes Welcome, App Builder, Screen Builder, System Maintenance, and Tools tabs. The App Builder is a good place to start. When you click on the tab, the available tabs change to include a Help, Project Manager, Layout Manager, View Finished Product, Add to Menu, and Create HTML tab. Following each of these tabs takes you through the process of developing a complete project, which can be run as an applet or Java application.

    As you start working with JDP, I encourage you spend some time with the tutorial included in the JDP manual, which is installed in the JDesignerPro group on the start menu under Windows NT and Windows 95. The manual is available in text version for Unix users; it can be found on the download page, listed under System Requirements. The tutorial is completely indispensable when working with this product, and the manual itself is full of useful information. Despite the fact that JDP is quite easy to use, it provides a lot of functionality, and you should take the time to familiarize yourself with its features before attempting to build anything.

    The App Builder's Layout Manager is where you'll probably spend a lot of your time. This is a WYSIWYG screen builder for Java and provides an excellent interface for dealing with the variety of layout managers available in Java. In addition to the standard Java components, JDP offers several data-bound components. When you add one of these to your layout, the Data Wizard appears. The Data Wizard is a tabbed window that takes you through the following tabs: Select Datasource, Select Table, Select Column, and Definition.

    The Data Wizard allows you to specify one or more tables to bind to the component. Figure 2 (see page 36) shows a ResultList, which is a tree view. In it, I have associated authors and titles via the intermediate titleauthor table. The collapsible and expandable list shows the titles for each author. This was done without typing any Java or SQL.

    Figure 3 (see page 36) shows the Layout Manager's interaction manager; the second column displays all the events that are compatible with the item currently selected in the Layout View. I've selected the Detail Grid's LoadGrid method, and associated it with the ResultList's getSelectedKey() method. Add whatever magic is under JDP's hood, and the two components that were shown in Figure 2 are now linked together. As users navigate the tree within the finished program, their selections will automatically update the grid with data from the selected item.

    JDP's ease of use may deceive developers into thinking that it is a trivial product for trivial projects. JDP makes easy things easy and stays one step ahead of the difficult things. No one can take all of the most complex cases into account, but BulletProof has come awfully close. If you're looking for a database development environment that leverages Java's finest virtues, JDP is it.


    Figure 1.


    --The initial setup screen for JDesignerPro.

    Figure 2.


    --This is a ResultList, which is a tree view. In it, authors and titles have been associated via the intermediate titleauthor table.

    Figure 3.


    --The JDesignerPro Layout Manager's interaction manager.


    Brian Jepson researches potential uses of (and implements) computing resources for AS220, a nonprofit center for the arts in Providence, Rhode Island. He is the author of two books, World Wide Web Database Programming for Windows NT and Java Database Programming, both published by Wiley Computer Publishing (1996). You can email Brian at bjepson@ids.net.

    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
    September 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 Friday, August 8, 1997