Sep 12th, 2006, 05:36 PM
RSF version 0.6.4 released
RSF is an open source web programming framework based on Spring, with roughly the same scope as Sun's JSF. Unlike many other frameworks which simply offer "integration" with Spring, RSF is built entirely from a set of overriding Spring contexts, offering unparalleled configurability to users. The presentation layer of RSF is based on a fast and minimal pure-HTML templating engine, IKAT, which achieves a more complete separation between presentation and logic than has yet been achieved in other frameworks.
0.6.4 is particularly relevant as regards the Spring community per se, since this release sees a much improved alignment between RSF and Spring web fundamentals, as well as a packaging of RSF's pure-HTML renderer, IKAT, as a SpringMVC view technology to join JSPs alongside Velocity and Freemarker templating engines.
New in the RSF documentation for 0.6.4 is a fully worked example that will be very familiar to Spring users, the Spring MVC Step by Step sample, which is first ported to HTML templating, leaving the SpringMVC structure intact, and finally ported to become a full RSF application, leaving the template files, business layer and Spring validation structure intact.
The working of this example is very instructive to show RSF's positioning within the space of Spring web technologies. Whilst retaining compatibility with Spring web fundamentals such as Validators, Errors and DefaultMessageResolvable, the RSF core logic cycle essentially abstracts away the Spring "controller" layer which has historically been a dependency weakness. The resulting apps are more portable (to JSR-168 portlets with zero code changes, for example) and arguably more cleanly and reusably structured since they make use of dependency injection idioms throughout.
Note that the SpringMVC-integration and pure RSF modes are different "packagings" of the RSF core beans (achieved through differing Spring configurations), they may not be used simultaneously within the same context.
New features in 0.6.4:
Main highlights of this release are
- All-new validation framework based on BeanGuards(TM) - guaranteed execution of code packaged either as POJOs or Spring Validators, targetted at particular EL paths.
- BeanScopes allow "long bean lifetimes" (e.g. within session scope) that, unlike flows, are not tied to particular request sequences.
- TargetListAggregatingBean framework enables multiple independent sources to target the same bean, enabling apps to built up out of truly modular components, each contributing their own core RSF definitions (e.g. request addressible beans, fetch bracketers &c)
- Various usability enhancements, templating improvements and bugfixes - see the RSF Roadmap page for full release details.
All info available on the RSF wiki, discussion and support on the RSF forums.
This will be the final 0.6.x release of RSF, work now begins on RSF 0.7 and the long-awaited feature of multi-file templating.