Vision JADE 4.0 is the newest release of Vision Software's application development environment for Java. While there are a bevy of Java development environments on the market, Vision JADE offers a different approach to developing Java applications. The basic design of JADE builds upon a model-driven approach to application development that Vision Software pioneered long before the world had heard of the Java language. Vision Software is in the process of releasing an updated version of JADE, version 4.0, which features a number of enhancements including an application server component.
Vision JADE 4.0 is scheduled to be released into production by the early fall, and I was given a version of the beta code, complete with features to work with. Despite the fact that this was an early release, the installation CD-ROM came complete with a standard Windows install program that simplifies the process. There are four components to install as figure 1 shows.
You'll want to be sure and read the options before you proceed with installation so you'll be prepared for any last minute changes. In my case I needed to select the "install third party products" choice in order to install the required versions of Intersolv's ODBC drivers. Although you can install the complete system on a stand-alone Windows NT machine, I chose to install the development environment on one machine and the Business Logic Server alongside my Oracle database on a second machine. In most cases you'll only need to install the Vision Development Platform and Vision Business Application Server (the proxy service is provided for sites that will be accessing the BAS from behind a firewall). The overall installation went smoothly, despite the fact that it was a pre-release of the software, and the entire installation process took only an hour of my time and about 100 megabytes of disk space.
Vision JADE Product Components
The Vision JADE suite of products is not just another Java development environment. Rather, it's designed more for the business application developer than the pure Java technologist. The JADE product family is composed of three key components: the Vision JADE Business Studio, the Business Logic Server and the JADE extensible data access framework (XDA).
The JADE Business Studio is the hub of the development environment and serves as the starting point for building applications. At the heart of the development environment is the JADE repository, which stores your data models and all application components. While the use of a central repository is a powerful concept, the JADE repository can be stored only in a Microsoft Access database in this release of JADE. Vision has a strategy for supporting the forthcoming repository standards being discussed at the Microsoft and Oracle camps. For the moment, JADE developers will have to make use of a PC-based file system in which to store the repository (since MS-Access runs only on PC file systems).
After installing JADE and starting the Business Logic Server, I launched the JADE Business Studio to begin developing my first JADE application. The starting point for any JADE application is a business data/object model. JADE does provide its own tool for designing a data/object model, but it can reverse-engineer an existing data/object model from any of the databases that it supports. Vision JADE has the ability to create tables on its own; I would recommend using a more robust data-modeling tool such as ERWin, PowerDesigner or Oracle Designer to create your database if it doesn't already exist. I used the reverse-engineering tool to load a data model from an existing Oracle8 database into JADE. It was a simple four-table database that models a student records application. JADE was not only able to quickly import this data model into the JADE repository, but it was also able to detect the primary keys and foreign key relationships between each of the tables. The next step in the process would be to model the various business rules in the JADE Business Rules Editor. However, I chose to jump ahead and generate a quick application based on the default tables I had pulled from my Oracle8 database. Within minutes I was created a simple application that would allow users to interact with the base tables of the application.
The left-hand project browser can be used to navigate through the various data entry forms that I created in the application. The right-hand panel offers a visual view of the forms hierarchy and the basic transition between form elements. JADE automates many of the routine tasks that would be associated with developing a data-centric Java application. I was able to use the business rules designer to modify the CLASSES table of my application to serve as a drop-down lookup list for the UGRADS table. Once I began to generate data forms based on the data model, JADE automatically made use of the lookup list for all forms that referenced the CLASS table. Overall, the development environment is well organized and easy to use, but you can't "dock" many of the tool bars to the main IDE window, which can make the desktop a bit cluttered.
Maximizing Your Productivity
The real power of JADE can be found in two key areas: the business rules designer and the archetype builder. The business rules designer is used to add rules to the various data objects you create. You can use this facility to create data integrity rules, processing logic and action events for any of your base data objects. When you generate (or deploy) your application, JADE will generate the necessary database definition language (DDL) commands to implement your database and integrity rules. In addition, JADE generates the necessary Java code for implementing the remainder of your business rules and event code. JADE will automatically partition the code to run on the Business Logic Server. While this can save you considerable time, JADE does not allow you to fine-tune the partitioning process. Forms can be built directly on top of data model objects and relationships, or they can be built on top of canned SQL queries. Unfortunately, JADE does not provide its own query-builder, and requires developers to use the query-building facility built into MS-Access.
While JADE generates a large amount of the code for you, developers can affect this process directly through JADE's archetypes builder. For those of you who are unfamiliar with this term, the American Heritage Dictionary defines archetype as "original model or type after which other similar things are patterned." All of the key application generation capabilities of JADE are based on a series of archetypes. JADE's archetype designer is used to move a system archetype to an application where it can be edited to reflect your company's standards for application design. Archetypes are a powerful facility for implementing standards throughout your organization, but they should be approached carefully. While application specialists will find JADE easy to use, the process of physically editing and testing archetypes is best left to the technical specialists.
The JADE installation comes complete with over 20 demonstration applications that can be used to give you a head start on building JADE applications. These samples cover the gamut from building servlet applications to adding JavaBeans to an application. There is even a sample XDA application that will help you connect JADE to a custom data source. While these demo applications are well designed, I would still recommend training before you embark on a major application with JADE.
Deploying the Application
JADE allows you to test your application directly from within the development environment, either as an application or as an applet within a browser. In addition, the development environment allows you to call out to other Java development tools (such as Microsoft J++ or Symantec Visual Café), as well as makes use of your favorite visual HTML editing tool. I was able to integrate Symantec's Visual Page with JADE, which allowed me to edit my HTML with a graphical editor, a feature that JADE doesn't provide. This release of JADE offers a Java-based application server for the middle tier (the Business Logic Server). To make the process of deploying and managing these applications easier, JADE comes equipped with a Business Logic Console tool.
The Business Logic Console offers an impressive suite of capabilities, including the ability to manage database connections, users and security. While the development tool itself can deploy the application to the server for you, the Business Logic Console is used to configure the application once it has been deployed. The left-hand pane of the Business Logic Console works like an outline control, while the right-hand pane shifts as you select components with your mouse. I was able to restrict access to the data tables in my application to certain users directly through the Business Logic Console. In the longer term, Vision intends to support third-party application servers and provide the ability to deploy business objects as Enterprise Java Beans (EJBs). Vision has already implemented failover capabilities and load balancing, which will be enhanced in future releases of the BLS. Vision has certified the BLS to run under Windows NT initially, and will certify the server on a number of key UNIX platforms.
Client: Dell Pentium II 200 MHz, 64 MB RAM, 4 gigabyte disk drive, Windows NT 4.0 (Service Pack 3), ViewSonic 15-inch SVGA monitor, 3COM Etherlink XL Adapter and 8X CD-ROM.
Server: Dell Pentium II 266 MHz, 128 MB RAM, 8 GB disk drive, Windows NT 4.0 (Service Pack 3), Sony 15-inch Trinitron, 3COM Etherlink XL Adapter and 32X CD-ROM.
Vision JADE 4.0 offers a high-productivity environment for building Java-based business applications, and I recommend that you put this product on your shortlist of development tools to evaluate. JADE is attractive for organizations looking to leverage the power of their application designers in the Java world. You may wish to consider alternatives if you're looking for a low-level Java development environment.
About the Author
Jim Milbery is an independent software consultant based in Easton, Pennsylvania. He has over 15 years of experience in application development and relational databases. Jim can be reached at [email protected], or via his Web site at www.milbery.com.