HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

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 and applications.

Templates
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 predefined JavaScript front-end validations for data formats and numeric 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 modifying code.

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.

Figure 1
Figure 1

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.

Figure 2
Figure 2

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.

Summary
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
Target Audience: Java developers, technical architects, application designers
Level: Advanced beginner to skilled
Pros:

  • Speedy creation of classes and methods
  • Quicker code assembly, checking, validation, and testing
  • Product comes with CBT
  • Well-written Help documentation and tutorial

    Cons:

  • Unlike an IDE, debugging and creation of HTML screens need to be done external to FULCRUM

    AccelTree Software
    4th Floor, KPCS House
    Bhusari Colony, Paud Road
    Kothrud, Pune 411 038
    India
    Web: www.acceltree.com
    Phone: 91-20-528 5881
    Fax: 91-20-528 5884
    E-mail: [email protected]

    Specs
    Platforms: Windows NT/2000/XP
    Databases: Oracle, DB2
    Pricing: $495

    Test Platform
    Intel Pentium IV, 20GB disk, 128MB of memory, Windows 2000, Oracle8i database, JRun Web server

    Reviewed by
    Kedar Godse [email protected]

    All Rights Reserved
    Copyright ©  2004 SYS-CON Media, Inc.
      E-mail: [email protected]

    Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.