New Jaffa Release - v1.3.0
Back in October we announced the availability of Jaffa v1.3.
This release was a maintenance release primarily focused on Struts 1.1 compatibility,
but it also includes all the smaller feature requests and bug fixes over the last few months.
Highlights of Jaffa v1.3.0 are
- We now support Struts 1.1 and Tiles within the Presentation Layer, and can support widgets
being nested across multiple tiles
- We have new Ant Tasks to support the fragment merging, making the build scripts much simpler
- We've added additional connection pool support. - We support access via the original
DbConnectionBroker, or the Jakarta Commons DBCP package, as well as supporting JNDI DataSources
from within the web container. In addition to this the persistence engine config file now has a
DTD which is validated against.
- We now fully support the 'BOOLEAN' datatype. It now supports different packing styles, viz.
BOOLEAN_BIT, BOOLEAN_TF, BOOLEAN_YN, BOOLEAN_10
- We've added some new utilities:- SettingsBase for business rules and EmailHelper for sending
- We've added support for database generated key in the persistence layer
- Modified the Tomcat encryption Realm to support DataSources and connection pooling
For more details look at the Release Notes
Version 2.0 Plans
As we speak there has been much work done on version 2.0, which is available via CVS. The main focus of the v2.0
is a major rework of all the component patterns based around the Struts 1.1 and Tiles capability. Beyond just a
visual overhaul of the patterns some major changes have been introduced into the Maintenance pattern which allow it
to now support related object maintenance, as well as features like dirty read detection, timestamping, comments
fields, multi-screen 'wizard' based entry. In conjunction with these changes the application builder has been
modified so it now generates inter-related maintenance components, as well as providing values for the other new
fields added to the patterns.
We are now working on some 'Jaffa Components' that will work under the new patterns to allow for various
customizations of the deploy application. This will allow things like label, settings, logging, etc to be
Version 2.0 Release
The vision of the next release, is not only to provide the normal jaffa.jar,jaffa-tools.jar and jaffa-html.zip, we
also want to the new relase the new components (jaffa-components.jar, jaffa-components-html.zip).
Along with this we aim to release jaffa-baseline.zip. This file when unzipped will be a complete* Jaffa baseline
project with all the normal Jaffa development and runtime binaries, as well as configuration files and
build scripts etc. It will also include database setup, and possibly a complete MySQL database with data.
*Unfortunately we can't include any commercial 3rd party jar's in here (like oracle drivers, etc)
The goal of this project, is to have a single Ant script that will build a basic Jaffa application, then
configure and deploy it to run on your web server, without any of the hard work that this would normally
entail. (Assuming you have Java, Ant and Tomcat installed!)
The next part of getting started with Jaffa is using the App Builder to generate a basic application from a domain model.
This 'jaffa-example1.zip' will contain a domain model along with a couple of config files and Ant scripts.
When this file is unzipped over the jaffa-baseline.zip, and the supplied Ant script is run, this then from
the domain model will generate the application components descriptors, generate the component code, compile it, build
the WAR file and deploy it, creating the tables in the database.
You now have your first Jaffa application built from scratch, up and working in 5 minutes.
Beyond this we are still working on a full blown sample application that shows all aspects of our patterns,
as there are plenty of ways to tweak the generated XML files beyond what the App Builder produces.
The generated source also has numerous extension points for custom code.
Jaffa v2.0 is currently in CVS, but we plan to make the official release with the baseline project and examples
either at the end of this year or early into 2004, assuming we can squeeze it in between our real jobs.