Over the past couple of years, a number of Java development tools have
appeared on the market; these tools focus on various aspects of software
development, such as modeling, deployment, and testing, and aim to increase
productivity. As a developer, prominent on my wish list is a productivity
tool that addresses code development. The main criteria when looking for
this tool was that it should assemble code quickly as well as be flexible
enough for me to change the assembled code. AccelTree's FULCRUM promises all
this and more.
FULCRUM speeds up core tasks code assembly, data structure definition,
validations, documentation, and more. The driving concept of FULCRUM is the
generalization of repeated patterns of Java code in the form of templates
that can be used as ³building blocks² to construct efficient Java objects
The palette of templates that the product provides includes Java
classes, EJBs, class methods, code blocks, and program specification
templates that generate documentation automatically. Also included are
validations that can be linked to HTML controls using FULCRUM's Presentation Manager. While FULCRUM doesn't create the HTML file, it generates
XML and XSL on the fly, which can then be rendered on a browser.
While most complex data structures supported by Java are meaningful only
at runtime, FULCRUM provides a virtual configuration mechanism to help
developers get the meaning by looking at the vectors or data structures
configured within FULCRUM. This also reduces documentation needs. The
product features a business rule engine to which the middleware components
can make calls as needed at runtime. This satisfies a critical need of
application configuration by enabling you to edit business rules without
Installing and Using FULCRUM
Getting started using the installation CD for version 1.1 was a breeze.
The requirements for FULCRUM include J2SDK version 1.3, ActiveX Bridge 1.0
(Java plug-in), Microsoft Windows Installer, Microsoft XML Parser 3.0, and
MDAC 2.5. The setup wizard lets you include these in the course of
installation if you don't have them already.
Java application development with FULCRUM does not require any
additional runtime software. Setup was essentially smooth and in a couple of
minutes I was checking out the product features. I had previously checked
out version 1.0 and found that getting the hang of the development flow was
not exactly a piece of cake. The documentation gave me a basic idea about
the tool, but left me befuddled in terms of actually using the features. The
online documentation was not very clear either. I needed better guidance
with concrete examples to visualize how templates were used within FULCRUM
to develop and test an application as well as to see how it could help me
with code assembly.
Version 1.1 turned out to be a vast improvement, in this respect. The
Help documentation provided an extensive introduction to the concepts and
included a comprehensive FAQ. It also came with a tutorial guide and CBT,
which I hoped would get me up and running in a couple of hours. Not quite.
Though the tutorial examples were lucidly written, it took me almost two
days to gain enough of a comfort level with the product features to really
start using the tool.
Since we were in the process of designing an in-house resource
management system, I decided to use FULCRUM to quickly develop a simple
application framework and get a sense of how helpful the tool would be. The
application specs required three Java classes for maintaining employee data,
maintaining project data, and assigning appropriate employees to projects.
After briefly reviewing the tutorial and initiating the project within
FULCRUM, I defined the program specifications through the FULCRUM Program
Specification Wizard, which promptly generated a program specification
document (see Figure 1). The wizard also helped me define the class, select
the appropriate template from FULCRUM's template library, and set up the
naming conventions for the class, methods, and variables. The defined class
is saved as a .java file.
I included the Java file within the project module using the FULCRUM
Project Explorer and added variables and methods to the class using the
class builder functionality, which also provides an advanced code editor so
you can enter your own code. The editor supports syntax highlighting for
Java and HTML in addition to the usual editing features.
To test the class, FULCRUM generates a test JSP that passes dummy values
as parameters to the methods and displays the returned data in a browser
window. I used FULCRUM's Presentation Manager to map between HTML controls
and Java class variables (see Figure 2), and FULCRUM generated the
Presentation JSP based on this.
Although the module I've described here is quite simple, checking out
all the FULCRUM features and implementing them took me several hours.
However, the time invested helped me develop the other classes speedily in
about half the time I would typically expect.
Though the benefit of using templates for code development is
intuitively obvious, the way FULCRUM integrates this concept across the
development process from specification to testing gives the tool its real
power and value. If reinventing the wheel is not your hobby and you need a
tool to take care of the tedious development overhead, the FULCRUM Java code
assembler is what you've been looking for. Be prepared to spend a couple of
days learning its concepts, though it will be time well spent. While a
skilled or expert Java programmer can utilize this tool to the maximum
advantage in large developments, even a programmer with modest Java
experience will gain insight into overall architecture by using the FULCRUM
process for development.
JDJ Product Snapshot
Speedy creation of classes and methods
Quicker code assembly, checking, validation, and testing
Product comes with CBT
Well-written Help documentation and tutorial
Target Audience: Java developers, technical architects, application designers
Level: Advanced beginner to skilled
Unlike an IDE, debugging and creation of HTML screens need to
be done external to FULCRUM
4th Floor, KPCS House
Bhusari Colony, Paud Road
Kothrud, Pune 411 038
Phone: 91-20-528 5881
Fax: 91-20-528 5884
E-mail: [email protected]
Platforms: Windows NT/2000/XP
Databases: Oracle, DB2
Intel Pentium IV, 20GB disk, 128MB of memory, Windows 2000, Oracle8i
database, JRun Web server
Kedar Godse [email protected]