A Database-Oriented Toolkit

Every developer should "learn to be lazy." Time spent researching and understanding new tools and techniques is time well spent in my Humble Opinion.

Since I am currently "on the bench", I am using my time to update my skills and add to my toolkit.

The following have caught my eye:

Jailer, http://jailer.sourceforge.net/home.htm
Jailer is basically a specialised ETL tool:

The databases required for development and testing rarely need to be full size, it is often easier to work on a small copy. Unfortunately it is very hard to manually extract a small subset of the production data. It is not possible to just take 10% of each table to get a 10% size database. The data in one table would not be related to the data in the other tables. It would not be referentially intact.

Jailer simplifies the extraction of referentially intact data. Once you have defined an extraction model, it can be used to extract data from the production database fast and easy whenever up-to-date test data is required.

This tool should be a great testing aid, and I can see that it also has potential as a debugging tool.

LiquiBase, http://www.liquibase.org/
According to http://www.groovyong … ails.com/article/136:

LiquiBase is a tool that helps developers to track and apply changes to database schemas. Basically what it does is storing all changes that are made to a database in a special XML file, called a database changelog file. This changelog file can be used to determine if there are any changes between the schema in the changelog file and the schema found in a database. The nice thing about LiquiBase is that it is database neutral so you can use with any database Java is able to connect to, and that are a lot…

But there is more to LiquiBase that just tracking changes. The outstanding feature of LiquiBase is that it is able to migrate data using the information stored in the database changelog file. This doesn't sound like very much when you are starting a project from scratch, but as soon as you start entering data in your evolving application, you'll understand. And as every application evolves, this is a feature handy for every developer, especially for Grails developers as Hibernate as ORM basically supports only two modes of operation to handle the database schema (configured via the hibernate.hbm2ddl.auto option): wiping out the database and applying a new schema (called create or create-drop) or attempting to update the schema (simply called update). The update option looks like a good way to go at first but as it turns out it has its drawbacks, especially if there is data in the database.

P6Spy http://www.p6spy.com/

P6Spy lets you monitor the JDBC queries by proxying your database driver. In addition to logging the prepared statements, it also logs the sql with parameters in place so you can copy and paste the exact sql into your favourite database client to test the results.

A bit long in the tooth, but simple and potentially still useful.

Oracle SQLDeveloper, http://www.oracle.co … ducts/sql/index.html
Originally "Project Raptor" (Raptors kill TOADs…). A free visual tool for database development. Gives TOAD a real run for its money, especially for Oracle shops.

Now, none of these are particularly new, and I have used some (particularly SQLDeveloper) for quite a while before writing about them here but they certainly promise to make life easier.

The integration of LiquiBase and P6Spy plugins into Grails also promises to make that framework even more productive than it already is.

Tags: Grails, Programming, Tools

In Flight at NZOUG…

Here's another picture of Bob, subjecting the poor attendees at the 2008 NZOUG Oracle Users Group conference to an ear-bashing on the merits of Groovy.

I hope they recover soon!

In Full Flight…

Here is Bob, in full "pontification mode", during the recent Perth AUSOOUG Rapid Database-Driven Web Development with Grails presentation:

The picture is taken with a Nokia N95 mobile phone, against the light, so the quality leaves a little to be desired. Hopefully, I will get the 'official' pictures soon and these are bound to be of better quality.

Tags: Grails, Programming

Slide Decks for the Presentations on Groovy and Grails

Thank you to all who attended my AUSOUG/NZOUG sessions in Perth, the Gold Cost and Rotorua.

Although the sessions were a bit rushed, I hope they were enjoyed and useful.

Here are the presentations (PDF format):

Java is Dead. Long Live Groovy!
Rapid Database-Driven Web Development with Grails

Each is the full deck of slides, including many that I skipped over or omitted due to lack of time.

Tags: Grails, Programming

Friends and Associates

Recalling the idea of "Standing on the back of Giants", I guess that it is appropriate to mention some of the Giants that I have had the pleasure of associating with. In no particular order, then:

Paul King, ASERT
Dennis Remmer, LogicalTech
Alex Garrett, Lexecorp

These people-and their associated companies-embody a tremendous amount of experience, capability and 'brainpower.' Check them out!

AUSOUG; Perth, 6-7 October, 2008

Bob will be presenting his two papers Java is Dead. Long Live Groovy! and Rapid Database Driven Web Development with Grails at the AUSOUG & OAUG National Conference Series 2008 in Perth.

The presentations will be available on this site after the conference.

Tags: Grails, Programming

AUSOUG; Gold Coast, 13-14 October, 2008

Bob will be presenting Java is Dead. Long Live Groovy! at the AUSOUG & OAUG National Conference Series 2008 at the Gold Coast.

The presentation will be available on this site after the conference.

NZOUG; Rotorua 20-21 October, 2008

Bob will be presenting Java is Dead. Long Live Groovy! at the 2008 New Zealand Oracle Users Group Conference in Rotorua.

The presentation will be available on this site after the conference.

Transentia's New Site

Transentia has adopted the flatpress blogging tool for its online presence. This should give us a site that is more flexible, easier to maintain and with more facilities than the old one. It should also give us a bit more 'modern' look.

The old site is still available. You will find most of the older presentations and papers in the 'materials' section.