Saturday, January 21, 2012

Andiware, the beginnings.

Large development projects, especially fixed price projects, must be able to rapidly produce application code. Projects spend many hours creating coding standards, creating templates, training developers and much more to ensure that they will be productive.

Unfortunately, not as much attention is given to creating a framework for querying the database. This leads to a misunderstood data model, silos of experience, a slow turnaround for defects and complex production support.

For about twelve years now, I have specialized in the development of high performance partitioned batch frameworks. These frameworks allow a developer to quickly configure a job to read from an input source such as a flat file, XML file, or Relational Database. The job can then update the database, send JMS messages, write to one or more output files or more. One thing in common, for all of these batch jobs, is that it takes a lot of time to validate the proper inputs/outputs for the batch jobs.

About ten years ago, I was developing and testing a new batch job. The development went smoothly but I was spending way too much time validating the inputs/outputs for the job. Can anyone relate to the following sequence of events?

  • select person_id from person where last_name = 'SMITH' and first_name = 'JOHN'
  • select * from person_address where person_id = 9993354
  • select * from address where address_id = 33225544
  • select * from account where person_id = 9993354
  • select * from account_transaction where account_id = 335592393
  • etc., etc., etc.

By the time you execute the twenty fifth statement, you forgot what you were trying to verify or which key to use for the next table. After a frustrating day of data validation, I started the commute home and decided to create an application to reduce the data validation effort. I spent the next two nights designing and building a prototype application which would allow me to create business views for the database. The views would allow me to walk through the data without having to even know the primary keys of the pertinent rows! My testing effort went from around five hours to about fifteen minutes! Not only was I happier, I had more time to spend developing and work was a lot more fun.

That was the beginning for the Andi Database Query tool. I had been designing and developing complex architectures and components for others, now it was time to build a product of my own, from the ground up.

The Andi product is at it's heart, a SQL database query tool. But, open the manual and you will find a macro language that turns your SQL queries into reusable, powerful, tools in the development life-cycle. The View Organizer technology is easy to use and goes well beyond the initial vision of decreasing the time it takes to test, regression test, system test and provide effective production support. To try out the latest version, got to www.andiware.com and try out the 30 day free trial.