| |
The Axiom Data Service
Data management tasks that took hours and days using plain J2EE APIs can now be finished in minutes using Axiom's J2EE wrapper APIs. Without forcing you to drop down to Java, Axiom is able to completely bind and execute your static and dynamic SQL by using just a few simple lines of XML. Even legacy data can be brought in by using Axiom's built-in SQL generator saving time and making the entire process simple.
- Use any relational database server to generate add/edit/delete SQL that tie into the Sparx Presentation Framework.
- Axiom can often shave weeks, if not months, of SQL data development tasks and your code is less prone to error caused by repetitive tasks.
- Automatic performance statistics gathering and externalization of SQL from your application code leaves you with less brittle code.
Externalize SQL Code into SQL Resource Libraries
Instead of storing dynamic and static SQL in .java files, Axiom encourages separating SQL from Java code by providing XML-based storage of simple or complex SQL.
- By externalizing the SQL, you can optimize and modify SQL without changing Java code or recompiling.
- SQL in XML supports bind parameters and prevents security errors introduced by SQL injection in Java code.
- Zero-Java SQL reporting allows you to define SQL, bind parameters, and report formats in XML so that you can generate reports based on SQL using pure XML and no Java. Of course, customizations are still done in plain Java.
- All externalized SQL still remain internally as first-class objects with support for statistics collections (like seeing how many times particular SQL is executed, how long it takes, etc.).
Forget About Writing DAOs Manually
Once you supply your SQL in XML files, all your Data Access Objects (DAOs) are automatically generated for you. As your XML files change, the Java code is kept in synch with no manual intervention.
Manage Both Database Structure (Schemas) and Content
Your entire database structure, including tables, columns, indexes, and other database objects can be declared in a vendor-independent XML meta-data format.
- Once your schema is defined (or reverse engineered) into XML, you can generate SQL DDL and type-safe table-based DAOs.
- All XML database schemas have automatic HTML-based documentation.
- Zero-Java record management allows you to connect your XML database schema declarations directly to Sparx or other presentation frameworks so that your database and forms are kept in synch.
Tie XML Import/Export Functionality to your Schema
Once your database schemas are modeled using XML, you can import and export data to and from your database instances using structured XML instead of flat ASCII files. If your schema has parent/child or other relationships in tables then the XML will automatically map to those structures with no Java code.
Connect to Multiple Data Sources
Any SQL you write can connect to multiple data sources simulataneously. This is useful if you have the same or different SQL code that needs to be run on multiple, cross-vendor, databases at the same time within the same application.
Isolate Vendor-specific Database Functionality
Each SQL query you write in XML is uniquely identified in an auto-generated DAO. Using the same identifier, you can supply different SQL statements to take advantage of vendor-specific extensions or optimizations. Then, when you ask Axiom to execute a DAO it will automatically select the proper SQL based on which database it is connecting to at the time.
Leave Connection Pooling to Axiom or your App Server
Axiom supports its own internal JNDI-based connection pools or can delegate connection pooling to your application server. Using the internal connection pool still allows statistics gathering and finding connection leaks but keeps your application app-server-neutral. However, a single configuration option allows you to use your app server's or you can use the SPI-based plug-in architecture to use your own connection pooling system.
Overview of Axiom Tags
Axiom defines and processes numerous, very high-level, tags that you use to declare data management components. The <presentation> tag is optional and may be ignored if you want clean separation between your UI and data layers.
Summary of Axiom Features
- Schema management
- Lightweight Data Access Objects (DAOs)
- Object-relational mapping and persistence
- Connection pooling
- SQL DML generation
- SQL DDL generation
- Static SQL queries library
- Dynamic SQL queries library
- HTML design documentation
- Dynamic data sources
- SQL performance statistics
- Transaction management and isolation
|