Fire Storm DAO
Fire Storm DAO
Fire Storm DAO
CodeFutures FireStorm/DAO™
Technical Overview
CONTENTS
1 FireStorm/DAO Introduction .................................................................. 1
1.1 FireStorm/DAO Overview ................................................................ 1
2 Data Access Object Overview ................................................................. 3
2.1 Data Access Object Design Pattern................................................... 3
2.2 The Benefits of Data Access Objects ................................................. 3
2.3 Minimizing the Impact of Moving to DAO........................................... 4
2.4 DAO Code Generation..................................................................... 4
2.5 DAO Types Supported by FireStorm/DAO.......................................... 4
3 FireStorm/DAO Technical Architecture..................................................... 6
3.1 Schema Import Framework ............................................................. 6
3.2 FireStorm/DAO Project & Configuration Meta-Data ............................. 6
3.3 Code Generation Framework ........................................................... 7
3.4 FireStorm/DAO Ant Tasks ............................................................... 8
3.5 FireStorm/DAO™ Command Line ..................................................... 8
3.6 FireStorm/DAO Studio .................................................................... 8
4 FireStorm/DAO Product Editions ............................................................. 9
4.1 FireStorm/DAO Enterprise Edition .................................................... 9
4.2 FireStorm/DAO Architect Edition .................................................... 10
4.3 FireStorm/DAO OEM Edition .......................................................... 11
5 Appendix A: FireStorm/DAO Features.................................................... 12
5.1 Database Support ........................................................................ 12
5.2 DAO Code Generation................................................................... 13
5.3 JDBC Code Generation.................................................................. 13
5.4 J2EE Code Generation .................................................................. 14
5.5 JDO Code Generation ................................................................... 14
5.6 Web Application Generation .......................................................... 15
5.7 Custom Code Generation .............................................................. 15
6 Appendix B: Technical Specifications ..................................................... 16
6.1 Supported Databases ................................................................... 16
6.2 Supported J2EE Platforms ............................................................. 17
6.3 Supported JDO Platforms .............................................................. 17
6.4 Supported Operating Systems ....................................................... 17
7 Appendix C: Useful Reference Information ............................................. 18
7.1 CodeFutures WebLogs .................................................................. 18
7.2 CodeFutures Technical Support...................................................... 18
7.3 Further Reading........................................................................... 18
1 FIRESTORM/DAO INTRODUCTION
FireStorm/DAO can generate code for standalone Java as well as for leading J2EE
application servers, such as JBoss, BEA WebLogic, IBM WebSphere, and Apache
Tomcat. The generated source code is well-written, consistent and contains
documentation. Most importantly, the generated code is production quality and
has been tested in literally hundreds of deployments world-wide.
FireStorm/DAO imports database schema definitions from SQL scripts or from live
databases via JDBC and then generates a complete data-access tier based on the
Data Access Object (DAO) design pattern. FireStorm/DAO is a powerful yet
simple alternative to traditional object-relational mapping products. Rather than
attempting to map arbitrary Java code to a database schema using complex
rules, FireStorm/DAO adopts a more pragmatic approach of generating Java
source code that is a one-to-one representation of a relational database schema
as well as allowing Custom DAO objects to be defined to reflect complex queries
and calls to existing stored procedure logic.
FireStorm/DAO Architect Edition offers all of the features of the Enterprise Edition
but also allows new custom code generation templates to be developed and
integrated with the FireStorm/DAO Studio environment.
It is important to note that DAO does not just apply to simple mappings of one
object to one relational table, but also allows complex queries to be performed
and allows for stored procedures and database views to be mapped into Java data
structures.
FireStorm/DAO makes it the transition to the DAO design pattern easy to justify.
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.
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 custom of DAO design templates that 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. The custom code generation
templates can be used with the Enterprise Edition.
FireStorm/DAO Architect Edition offers all of the features of the Enterprise Edition
but also allows new custom code generation templates to be developed and
integrated with the FireStorm/DAO Studio environment.
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 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. The custom code generation templates
can be used with the Enterprise Edition.
FireStorm/DAO Architect Edition includes the source code for the each of the
DAOs (JDBC, EJB CMP, and JDO). This allows FireStorm/DAO to be customized:
• Optimize performance based on specific project requirements
• Integrate more closely with existing development procedures and build
environments, such as internal coding standards
• Add environment-specific extra custom features such as caching, security,
auditing, and clustering