Examples

Project Documentation

Sponsored By

The Semblance Project

The Semblance project houses several subprojects that provide reusable components
for Java applications, and particularly for Java EE (J2EE) web applications.
Of the current three subprojects, two are frameworks (Foundation and StrutsLive), while the third
is a comprehensive example application. The Foundation framework contains a broad array of
generic utility classes and components, many of which were extracted from the original
StrutsLive code base in order to make them easier to consume outside the web tier.

StrutsLive is a framework that adds powerful new capabilities to
Struts 1.x,
enabling it to function as a modern, component-based framework with features
rivaling those of Webobjects or
Tapestry, while maintaining
total back-compatiblity with exsiting Struts 1.x application code.
StrutsLive is in use today in dozens of
major production applications, from high-volume B2C websites like
The Shopping Channel and
Armani Exchange to mission-critical B2B applications,
such as an energy trading system for Enbridge Energy,
a billing system for a major European telecommunications company,
and the Environmental Protection Agency's compliance reporting system.

Development teams at major consulting firms such as Booz Allen,
Sapient, MarketLive,
and JCS International have been using StrutsLive to streamline
development of web applications for commercial and government customers.

One of the key features in the current release of StrutsLive is a
powerful new templating engine that integrates with the previous feature set to
effectively turn Struts 1.x into a modern, component-based framework with features
similar to Webobjects,
Tapestry, and the like.
These new capabilites allow developers to work with standard XHTML templates
instead of, or in tandem with JSP. This allows templates created by
HTML designers to be handed off to developers, who can then add simple markup
to bind dynamic values, iterate over collections, define conditional rendering
behavior, and add formatting and validation rules.
This approach dramatically reduces code size,
and radically simplifies templates by eliminating custom tags and
scripting code (other than Javascript, of course).

There are also powerful new components in the current release
that can automate dynamic queries, and can also automate the management of query results.
A new ListView component supports a comprehensive set of list management
features, including pagination, navigation, sorting, filtering,
selection, drill-down and conditional rendering. The Semblance example application fully
illustrates how to use all these features, and more.

Please visit our website on java.net for
more project-specific information, including downloading and installation instructions.

Background

Semblance emerged from earlier work done in the StrutsLive
framework, when it became apparent that it had outgrown its original charter to provide a set of extensions to
Struts 1.x. As StrutsLive matured, it came to include a number of powerful and
generically useful facilities that could potentially add a great deal of value outside the web tier. In addition,
the idea of adapting the web tier functionality for use with other web application frameworks (particularly
Spring MVC, and
JSF) had surfaced,
and had been met with a certain amount of interest.

The Semblance project made it possible to divide the original StrutsLive codebase into two frameworks.
Struts-dependent code would remain in StrutsLive, and the rest would move to the new Foundation framework,
no longer encumbered by ties to Struts, or to the web tier in general.

StrutsLive has been used to build numerous major B2B and B2C websites and web applications
that are in large volume production use. Just a few of the many production websites known to
be built on StrutsLive are: