DBMS

Vision Jade 3.0

By John Mariano
DBMS, June 1998
  • Vision Software, 1201 Webster St., 8th Floor, Oakland, CA 94612; 510-238-4100; www.vision-soft.com.
  • Pricing: Developer Studio: $2,995; Deployment Server: $6,000.
  • Minimum Requirements: Server: 133 MHz or faster Pentium, 32MB RAM; Client: 90 MHz or faster Pentium, 24MB RAM, 200MB of disk or more (a minimum install takes approximately 50MB). Windows 95, Windows NT 4.0, or Windows NT Server with Service Pack 2 installed. Microsoft Access 7.0. When connecting to Oracle: Oracle SQL*Net 2.2 or greater, Microsoft Internet Explorer 2.02 or greater (for the support of JDK 1.1), or Netscape Navigator 3.01 or greater (for the support of JDK 1.1).
Vision Jade is a Web-based application development environment that builds multitier business rules-based applications in Java. These applications can run on client platforms using Oracle, Sybase, or Microsoft SQL Server.

If you need to implement Web applications, but your organization lacks Java developers, you might want to take a look at Jade. A typical Jade user could be anyone from a business analyst to a developer, but nondevelopers who need to produce Java applications will benefit most. Unlike other code-generation products, Jade goes further in establishing a project environment. This approach lets you quickly develop prototypes and produce applications in a relatively short amount of time. Most techies wince at code-generation products, but Vision has created a product that integrates team members and ties the development life cycle neatly together.

The platform, architecture, and general functionality have not changed significantly from Jade 2.0. The first of several improvements is the integration of HTML editors (such as Microsoftýs FrontPage). Jade 3.0 provides a data model validation facility that lets you cross-reference the repository and the data model. This utility is particularly useful when many changes have been made to the repository entities. A valuable addition is a rules-based email, which automatically notifies a predetermined list of application users when an event has occurred. Unfortunately, using business rules to send email is currently supported only with Microsoft SQL Server (SQL Server Email). This is not good news if youýre in an Oracle or Sybase shop. Other databases will be supported in future releases of the product.

Jade 3.0 is similar to Oracleýs Designer/2000, which integrates the business analystýs role by defining business flows that will translate to generated procedural code or forms. Developer/2000 also takes advantage of the repository/team approach. Within each product, the repository collects critical information relative to the project and allows full, uniform access to that information. You can also access the repository to aid the determination of scope and costs for enhancements and modifications to the completed applications. Designer/2000 was intended to be a facility to administer Oracle technology. Jade goes a bit further by tackling business systems programming from the business side, indicated by its declarative approach to business rules.

Installation of the product was fast and easy except a few problems. During the install, Jade gives a choice for which version of Java to use as the default. The choices are between Java Development Kits (JDKs) 1.1.4 and 1.0.2. Dual support for JDK versions lets you deploy Web applications that will work with all flavors of the various browsers. A common userýs usual intent is probably to deploy the Jade application (Java applets) in a Web browser. In this case, it is necessary to install a JDBC server. This server connects the Java virtual machine that processes your Java class files with a data source over ODBC. Jade installs the JDBC/

ODBC bridge from Sun automatically (which is nice), but you still need to install either Intersolvýs SequeLink Java (included with Jade) or Borlandýs Visichannel (originally from Visigenic) for JDBC server (not included). This step is necessary to prevent disabling security from the Web browser. My first install of all components, including SequeLink, took about two hours. After the installation, it was a bit easier. All objects, business rules, archetypes, and other definitions created in Jade are stored in the repository, which is a Microsoft Access database (.mdb), so youýll need Access 7.0.

Creating Applications with Jade

Developing applications with Jade is pretty simple. The design tools are straightforward and intuitive. You can use wizards for almost every function. The application design environment lets you use the following tools: Vision Jade Explorer, Business Rules Designer, Application Designer, and Form Designer.

The first part of creating an application is modeling it on an existing data model. A data model logically represents of how the data is organized in the database. A typical data model shows relationships among entities (tables), their keys, and other constraints. The repository database works very well within Jade, but it would be prudent to support databases other than Access, the facility in which a user defines the application data model.

