Computer Engineering Senior Design Project
Simple Database Replication Engine

 

Objective

The objective of this project is an application of software engineering principles and techniques to the development of a database software system. It covers various aspects of object-oriented analysis, design and programming. It also provides an opportunity for a hands-on experience with client-server programming using Java, SQL and JDBC.

This page is copyright and if you use any of the original ideas in the future in any commercial way. Please email sinn@openloop.com for approval.

 

Skills Required

 

 

Description

The following figure is an overview of the Replication Engine. The Replication Engine basically copies (replicates) data from one database to another database. A replication engine like this could be used to build a data warehouse. There are four major components of the system. They are

Main Replication Engine

This is the core of the replication engine that performs the actually data combination and replication. It works with the other components to provide the following features:

Database Connector

This component contains all the special JDBC coding to connect to different type of database. This layer provides JDBC services to the main replication engine.

Control Info Container

This container component contains all the control information of the replication engine. For example, how many columns are replicated, how often the replication engine replicates, do two-way replication is enabled, etc.

Administration GUI

This is the administration GUI that controls the subset of column from databases during replication. Socket interface is used to facilites the communication between the GUI and the Replication Engine.

 

 

 

 

Schedule

This system is supposed to be developed according to the software lifecycle taught in software engineering class. Good software engineering principles must be followed. In particular documentation must be good.

  1. Requirement and specification including Object Model, etc
  2. High-level design
  3. Low-level design
  4. Coding
  5. Test Plan
  6. Testing including bug list report

 

 

 

Web Ideas