Highly Available Electronic Commerce Service Project

For CS 612 Distributed System


Group NextGen (email)

Members

Lietze Yao lietze@andrew.cmu.edu
Chien-Hsiu Chiu chiu2@andrew.cmu.edu
HeeJung Son hson@andrew.cmu.edu
Bin Zhou merry@cmu.edu
Li-Lun Cheng lc4z@andrew.cmu.edu


General Description

We plan to build a highly avaible electronic commerce service system using Primary-Backup setup. Client will be able to make transactions with the primary server. When the primary server is down, the backup server becomes the primary and support client transactions. The primary and backup servers will be synchronized during the transactions. If time permits, we will also attempt to implement recovery and rejoining after a server crash.


Basic Functionalities on User Level

Client should be able to register.

Client should be able to see a list of products and prices.

Client should be able to issue transactions to buy a certain quantity of a product.


Top level View

Agent Functionalities:
Communicate with database

Communicate with client

Synchronize with backup servers

Recover and rejoin the system after a crash


Design Choices

Primary-Back Protocol: Tandem Protocol

Transaction: 2 phase commitment


Implementation Details

OS Platform: Solaris

Implementation Language: Java

Developement Environment: JDK 1.1.3

Database to use: MiniSQL

Secure Communication: SSL 3.0 implemented in Java

Server will be a Java program that uses JDBC to communicate witht the database.

Client program will be a Java application.