[
Date Prev][Date Next][
Thread Prev][Thread Next][
Date Index][
Thread Index]
[
List Home]
[dtp-reqs] Database tool vision
|
The following is the original draft text for a sidebar to an article
in the May 2005 issue of Software Development entitled Join the
Evolution (
http://www.sdmagazine.com/documents/s=9693/sdm0505c/sdm0505c.html
). Some of the points may be a bit out of date, the sidebar was
written in early 2005, but the ideas are there.
A New Vision for Tool Vendors
To support agile approaches to database development the database tool
vendors have their work cut out for them. We need tools that are
easy to learn to use and work with, tools which enable us to make
simple, incremental changes to our database schemas. These tools must
be inexpensive enough so that they can be deployed on every
development machine. The critical tool categories are:
1. Databases. Duh! Database vendor licensing strategies need to
reflect the fact that we must deploy database instances to every
sandbox and have easy ways to promote changes between these
instances. Some do, some don't.
2. Database testing tools. As you can see at
http://www.aptest.com/resources.html#app-data there is a wide
selection of test data generation tools, which is the good news. To
actually run tests, tools such as DBUnit (www.dbunit.org) and utPLSQL
(oracle.oreilly.com/utplsql/) are good starts although we need
comprehensive ways to fully test our database schema.
3. Evolutionary ETL tools. Extract transform load (ETL) tools are
critical aspects of your data warehousing strategy, but rarely are
they deployed to individual desktops so that developers can develop
scripts to improve the quality of the data which they work with.
4. Database refactoring tools. Just like we have code refactoring
tools we also need database refactoring tools. Five years ago code
refactoring was quite hard, but now with good tooling code
refactoring has become as common as writing IF statements. See
http://www.agiledata.org/essays/databaseRefactoring.html for details.
5. Database modeling tools which are integrated into development
tools. Anyone working with relational technology should have access
to a good data modeling tool, and better yet one that has built in
database refactoring features. Data modeling plug-ins for Eclipse,
such as DB Visual Architect from Visual Paradigm
(www.visual-paradigm.com), are a step in the right direction. See
http://www.agiledata.org/essays/umlDataModelingProfile.html for a UML
data modeling profile.
6. O/R mapping tools and persistence frameworks. Hibernate
(www.hibernate.org), and many others listed at
www.ambysoft.com/persistenceLayer.html, luckily exist. Unfortunately
they are often stand-alone products that do not integrate well with
other tools. O/R mapping features should be a common part of all
modeling tools, and several have started moving in that
direction. See http://www.agiledata.org/essays/mappingObjects.html
for a good writeup on mapping.
You might find <http://www.agiledata.org/>www.agiledata.org to be of interest.
- Scott
====================================================
Scott W. Ambler
Senior Consultant, Ambysoft Inc.
www.ambysoft.com/scottAmbler.html
www.agiledata.org -:- www.agilemodeling.com -:- www.ambysoft.com
-:- www.databaserefactoring.com -:- www.enterpriseunifiedprocess.com