There are alternative ways to bring a data model into the Jade repository if Access is not your first choice. Reverse engineering from an existing database schema is a viable option. Importing the data model with the Jade Reengineering Manager is straightforward. It lets you identify a schema within a particular database. Choose the tables you wish to reverse engineer, and they are loaded into the repository. Indexes and relationships implemented in the database are imported along with the tables, and relationship constraints are also brought in. Unfortunately, when I tested it, declared check constraints did not make it over. If you are using database triggers to enforce integrity (for shame), youýre out of luck, as they are also not brought into the Jade repository. Any modeling tool that can generate an Access database by default is compatible with Jade. When modeling tables, you must have modeled primary keys on each entity. If you donýt, updating those tables is not possible. Jade interprets tables that have no PK constraints as read only.

The Jade development environment combines business and technical analysis. The business rules that come out of these project phases are defined within the tool and stored in the Jade repository. The declared rules are interpreted by Jade during code generation; the Business Rules Designer lets you define these rules for tables and columns. The Rule Builder tool (within the Business Rules Designer) walks you through the development of each rule graphically. For example, purchasing computer hardware of a value greater than ýXý requires a higher level of authority to sign the requisition. If ýXý is declared through a rule, you can easily modify ýX,ý and the rule will also identify what is necessary to complete this unit of work. You donýt have to write specialized code to capture this functionality; it is encapsulated in a business rule object and created during application generation. This approach works well in an object-oriented programming environment because the rules are objects and treated as such in the application. Jade implements these rules though database triggers, generates the appropriate trigger code, and applies it to the database. Each time the triggering event occurs in the database, the trigger applies its logic. This process is dependent on the data model definitions and is separate from modeling the application. Thus the logic is moved off to the server, and custom front-end programming is eliminated.

The Application Designer and Jade Explorer make up the environment where the user interface for the application is modeled. (See Figure 1.) Jadeýs intent is to paint the form flow for the application at a high level. As an application is painted, Jade shows how it relates to other forms and data. Figure 1 shows the form flow with relationships to other forms. Each form has a driving data source and can be viewed by examining the form itself or through the explorer tree. Jade is a great prototyping facility for an application. You can define two different data retrieval sources (also called RecordSources): Query Objects and Data Objects. These sources are the main source of data for each form. A Data Object is a table of data in a database. A Query Object is a query stored on the database server. You are encouraged to use the Microsoft Query Definition Editor to create a query object. It is possible to create them in a CASE tool. For each of these objects, you can view the SQL in the Query Object Editor. The idea is to encapsulate transactions in the application to ensure proper results through a single object.

In the Application Designer it is also necessary to model the navigation points (referred to as form transitions) between the menus and forms in your modeled application. Each form transition has a parent query and a form as well as a pointer to another query and form (or to itself). It detects relationships within your queries in the application forms. It then prompts the user to identify whether or not a transition should be added. By creating query objects, Jade will build your form transitions for you, and each query can be tuned independently of the application and forms.

After defining the business rules, query objects, forms, and transitions, the application is ready for generation of the Java source code. After you save the application, you choose ýValidate Applicationý to identify any dependency problems. If you are changing data in your queries that have relationships to other forms or queries and they have not been updated, this facility will catch these problems before generating the code.

Jadeýs Java Architecture

If you have used PowerBuilder 5, you are probably familiar with the PowerBuilder Foundation Classes (PFCs) and inheritance. The PFC library is robust, containing different classes that already have prebuilt code to add into an application. Vision Jade has similar functionality to PFC: Vision Foundation Classes (VFCs) for Java and Archetypes for forms. The application and data model definitions in Jade are stored in the repository. You use this information, along with defined Archetypes and the VFCs, during the generation of applications. These Archetypes are predefined form templates that the generation facility looks at when it generates the Java source. Defining these Archetypes is a snap; just use the Archetype wizard. Defining these objects early provides a standard format for deployment and aids in producing forms, as each object will have the same general functionality. If the application or an area of the application needs to be changed, you can modify the Archetype and regenerate the code. VFCs provide functions for the following: database access, interfaces, form construction, service objects, metaclasses, and controls.

