Application Quick Start / Migration Tools
With the JAFFA pattern generation engine in place, the key for rapidly building an application is
to come up with standard component patterns for software components that are used time and time
again. As Java is a 3GL, there is a great deal more code to write that in a typical 4GL rapid tool. Also
building a n-tier application as opposed to a simple client/server model, requires more software layers and
again more code.
With a pattern/template based approach the volume of code that must be written is dramatically reduced.
By writing a component once and then abstracting it to a reusable pattern, we can then
generate multiple custom versions of that component just by using different XML component descriptors.
This greatly increases development time. If your patterns can be regenerated, fixing bugs and regenrating
the code can be done in just minutes.
JAFFA does not just provide a fixed set of components, it provides all the tools needed for you
to start building your own patterns, that solve other problems in your domain. The hope is that
anyone that creates new patterns will release them back into the JAFFA project, so that we can
offer a wider range of component patterns and allow different project based on JAFFA to share, exchange
and collaboratively develop new patterns.
The diagram below is an illustration of the vision we have for the tools and pattern engine inside
the JAFFA project. It covers building domain objects, a tool for infering inquiry and maintenance
components based on the domain objects and there relationships, and other tools that could be
used to extract information from other legacy systems and generate component descriptors from them.