advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement

Tutorials: Automate Data Persistence with Firestorm/DAO:

Architecture

The most important components of the Firestorm architecture are the schema import framework and the code generation framework.

Schema Import Framework

The application's powerful Schema Import Framework allows the import of database metadata using either a live database or an SQL schema.

Importing from Live Databases: Firestorm can import a schema from a live database using JDBC. Officially supported databases include Apache Derby (previously IBM Cloudscape), IBM DB2, Informix, Ingres, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, SAP DB, and Sybase. Databases that have not been mentioned here are also supported— provided they are JDBC compliant or if they support the ANSI-SQL standard.

Importing from an SQL Script: You can import a schema from a Database Definition Language (DDL) script generated for or by all the databases that are JDBC compliant and have support for ANSI-SQL.

The import framework is very efficient as it automatically maps SQL types from most databases to the appropriate Java primitives. The framework recognizes the minute differences in SQL types that most of the databases have between each other. For instance, Firestorm recognizes the minute difference between auto-increment columns in MySQL and sequence types in DB2 and Oracle.

Whenever a newer version of a schema is imported into an existing Firestorm project, Firestorm adds the changed database objects without affecting the structure in the existing Firestorm project. In addition, you can import a subset of the database schema.

Once the schema has been imported into a Firestorm project, you can change the database access tier technology easily. For instance, you can change the persistence layer from EJB to JDO by just regenerating the code. You can also change the underlying database easily and Firestorm will make appropriate changes to the data types before generating code.

Code Generation Framework

Code generated by Firestorm is not limited to the persistence layer. You can also generate code for the presentation layer based on JSP or Struts framework. Firestorm can also generate Ant build scripts, configuration files needed for the Struts application and J2EE deployment descriptors used in application servers.

The commonly used code generation modules include DAO code generation, JDBC code generation, JDO code generation, J2EE code generation, EJB code generation, Struts/JSP code generation and Hibernate code generation.

Apart from these standard code generation templates, Firestorm offers a custom code generation module that enables you to modify the existing code generation templates. You can use these custom code generation templates to generate new DAO or non-DAO objects. This module is available in the Architect edition only.

Custom Code Generation

For regular projects where standard java design patterns are used the existing code generation templates are more than sufficient. But in some instances like the ones below one may have to tweak the generated code:
  • Required to maintain strict coding standards including naming conventions
  • Need enhanced performance and security
  • Need additional features such as caching
In these cases, the user can manually make changes to the generated code after the generation is done. Another option is to create a custom template that will generate the code to the required standards.

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.

 Avaya Developer Showcase
 MSDN Spotlight
 PHP for Windows Showcase
XML error: undefined entity at line 34
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

IBM Brings Developers Into the Cloud
Apache at 10: You Can't Buy Us
Microsoft's CodePlex Foundation Moving Forward
Apple Claims 100,000 Apps, Google Analyzes Them
Nokia Latest to Play Opera Mobile 10 Browser
PayPal Opens Up Payment Platform to Devs
Ubuntu Linux 9.10 'Karmic Koala' Starts Its Climb
IBM Links Rational Developer Tools, Tivoli Apps
Libraries Give Vista Apps a Windows 7 Look
Ubuntu: The 'Default Alternative' to Windows?

Delivering Web-based Embedded Fonts in CSS 3
Adobe Helps PHP Developers Create Rich Internet Applications
Java Developers Finding a Home at Adobe Flex
Virtualization Delivers a Dynamic Infrastructure
Consuming XML Web Services in iPhone Applications
Build a More Agile Business with IBM
POJO-Based Solutions for LDAP Access: One Good, One Better
IBM Offers Enhanced Measurement and Management for Energy Usage
IBM Helps Transformation to an Information-Based Enterprise
Top Five Touch UI-Related Design Guidelines

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs