214.256.5982
skip to the main content area of this page
DBSync
During the software development lifecycle (SDLC) a frequently occurring task that affects the development staff, ITO team, and release managers is the need to run sets of SQL scripts for updating the database to match the new functionality of the software application. Over time these scripts suffer from the following points of failure:

  • Scripts are spread out over many folders in the Version Control System – causing many to be overlooked, forgotten, or simply difficult to find. The net result is, worst case, software failure, or, best case, confusion.
  • Hundreds of SQL scripts will accumulate over time making it difficult to know which ones need to be run to accommodate the newly released functionality.
  • Order dependency becomes a problem. Does script A need to be run before script B? Does it matter? Even if well documented, the release process becomes unnecessarily burdensome.
  • Metadata management of the database schema is handled through reverse engineering the SQL scripts.
  • Parsing SQL scripts is difficult, thus making it virtually impossible to auto-generate professional technical documentation. Even the most well commented scripts in a Version Control System eventually become unwieldy to manage.
  • Database metadata management is typically a challenge for most development organizations and becomes a necessary evil that is simply ignored.

Chordial Solution’s DBSynch software solves these problems by enabling the developer to define the metadata in the code itself, in a dedicated method or set of methods that are specified using .NET attributes. The system walks all DLL’s using .NET reflection to find all such methods and proceeds to execute the metadata rules, during actual application execution – resulting in database updates that synchronize the database to the new software functionality. The developer determines when this runtime action occurs, such that no impact on the application performance is incurred. Professional technical documentation is automatically generated using XSLT to transform XML metadata to attractive HTML. SQL scripts for implementing the changes (diff scripts) can be generated if so desired.

The design philosophy can be listed as follows:

  • It is the software developer, oftentimes in collaboration with the DBA, who is typically most knowledgeable of database schema changes to support new functionality.
  • The metadata rules can be coded close to the point of usage which can be distributed throughout the application code base.
  • Since the application will not work without the database synchronized, the discipline of managing the database metadata is enforced. This guarantees that the metadata is pristine and always up to date.
  • Release managers will appreciate eliminating the deployment step of running potentially dozens of SQL scripts in a potentially undocumented order.
  • Any discrepancies in the metadata rules will be discovered by ITO during software test. Thus standard quality procedures will guarantee metadata is accurate.
  • Database synchronization occurs just once during the first execution of the application. This eliminates the need for any special steps dedicated to updating the database.
  • Auto generated, correct by construction, technical documentation can be created on demand by simply running the application.

Depending upon the size of your organization, literally hundreds of thousands of dollars of man hours are wasted each year on development teams running around trying to get newly checked out code to "catch up" to the database support schema. ITO staff members who are typically the least knowledgeable with new database requirements rely on the development staff to bring their environments up to date, thus slowing the testing phase of the SDLC cycle. DBSynch eliminates this waste and typically will pay for itself in just one month.