Columns
Vision Jade - too complex for its own good?
- By Todd Zino
- June 18, 2001
The
Java language's increasing acceptance in the enterprise has caused it to
be used on the server- as well as the client-side of computing. This new
breed of application servers takes advantage of Java's interoperability,
distributability and ease of use in handling and forming components. Vision
Jade 4.0, from Oakland, Calif.-based Vision Software Tools Inc., is an example
of the rapidly emerging class of master suites that emphasize the "business
logic" approach to rapid development and, perhaps more significantly,
rapid reengineering.
Often, one can become too immersed in development to step back and analyze
the breakdown of the code's process (not to be confused with the management
process). Vision Jade proposes that, aside from data management and the
user interface, more than 50% of an application's code and creation boils
down to business logic. This intriguing buzzword constitutes the various
control structures, data validation, math computations and other declarative
rules that define the flow of data through an application.
The development paradigm behind Vision Jade is that an operation declared
by a business rule is explicitly maintained in a high-level rules repository
and data-flow model, rather than buried in a number of code modules. This
"Repository" approach to development is often championed in software
engineering textbooks, but is seldom used in the real world beyond source-code
control systems and desktop database products, such as Access. In Vision
Jade, the repository comprises data objects and business rules that can
be reused among any number of in-progress projects. This logical execution
is encapsulated within Java components and extended through the server side,
rather than just translated into generic Java bytecode.
In a nutshell, the Jade approach to development is as follows: create or
import a repository using database tables that will be accessed by an application;
develop visual forms and business rules with a mind to the overall data
flow of the application; and then deploy the application using the Business
Logic Server.
As with most products in Vision Jade's general class, it is necessary to
evaluate the strengths of both the server and the development platform provided
by the package. Perhaps the first question to be asked is: "Why have
an application server at all, let alone a 'business logic' server?"
Most modern client/server applications are deployed within Web browsers
and dependent upon server-side databases. This has influenced both Web and
database server vendors to implement many of the functions handled by an
application server. The battle echoes the long-running holy war of "middleware
vs. two-tier" and the closely related "centralized vs. distributed"
conflict. The inherent advantages and disadvantages of each approach change
in magnitude with each particular environment.
Jade's Business Logic Server is built upon a Corba foundation and comes
with its own administration utilities. It offers the standard features of
most application (or Web/database) servers, including load balancing across
multiple machines, security and session management, and "fail-over"
recovery. Yet it is the "Business Logic" portion that distinguishes
Jade from its peers. Once business rules are declared, integrated into the
repository and compiled into Java client components, they are then executed
on the server side as a sequence of logical commands. The server then has
the ability to optimize these incoming rules and their associated transactions
for maximum throughput.
Vision Jade exhibits an interesting perspective on the paradox of interoperability.
When investing in Jade, for example, one makes a commitment not only to
the business logic approach but also to the proprietary server interface.
While this is par for the course with any application server, Jade's "proprietary"
interface can be a series of visual rules rather than a droll API that takes
months to learn. Moreover, because Jade handles most of the enterprise model's
server functions, it is easy to switch among database, client and Web server
platforms.
If Jade's advantages on the server side are dependent mostly on the versatility
paradigm, its Business Studio may be what wins developers over in the end.
Upon initial creation of the data repository from a remote SQL server, Jade
automatically generates a form-entry screen for the data objects. A graphical,
high-level view of the application as a whole is also generated, with easy
point-and-click access to particular screens within this model. Defining
and modifying the business rules behind any particular form object is made
very intuitive through use of context menus, as well as the object hierarchy
pane on the left side of the window. Rules are divided into five categories:
attributes, relationships, constraints, actions and properties.
Jade is at its brightest when making significant implementation changes
with just a few mouse clicks. Rules can be changed, and relationships and
constraints altered, with a simple recompilation. Although there is no direct
way of accessing the code within Jade, there are facilities whereby a third-party
editor can be invoked from within the Business Studio. Automating the maintenance
and revision process is extremely promising, as most of the cost of software
development lies in these tasks.
Underlying Vision Jade's impressive operation -- and features that no other
application server appears to possess -- is the question "Is Jade too
complex for its own good?". If Jade's declarative approach and optimal
performance are primary, why use a procedural, and relatively slower, language
like Java on the server side? And if Java was chosen for its interoperability,
why then is the entire server written from the ground up in Java so that
it can be run on any Java-capable operating system?
It is difficult to assess the future of Vision Jade 4.0 in a world in which
languages, OSs and database servers are all competing to manage and deploy
client/server applications. There will be a learning curve associated with
developing around business rules, but Jade's user interface makes this task
far easier than learning a new API with nothing but user documentation to
comb through. Moreover, Jade has saved firms unparalleled resources and
time with its ability to recompile projects swiftly every time an additional
rule, database element or object relationship is altered. This latter advantage
is what may make the difference to developers looking for a more robust
and easier path to long-term enterprise applications than what is offered
by most major database suites.