FireStorm/DAO Technical Architecture
FireStorm/DAO™ Schema Import Framework
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.
Importing from supported databases
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™ Project &Configuration Meta-Data
Project Meta-Data
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.
Configuration Meta-Data
FireStorm/DAO™ stores all of its configuration data in XML format.
FireStorm/DAO™ Code Generation Framework
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.
Custom Code Generation Module
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, CMP EJB, or JDO 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.
JDO Code Generation Module
Generates JDO classes and DAO implementation based on JDO. Generates JDO deployment
descriptors.
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™ Ant Tasks
FireStorm/DAO™ contains Ant tasks for importing schemas and generating code, making it easy
to incorporate FireStorm/DAO™ into automated build systems.
FireStorm/DAO™ Command Line
The command line interface is ideal when running FireStorm/DAO on remote Unix servers where only
a console interface is available.
FireStorm/DAO™ Studio
FireStorm/DAO™ Studio is an easy-to-use graphical user interface for importing schemas,
manipulating meta-data, and generating code.
|