FireStorm/DAO Technical Architecture
FireStorm/DAO can import relational database schemas from Database Definition Language (DDL) scripts and can also import schemas from a JDBC connection to a live database.
FireStorm/DAO contains specific support for the DDL syntax and data types used by Oracle, DB2, Microsoft SQL Server, Sybase, Informix, MySQL, InnoDB, PostgreSQL. FireStorm/DAO™ also has intelligent support for auto-increment columns and sequences used by MySQL, Oracle, and DB2.
Importing with generic databases
FireStorm/DAO can import schemas from any relational database that supports ANSI-SQL or has a JDBC driver available.
FireStorm/DAO projects are stored in an easy-to-understand XML format making it easy to share projects with other developers and store them in source control systems such as CVS. FireStorm/DAO™ ships with an XML Schema Definition (XSD) file making it easy to manipulate the project meta-data using external tools.
FireStorm/DAO™ stores all of its configuration data in XML format.
FireStorm/DAO has a powerful code generation framework allowing custom code generation modules to be developed (Architect Edition only). The API provides access to all of FireStorm/DAO's configuration and project meta-data in a simple Java object-model removing the need to parse the underlying XML files. FireStorm/DAO's code generation framework also provides a highly object-oriented approach to creating Java source files.
This Architect Edition-only module allow the DAO code generation modules to be customized to:
- Optimize performance based on specific project requirements
- Integrate more closely with existing build environments, such as internal coding standards
- Add environment-specific extra custom features such as caching, security, auditing, and clustering
J2EE Code Generation Module
This code generation module creates JSP pages for each DAO allowing them to be tested very easily. Each DAO is also wrapped in a Stateless Session Bean making it easy to publish the DAO objects as transactional components as part of a Service-Oriented architecture (SOA). J2EE deployment descriptors are also generated for the target platform (JBoss, WebLogic, WebSphere)
When generating code for J2EE it is possible to choose between JDBC DAO, CMP EJB DAO, or JPA DAO for the DAO implementation code.
Apache Struts/JSP Code Generation Module
This module generates a complete Web application for interacting with the generated DAO tier. The generated application is based on the Apache Struts framework and contains full functionality for inserting, updating, deleting, and searching records using the DAO tier.
CMP EJB Code Generation Module
Generates Entity Bean source code for each table as well as CMP deployment descriptors for the target platform.
JDBC Code Generation Module
Generates DAO implementation using plain JDBC/SQL calls.
DAO Code Generation Module
This module generates Data Access Object (DAO) interfaces, Data Transfer Object (DTO) classes, and DAO exception classes. The JDBC, EJB CMP, and JDO code generation modules generation concrete implementations of the DAO interfaces.
FireStorm/DAO contains Ant tasks for importing schemas and generating code, making it easy to incorporate FireStorm/DAO™ into automated build systems.
The command line interface is ideal when running FireStorm/DAO on remote Unix servers where only a console interface is available.
FireStorm/DAO Studio is an easy-to-use graphical user interface for importing schemas, manipulating meta-data, and generating code.