DBMS

SuperCede 1.2

By Nelson King
DBMS, September 1997
  • SuperCede Inc.; 110 - 110th Avenue N.E., Bellevue, WA 98004; 206-637-5874; www.supercede.com; info@supercede.com
  • Pricing: Database Edition $499
  • Minimum Requirements: 24MB memory, 50MB disk space, 486/66 processor or higher, Windows 95 or Windows NT 3.51 or higher, CD-ROM drive.
  • SuperCede is a Java application development environment that lets you modify and recompile the application as it runs.

    Unique might be the appropriate word for SuperCede by SuperCede Inc., a company recently spun off of Asymetrix Inc. If you think most application development environments are beginning to have a cookie-cutter similarity, you owe it to yourself to try SuperCede -- if for nothing else, the comparative experience. For starters, you can modify your programs while they run, and execute code changes on the fly. (See Figure 1.) The version I used for this review, SuperCede 1.2 Database Edition, has added some very important features -- support for JDBC in particular -- as well as removing some kinks from version 1.0. Not that SuperCede can be called "elegant" just yet. It is still a Java/C++ development system in progress and there are rough edges, but that doesn't detract from an interesting and potentially very effective product.

    Setup for SuperCede is an adventure in multiple windows. It chains together not only the SuperCede setup, but also setups for the included products, Visigenic's VisiChannel JDBC and StarBase Versions. You can easily get a lot of overlapping README files, but it all works. Speaking of the README file, SuperCede's is nearly 10 pages long and chock full of anomalies and other details of operation. I'd say the file and the setup procedure are indicative of a program that is trying to do a great deal -- and succeeding -- but not without some loose ends.

    SuperCede Inc. has been very aggressive in assembling and bundling products that complement SuperCede. Most of these are offered on a potential upgrade basis, meaning that you get complete software but not the enterprise or advanced version. For example, StarBase Versions is a full multiuser version control and project management product that has another edition, StarTeam Workstation Professional, a client/server program that includes software configuration management (SCM) and works across several departments or sites. Similar arrangements pertain for Visigenic's JDBC server, MindQ Tutorials, Object Design's ObjectStore PSE for Java, TVObjects' Visual Basic to Java conversion, and components (Java or ActiveX) from the KL Group, Shafir Inc., ProtoView, and Stingray. When you get so many useful "freebies," the come-on to upgrade is understandable.

    SuperCede is organized by projects, which can be for programs as small as a Java applet or as big as an enterprise application. Component is the operative word, as the project window displays each file as a component arranged in the hierarchical browser fashion made so familiar by Microsoft Windows Explorer. When you double-click a component, the component window appears. In this version, the form designer has become a drag-and-drop environment complete with specialized toolbars, control palettes, and a properties inspector for objects in the window. SuperCede has bent over backwards to keep almost every relevant operation in this one window and, having personally struggled with managing flotillas of windows in other development environments, the effort is appreciated.

    Depending on what the component is, the component window also accesses the appropriate editor (C++, Java). SuperCede automatically creates a shell program that includes the required SuperCede methods and marks out where you can (or should) add code. The code editor isn't fancy, but it does the job. When you're ready, you call for Execute (to start a program), Update (during the run), or Go (while debugging), and SuperCede compiles the changed code and runs the program. What happens next is rad (and RAD); you can start editing code while the program is running and, after updating, the changes will automatically be reflected in the running program.

    This feature is like operating the programming cycle from the debugger. You can run programs to the cursor in the code, set breakpoints, change variables (not just their values, but as in creating or removing variables themselves), and, in general, tweak code while the program runs. The advantages should be obvious, but is this approach bulletproof? Not completely, I ran into several situations where the executing program doesn't refresh (but should), and there were times I needed to fall back on "old-fashioned" debugging techniques (which, fortunately, SuperCede can do). Is the process quick? The initial compilation, program execution, and program image building is often slow (in some circumstances, taking minutes), but subsequent updates are usually quick. It's my impression that the total build time is dependent on the size and complexity (including data access) of the program. However, I was using a Pentium Pro 200 machine where waiting more than a minute or two seemed exasperatingly long, especially compared to compile and execution times in programs like Sybase Power++ and Microsoft Visual FoxPro.

    Compiling and execution times are important for development, but the payoff is in delivery of fast programs. In this regard, SuperCede Inc. has improved SuperCede's Java Virtual Machine to the point where it seems to me to be one of the fastest available. You can also compile to Java native code (for Windows), but the performance isn't as impressive.

    SuperCede is ecumenical about Java and C++ and tries to be the same for ActiveX controls and Java components. (See Figure 2.) The basic Java edition of SuperCede supports only Java components, so you must have either the ActiveX or Database edition, which is a superset of the Java and ActiveX editions. SuperCede provides a decent library of both kinds of components (the freebies mentioned earlier). There are limitations: You can't create ActiveX components or use ActiveX with data aware capabilities. The SuperCede approach does seem to favor Java.

    Not long ago, data access was the bête noire (black beast) of Java programming. Now that JDBC is available, the situation is better, though not perfect. In the new Database Edition, SuperCede has implemented a sophisticated (if convoluted) arrangement of middleware called J-ADO (Java ActiveX Data Objects), which uses the resources of both Intersolv Inc.'s JDBC-ODBC Bridge driver and Visigenic's VisiChannel JDBC driver. Don't be confused by the ActiveX in the name; this is a pure Java implementation that mimics Microsoft's ActiveX Data Objects specification to achieve more programmer-friendly data access. (See Figure 3.)

    While J-ADO may appear to be a best of both worlds situation (access to both ODBC and JDBC), performance is a real consideration. Function calls and datasets go through a lot of hand-offs in this system, and the quality of the database drivers is variable. Even the tutorial material warns of degrading performance for applications that require multiuser record locking. I was able to test a 100,000-record table with three of the ODBC or JDBC drivers (Visual FoxPro, Access, and MicroSoft SQL Server), and found query speed to be acceptable in all cases, but mass updates (of any kind) could slow to a crawl. Data is attached to forms by dragging a Data Source Control (DSC) onto the form in the component window. In the DSC, you define which database table is accessed and a number of other properties relating to multiuser locking and security. For ODBC tables, you must first create a Data Source Name (DSN) for the database. The DSC is actually a complete command and navigation control including buttons for movement between records and for Add, Update, Delete, and Cancel. In many forms the buttons are appropriate, but you must use the DSC in all cases where you want to access data for each table and make it invisible if it isn't used as a control. This is a long way from the flexibility and elegance of the Visual FoxPro Data Environment or a PowerBuilder DataView.

    I was particularly surprised to discover that SuperCede doesn't include a grid control (or component). The row and column display of data is a staple for most other application development systems and is featured in Visual Basic and PowerBuilder. You can purchase a grid from other sources, including most of the companies associated with SuperCede, but it shouldn't be necessary. On the plus side, SuperCede does provide the guts of TVObjects' Visual Basic to Java converter, which, like the ability to use C++ code or incorporate ActiveX controls, is jailbait for programmers who feel the pressure to learn Java.

    SuperCede is dead-on with its assumption that most C++ programmers (and many with Visual Basic experience as well) will at least try Java. The way SuperCede works, it doesn't matter (much) which language you choose. This makes it an ideal tool for somebody making the transition. On the other hand, with all its innovation, SuperCede still betrays some of the raw qualities of Java itself, particularly since this version doesn't support JDK 1.1 or JavaBeans. While I was using SuperCede, I often found myself comparing it to mature client/server development products like PowerBuilder or Delphi. Perhaps that isn't fair, but then SuperCede invites this kind of comparison. Among these products, I would rank SuperCede low for database management, average for the IDE -- with the wild card being the modify while running ability -- and average for integration of its many elements including documentation and tutorial material. Compared to other Java application development products, especially Symantec's Visual Café, SuperCede is a peer in most respects, though with far less Internet orientation. It's no secret that Java is still growing and improving, so most programmers are betting on the future. In that regard, SuperCede Inc. has already demonstrated a willingness to innovate and improve. With its wide array of included third-party products, SuperCede is a good value. It should be on anyone's short list of Java products to evaluate.


    Figure 1.


    --The ability to run a program and modify it at the same time is the highlight of SuperCede's development environment.

    Figure 2.


    --SuperCede's visual environment features palettes with both Java components and ActiveX controls.

    Figure 3.


    --The data access elements are a new and important addition to SuperCede.


    Nelson King is a professional software developer specializing in Internet database management applications. He has published eight books on database subjects for MIS: Press and frequently wears a journalist's hat (including that of a columnist for DBMS beginning in January 1998).

    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