Java Developers will adapt to this environment nicely because itýs a clean integration between Java and the Vision Jade development environment. Jade interprets these foundations during the generation of Java source code. Jade uses the Microsoft J++ compiler to create the bytecode by default, but you can choose another. Jade rewrites the source code ý written in blocks ý every time a form is generated. Youýll have to write code outside of the blocks if you want to retain it. During the regeneration of source code, the application should warn the developer that itýs about to overwrite custom programming.

Rules, Applications, and Queries are declared as objects within Jade, so it can generate applets based on the relationships and definitions of those rules. Jade stores these objects in a central repository that a team can access. The Team Development Manager (Figure 2) allows for check-in and check-out of application components from the central repository. Text boxes at the top of the dialog show the path names of the local and central repositories. The explorer compares the central repository data object definition with the local definition. A central facility ý in which all code is checked in and out with version management and explanations are tied to each object by the developer ý helps monitor and enforce proper application development methodologies. It also allows for the disbursement and sharing of critical information during business systems development.

Create the data model, define the business rules, model the application, and generate the code. Thatýs it. There is a fair amount of reiteration between the modeling and generating steps, but the application process is simple and produces robust applications that can support a high degree of complexity. Jade is useful for consulting firms and other organizations that need to develop applications quickly.

Deployment

You deploy the application to its target environment through the Vision Jade Server Manager. Accessibility is simple: The information is contained in the repository and can be migrated to the database server on demand. Oracle7 or later, Microsoft SQL Server 6.5, and Sybase SQL Server 11 or later are platforms that can deploy the data model, test data, and business rules. Deploying the data model creates the tables and other objects and creates the business rules as database triggers.

The Server Manager wizard guides you through the available choices each time you are going to push information to the application server. The wizard also lets you grant public access to the created objects. An added feature for Oracle/OO programmers is the support of mixed case. Most OO programmers code in mixed case; unfortunately, Oracle PL/SQL is case insensitive. Vision Jade will insert quotes around the names of columns and tables to preserve the case sensitivity. The Server Manager wizard will generate all the SQL scripts. At this point, you can log into the application database and execute the scripts. There are a few setup scripts that must be executed against the application database for each deployment and a few other setup scripts for the first deployment.

As I mentioned earlier, Jade uses Intersolvýs DataDirect SequeLink for Java to provide Web deployment. SequeLink is a server-based middleware that provides access to n-tier and point-to-point applications across an intranet or the Internet. Vision Jade applications use SequeLink to connect to the supported database servers in either two-tier or three-tier architectures.

The two-tier scenario is straightforward. The Jade application and SequeLink JDBC client are installed on the client locally and, in turn, connect to the Database Server/SequeLink Server. The SequeLink Server is installed on the same physical machine as the database server. You download the Jade application and SequeLink JDBC driver to the client machine. The three-tier configuration uses a SequeLink Java Proxy Server on the middle tier. The proxy server is also bundled with Jade.

An Attractive Environment

Vision Jade has created an intuitive and well-designed visual Web application development environment. The application modeling tools coupled with the Team Manager create a welcoming environment to develop applications. Archetypes and the VFCs are large bonuses for application development yielding quick turnaround for new and modified applications. Creating business rules as objects lets you incorporate all points in a systems development process.

However, there are some large dependencies on other products, for example, Microsoft Access for the Repository and Intersolvýs SequeLink Server for communication and deployment. While the integration is very good and fairly seamless, they are areas of external dependency for the product. Jadeýs creation of many rules on a particular table could cause serious performance hits to that area of the application. As far as Java development products go, Jade is a tool worth a look, especially if your organization needs to create Internet or intranet applications with a limited number of Java developers on staff.



Figure 1. The Application Designer and Jade Explorer.



Figure 2. The Team Development Manager.


John Mariano is a software engineering architect/manager with Putnam Investments, based in Boston. He specializes in developing and delivering custom and packaged software solutions. You can email him at john_mariano@putnaminv.com.
What did you think of this article? Send a letter to the editor.


Subscribe to DBMS -- It's free for qualified readers in the United States
June 1998 Table of Contents | Other Contents | Article Index | Search | Site Index | Home

DBMS (http://www.dbmsmag.com)
Copyright © 1998 Miller Freeman, Inc. ALL RIGHTS RESERVED
Redistribution without permission is prohibited.
Please send questions or comments to dbms@mfi.com
Updated May 5, 1998