FireStorm/DAO Architect Edition

FireStorm/DAO Architect Edition is powerful and flexible database access tool that offers the choice of generating a DAO tier using either JDBC DAO, EJB CMP DAO, Hibernate DAO, and Spring DAO. In addition, the Architect Edition can also generate J2EE Web applications for Tomcat, JBoss, BEA WebLogic, and IBM WebSphere.

Download FireStorm/DAO

FireStorm/DAO Architect Edition is priced at $995 per developer for Annual Developer Subscriptions, which can be purchased from the CodeFutures online store.

CodeFutures provides FireStorm/DAO users with the source code for the entire product, including the source code for the code generation templates (JDBC DAO, Hibernate DAO, and Spring DAO).

The code generation templates are written in standard Java so there is no need to learn a proprietary code generation template language as with other solutions. There is no limit on the number of custom DAO design templates can be developed – possibly using different DAO templates for different parts of the same application. Additional non-DAO custom code generation templates can also be developed and used with FireStorm/DAO.

FireStorm/DAO Architect Edition includes the source code for the entire product, including the source code for the each of the DAOs (JDBC DAO, Hibernate DAO, and Spring DAO). This allows FireStorm/DAO to be customized:

FireStorm/DAO Architect Edition also allows new custom code generation templates to be developed and integrated with the FireStorm/DAO Studio environment.

FireStorm/DAO Architect Edition Features

Supported Databases

All editions of FireStorm/DAO support the following database platforms:

Supported J2EE Platforms

FireStorm/DAO Enterprise Edition generates code for the following J2EE platforms:

Supported Operating Systems

All editions of FireStorm/DAO run on the following operating systems:

FireStorm/DAO Architect Edition - Demonstration Video

A short demonstration video introducing FireStorm/DAO Architect Edition is available in Windows Media format to view here.

Java Code Generator

Team Development using the Architect Edition

The maximum benefits of FireStorm/DAO are usually derived by a software development group using the Architect Edition to customize the DAO design template for its environment.

An experienced software developer within a software development team customizes the DAO template. Then any other programmers who want to develop a data persistence tier use the Enterprise Edition and the custom DAO template provided by the DAO architect.

The DAO templates in FireStorm/DAO Architect Edition can be customized to a project’s exact requirements: optimize performance, integrate more closely with existing build environments, and add environment-specific extra custom features such as caching, security, auditing, and clustering.

The benefits of using FireStorm/DAO Architect Edition with development teams include:

Custom Code Generation with FireStorm/DAO Architect Edition

FireStorm/DAO™ Architect Edition allows custom code generation modules to be developed and integrated into the FireStorm/DAO product.

The FireStorm/DAO™ SDK provides two interfaces that must be implemented by user-defined code generation providers. These are the Provider and ProviderOptions interfaces.

Once the user-defined provider class has been developed it can be integrated with FireStorm/DAO™ by simply adding the class name to the firestorm-conf.xml file as in the following example:

<codegen-providers>
  <provider>com.mycompany.codegen.MyProvider</provider>
</codegen-providers>

This code generation provider will now be available within the "Generate" menu in the FireStorm/DAO™ user interface and will also be available to the Ant code generation task.

The following syntax can be used to invoke a user-defined code generation provider using Ant:

<codegen
  home="${firestorm.home}"
  src="${firestorm.home}/projects/myproject.xml"
  provider="myprovider"
  output="generated-code"
/>

Example of Code Generation Template

/*
* Copyright 2009 CodeFutures Corporation. All rights reserved.
*
* This is vendor code. Use is subject to license terms.
*
* Author: Andy Grove
* Date: 21-April-2008
* Time: 08:57:11
*
* Visit / for more information.
*/

package com.codefutures.firestorm.codegen.dao;

import com.codefutures.jingo.source.dom.JClass;
import com.codefutures.jingo.source.dom.JAttribute;
import com.codefutures.jingo.source.factory.SourceFactory;
import com.codefutures.firestorm.project.dom.TableDao;
import com.codefutures.firestorm.project.dom.TableDaoColumn;
import com.codefutures.firestorm.project.dom.PrimaryKey;
import com.codefutures.firestorm.api.CommonOptions;

public class GenTablePk
{
    public static JClass generate(
    TableDao dao,
    CommonOptions config
    )
    {
        JClass c = SourceFactory.createClass(
        config.getDtoPackageName(),
        dao.getJavaName()
        + DaoConst.PK_SUFFIX
        );

        c.setJavaDoc(
            "This class represents the primary key of the "
            + dao.getSqlName()
            + " table."
        );

        c.addImport( "java.io.Serializable" );
        c.addImplements( "Serializable");

        PrimaryKey pk = dao.getPrimaryKey();

        if (pk != null)
        {
            TableDaoColumn col[] = dao.getPrimaryKeyColumnList();
            for (int i = 0; i col.length; i++)
            {
                JAttribute attr = c.createAttribute(
                col[i].getJavaType(),
                col[i].getJavaName()
                );

                c.createAccessorMethods( attr );
            }

            c.createConstructor( c.getAttributeList() );
        }

        DaoCodeGenHelper.createToStringMethod(
            c,
            dao.getPrimaryKeyColumnList()
        );

        return c;
    }

}

FireStorm/DAO Architect Edition Customer Testimonials

“FireStorm/DAO Architect Edition gives us full control and ownership over the code that is much preferred over other proprietary products. In our experience, most other DB mapping tools and products provide great productivity over the short term, but over the long term, the inability to control the generated JDBC introduces bugs that are very difficult to fix and maintain. Unnecessary workarounds are then used which contaminate our system's architecture. FireStorm/DAO will definitely stay part of our tool set within the foreseeable future!”
Kobus Steenekamp, Senior Java Developer, Discovery Health

“FireStorm/DAO is a great tool not only for rapidly prototyping, but also for doing production quality code. During code reviews and load testing, we have found that the code generated by FireStorm/DAO performs exceptionally well.
We have eliminated the concern of connections remaining open and each developer implementing persistence layers differently.”
Robert Peck, Lead Architect, Ahold USA

“FireStorm/DAO Architect Edition has been an essential tool for building our Workplace Drug Testing and Executive Coaching Web sites. It has saved use a small fortune while we prototyped various applications - allowing us to make changes on the fly without worrying about coding errors or even having to test our code - it's that reliable.
John McGuire, Lead Architect, LinkedCRM

“FireStorm/DAO Architect Edition allows us complete control over the generated code mitigating any risks of changes in our application or the product. We were able to build upon the generated persistence layer and generate much of our client and business layer code. In some cases, we were able to generate up to 75% of the code leaving only business logic to program.
We like to joke that at the end of our 18-month project, we will have figured out how to generate the entire application. We would like to thank the FireStorm/DAO team for their outstanding support throughout our project.”
Matt Pearce, Technology Consultant, Ajilon Consulting

Download FireStorm/DAO