SAN MATEO (07/17/2000) - Developing the front end of a Web application can be tricky. First your designers must come up with a striking look and feel for your site, and then your programmers have to realize that vision -- hopefully without compromise. Web site design is one of those gray areas where art and science collide, and the results are often unpredictable.
That's where OOP's new code library, Hammock, comes in. Hammock provides a set of reusable Java code to automate coding routine procedures and simplify debugging and maintenance. Better yet, Hammock automatically generates HTML interface elements for dynamic Web applications. So you can create HTML interfaces for Java applications using Java, not HTML. The upshot: Java programmers can focus on being Java programmers.
That said, Hammock isn't a panacea. You still need a solid understanding of how HTML works -- you just don't have to remember all the details. Moreover, because Hammock is simply a library of components, and because the source code is included, the product's functionality can be extended and modified to meet your company's specific needs. By presenting a clever solution to a vexing problem, Hammock scored Very Good.
The product is set up as a servlet interface to back-end applications developed with Enterprise JavaBeans. Unlike a Java Server Page, which contains HTML interspersed with Java, a Hammock front end is coded entirely in Java and rendered in HTML by Hammock's servlet technology. This approach encourages more pure object-oriented development and lets you develop Web front ends completely independent of their back ends. Hence, as new technologies evolve on either the front or back ends, you can change one with minimal impact on the other.
I set up Hammock on a Windows 98 machine running Sun Microsystems Inc.'s JavaServer Web Development Kit. Next, I integrated Hammock with MicroEdge Inc.'s Visual SlickEdit. I could import the library easily into a SlickEdit tag file, which allowed me to browse the Hammock classes in SlickEdit's Class Browser.
Once it's loaded, Hammock offers a complete library of HTML functionality, including the ability to generate HTML form elements and formatting code, which can be implemented and managed within a formal development process. I could quickly assemble forms and see how they would fit into a Web application. And by building a class to manage the forms in an application, and then building a class to generate each form, I could create dynamic Web interfaces that put form information at my fingertips.
When it's run, Hammock's HTML is optimized for the particular browser accessing it. Hammock also monitors the application state, giving you an easy framework for organizing the different screens that make up a typical application.
Because front ends built with Hammock are typically coded entirely in Java, the only way to preview the code is to run the application. In other words, looking at a Hammock front end isn't quite as easy as pulling up static HTML in a browser. But this shouldn't be considered a drawback, as most developers end up running their apps anyway.
Who would need a product like Hammock? The answer: any Java 2, Enterprise Edition (J2EE) programmer who hates having to write HTML to build Web front ends. Non-Java shops should beware, however, because Hammock requires a good deal of Java know-how. After all, the product is simply a code library. But if you work with J2EE, Hammock just might make your life a whole lot easier.
Eric Hammond (firstname.lastname@example.org) is a technical director at XLeration, a Denver-based Web development company.
THE BOTTOM LINE: VERY GOOD
Business Case: If you work with J2EE and you're comfortable with a pure Java Web front end, Hammock can help you turn out better-quality front ends faster.
Hammock's HTML is also optimized for browser compatibility.
Technology Case: Hammock brings the strengths of object-oriented programming, such as reusability and inheritance, to one of the most difficult arenas in which that method can be applied: the HTML interface of a Web application. The product integrates with any server capable of handling Java servlets.
+ Reusable component library
+ Strong browser detection features
+ Smooth integration with server
+ Extendable and customizable to meet specific needsCons:
- Requires code-level familiarity with JavaCost: $499 per licensePlatform(s): Any hardware and OS platform that can run a Java servlet engine and supports Java Development Kit 1.1.7 or laterOOP, Chesapeake, Va.; (757) 420-7500; www.oop.com