The project is implemented in Perl. The company provides the information regarding the database, the server on which the database is running the host name, and also the port address. The back end databases are implemented in Oracle & MySQL. To demonstrate a complete distributed environment we are running the databases on 2 different servers. The MySQL database is running on bert.wpi.edu (server) and the Oracle one is running on wpi.wpi.edu (server).
The user is projected to be an automobile spare part customer. The user can be either a buyer or simply search the web site for details. Through our web site the user is allowed to choose between a number of spare part categories (such as suspension system, braking system, etc.). Upon selecting a category a list of spare parts that are a subset of this category are displayed alongside its details for each company that stocks them. The user then selects the company he wishes to purchase the spare parts from according to the price calculated as per the customerstatus regarding that company. This information is stored in the database. If the user buyhe gets a discount of 15% on the part. The employees and the shareholders of the company also get 5% discount on their purchases.
The record of the customerInformation regarding the purchase is then given
to the company from which the user has
purchased the part. As a transaction is recorded the mailing system sends mail to the company informing them of the purchase.
In our project the components are:
This is our client who browses using his favorite browser. The server at our site monitors continually for the requests that it receives from the client
The Apache server
The server runs at port 8081. Perl scripts can be
executed on the server side. This configuration included the use of some
3'rd party tools like mod_perl, which do not come bundled with apache. The
server starts up running 5
The server is optimized for performance of the Perl scripts, which run
at the server side. The configuration file is here. An interesting
feature of our
is that the oracle connections are cached to improve the performance of
the Perl scripts, which access the databases. The server checks the
authority of the
client to visit the contents of the site. Sensitive portion of the
web site is password protected. The .htaccess files are configured
to allow some registered users to see
the contents of the web site like the RFP
Server location : ccc.wpi.edu
Perl scripts and switching elements
The Perl script runs locally and is called by the apache server. The DBI module, which is bundles with Perl, is used for multiple database connectivity. A long sequence of events occurs when the Perl script is executed.
The typical order in which this happens is:
1. Load DBI driver
2. Connect to database which implicitly loads the required DBD
3. Open a cursor containing SQL statement.
4. Fetch the results
5. Close the cursor
6. Close the database connection
Server 1: bert.wpi.edu
Server 2: wpi.wpi.edu
IS 1: Oracle
IS 2: MySQL