WORK EXPERIENCE:

 
Cross-vendor Database Layer

Languages:

Perl 5.004, 5.005, 5.6, CGI, SQL (MySQL, PostgreSQL, MS SQL Server, Oracle), HTML

Operating System:

Linux / Windows 2000

Computer System:

IBM PC Compatible

See Also: Screen Shots
Sample Code

 

Purpose and Notes:

 

Developed an abstract database layer capable of storing data in Flat Files, MySQL 3.23, PostgreSQL 7.0, MS SQL Server 2000 or Oracle 8i/9i databases. Initially the layer was to be implemented with Perl objects however due to the use of an in-house compression program for protecting the source code, dynamic method dispatch was instead simulated with if-then blocks based on the type of database connected.

 

  • Performed an analysis of the existing Flat File API which was used by Interactivetools.com's existing line of web based content management tools.
  • Developed a database vendor comparison to determine what issues would be involved in implementing the database layer for all the vendors we planned to support.
  • Developed a unified API for the database layer, independent of whether the data would be stored in Flat File or a SQL database.
  • Implemented the new API for each database in turn. Developed regression tests during the development to ensure support was identical on all vendors.
  • Ported a sample web content management application to use the new database layer and tested operation on all five vendors databases.
  • Developed methods for detection of changes to table structure during development and automatic application of those changes to the database during program execution.
  • Developed a benchmarking test plan to compare the responsiveness of each vendor's database under typical application loads.
  • Developed a database configuration user interface which allowed the user to test the database connection, change it and automatically create/update the table structure and migration of data from old database to new database.

 

This was a project developed in 2001-2002 for Interactivetools.com

HOME | RÉSUMÉ | WORK EXPERIENCE | PORTFOLIO | DOCUMENTATION & WRITING | TOOLS OF THE TRADE | CONTACT ME | SITE MAP