E-COMMERCE PURCHASING SYSTEM

 

 

 

 

 

 

 

Project Proposal Submitted to the

Department of Computer and Information Science

New Jersey Institute of technology

 

 

 

 

In Partial Fulfillment of

the Requirements for the Degree of

Master of Science

 

 

 

 

 

 

 

by

Feng Peng, Bo Wei, Wenjia Hou

Project Advisor: Professor James McHugh

 

 

 

 

 

 

APPROVALS PAGE

 

 

Agree to Advise: ___________________________________

(Signature of Faculty Advisor)

 

Date Submitted: ___________________________________

 

Date Approved: ___________________________________

 

Approved by: ____________________________________

(Signature of Faculty Advisor)

 

 

Table of Contents

Table of Contents*

1. Introduction and Background*

1.1 Project Statement*

1.2 Previous Work and Background*

1.3 Objective*

2. Project Description*

2.1 System Specification*

2.1.1 Hardware Configuration*

2.1.2 Actual Development System*

2.2. Design Specification*

2.2.1 System Module Chart*

2.2.3 Implementation Languages*

2.3. Implementation Plan*

2.3.1 Deliverable Items*

2.3.2 Milestone Descriptions and Completion Criteria*

2.3.4 Schedule of Milestone Completion*

3. Personal Project Items Implementation*

3.1 Building infrastructure*

3.1.1 Problem Statement*

3.1.2 Software Overview*

3.1.2.1 Linux*

3.1.2.2 Apache*

3.1.2.3 Oracle For Linux*

3.1.3 Firewall Definition & Implementation*

3.1.3.1 Firewall Definition*

3.1.3.2 Firewall architecture*

3.2 System Specification*

3.2.1 System 3-Tier Architecture*

3.3 Design Specification*

3.3.1 System Database design*

3.4 Building Vendor Module*

3.5 Building Shopping Cart*

3.6 Building Catalog Module*

3.7 Maintaining Context (Cookie)*

4. References*

5. Qualifications*

5.1 Feng Peng’s Qualifications*

5.1.1 Personal Background*

5.1.2 Courses taken*

5.2 Bo Wei’s Qualifications*

5.2.1 Personal Background*

5.2.2 Courses taken*

5.2.3 Program Written*

5.2.4 Investigations*

5.2.5 Projects*

5.3 Wenjia Hou’s Qualifications*

5.3.1 Personal Background*

5.3.2 Courses taken*

5.3.3 Program Written*

5.3.4 Investigations*

5.3.5 Projects*

6. Grading Criteria*

Appendix*

1. Introduction and Background

1.1Project Statement

The objective of this proposal is to successfully develop an on-line e-commerce site for DEMO purpose. It is to compliment the business structure, and provide a new channel for selling, advertising and marketing products. By using this new technology, it will allow user to improve sales and service by reach a large number of customers from all over the world in real time.

There is a very important reason for moving towards doing business over the Internet. The increased number of people on the web has given businesses a new way of reaching customers, and enhances profit. A recent survey by Nielsen Media Research revealed that 78 million people used the World Wide Web in the first half of 1998, and 20 million of them made purchases online. Another benefit that e-commerce offers to business is a reduced amount of overhead cost because it is not spending as much money on buildings and customer service as compared to a typical traditional business.

1.2 Previous Work and Background

The Demo site has been already discussed thoroughly how to use an Oracle based Warehouse Management System (WMS) to process this project. This original idea based on the legacy Business System to handle daily business, mainly through traditional phone and fax system. Such idea works well in earlier days, however, it need to be move forward now. Thus an online solution becomes the most cost saving way of the whole strategy.

1.3 Objective

The successful of the project is measured as following:

2. Project Description

2.1 System Specification

2.1.1 Hardware Configuration

A typical system is shown above. A front firewall isolates the Internet with the web server. This is the first line of protection that protects any unnecessary network traffic (e.g. incoming telnet, IP spoofing, etc.). After the Firewall – 1, there is the actual web server that serves http requests. The customer database, catalog and pricing information is not reside on the web server, in case the Firewall – 1 and the web server are compromised, no business information will be lost. Between the company Intranet, the actual database and the web server, there is another firewall (Firewall – 2). This firewall is the final protection for any attack. Database query is only allowed from the web server to the database and all other traffic is only permitted from internal network towards the outside. By using Advanced Queuing technology from Oracle™, no direct database access (e.g. SQL query, update, and delete) is allowed to the database. The application on the database will decide what service it will provide based on the request. The result will be forwarded back to the web server using the same Advanced Queuing technology.

The Intranet is another web-enabled interface provided for user service and internal query. Along with the Business System and the Warehouse Management System, it provides DEMO the capability to process orders real time online.

2.1.2 Actual Development System

Due to the nature of the project is to develop the web site, not to implement the network. The simplified the case eliminates the firewalls and consolidates the web server and the database server into one server. The system configuration is:

Two database instances will be configured on one machine, one to simulate the web server database and the other simulates the customer database.

 

 

 

 

2.2. Design Specification

2.2.1 System Module Chart

 

 

 

2.2.3 Implementation Languages

Html and Java are the main language we will use to implement the project since it is object-oriented and has built-in support for network, which is essential for collaborative system. And also we may use C, C++, and PERL to implement CGI applications. Also we will use ASP.

2.3. Implementation Plan

2.3.1 Deliverable Items

The e-Commerce Project is segmented into four distinct phases. This section provides a summary of project stages and deliverables for this engagement. These four phases are:

Phase I: Building Infrastructure

Design, setup and test the infrastructure of the e-Commerce Site. This gives user an entry point towards the e-Commerce world. The infrastructure includes company wide email access, and optionally web access. Web site infrastructure build: hardware, software and domain name.

Phase II: Sharing Information with Customers

This phase is to put the product catalog online. It is to build an online presence and let customers get used to the new technology. This is also a proof of concept phase while the new sales channel is being built up.

Phase III: Order Processing:

We will setup secured network channel for customers order products online. It includes a customer databases for customer to place orders and view their order information. This allows orders directly transferred into the Warehouse Management System, give company an opportunity to provide round the clock shipping service.

Phase IV: Customer Service Improvement:

Based on previous phases and results. We will fully test all the functions and find out the system’s performance and efficiency.

2.3.2 Milestone Descriptions and Completion Criteria

1. Building online product catalog

Traditional catalog or brochure is always a costly advertising method. It takes time to prepare, compose, print and ship. On the other hand, online catalog takes no time to print and mail, and it is always up to date. Products in the catalog can also carry up to date price tags so what you see is what customer are going to pay.

2. Building online order processing

Taking orders online is a challenge. Credit card information is a sensitive private information. How to develop a secured communication channel to accept credit card information is the key to the success. Fortunately, the technology is already existing. It is called 'SSL' (Secured Socket Layer) which is supported by both Microsoft Internet Explorer and Netscape Communicator, who occupy more than 90% of the browser market. By using SSL, we can now accept credit card information over the internet and process orders in real time.

3. Building online customer database

Customers want to know history of their previous orders and status of their current orders. A customer database can not only provide them those information, but also be able to give individual customer special discount based on their order volume. It gives our sales a very competitive advantage over fixed price strategy. And customers will access their own catalog, price and order status in real time online.

4. Establishing new customer service channel

Customer service usually involved inquires about product, price and order status. By putting customer information online, the overhead is reduced and so does the cost. By using emails, faxes and database, information is shared; thus customer service quality and response time is greatly improved.

 

 

 

 

2.3.4 Schedule of Milestone Completion

Items
Date to work on and By Whom
Building Infrastructure
1/17/2000—2/17/2000 By Feng Peng
Database Configuration and Research
1/17/2000—2/17/2000 By Wenjia Hou
Research Modules Relationship
1/17/2000—2/17/2000 By Bo Wei
Sharing Information with Customers
2/18/2000—3/17/2000 By Bo Wei
Build Catalog module
2/18/2000—3/17/2000 By Wenjia Hou
Build Customer Module
3/18/2000—4/5/2000 By Bo Wei
Build Vendor Module
2/18/2000—3/17/2000 By Feng Peng
Build Product Module
3/18/2000—4/5/2000 By Wenjia Hou
Build Shopping Carts
3/18/2000—4/5/2000 By Feng Peng
Test and Turn over to Production
4/6/2000—4/20/2000 By Team
Final Submission
4/25/2000 By Team

* This project is a complicated project, so there are three team members: Bo Wei, Wenjia Hou, Feng Peng

3.Personal Project Items Implementation

3.1 Building infrastructure

3.1.1 Problem Statement

Since this project is implemented for demo purpose, the developing tools must be free available. Due to

the nature of this project is to develop the web site, not to implement the network. The simplified the case

eliminates the firewall and consolidates the web server and the database server into one server. The

system configuration is:

 

3.1.2 Software Overview

3.1.2.1 Linux

Linux is an operating system that can be downloaded free and "belongs" to an entire community of

developers, not one corporate entity.

Linux is an extremely powerful and reliable operating system that gives users a certain flexibility not

found within other systems. Aside from the fact that Linux can be downloaded and upgraded for free (and

therefore becomes attractive to small businesses and individuals on a small budget), it can also be altered

by the user to fix bugs or meet specific operating needs.

Linux is the fastest-growing server-side operating system today, and it's making inroads on the desktop.

Unlike other proprietary operating systems, Linux can be installed and upgraded for free. This makes it

extremely attractive to those businesses that don't have a high budget but still want an excellent operating

system. But cost is not the main factor. Many companies, large and small, prefer Linux simply because of

its reliability: Linux can run for months, even years, without having to be rebooted. And because the source

code is open, bugs can be fixed quickly and easily without having to wait for proprietary vendors to issue

fixes on a schedule that suits them more than their customers.

Several major corporations, like Burlington Coat Factory, IBM, Netscape, Oracle and Sun have all seen

the benefits of Linux. Other companies that use Linux in their day-to-day operations include Sony

Electronics Inc., Sallie Mae Inc., Mercedes-Benz and several educational and research institutions around

the world.

3.1.2.2 Apache

Apache is included in the Linux Red Hat. Apache exists to provide a robust and commercial-grade

reference implementation of the HTTP protocol. It remains a platform upon which individuals and

institutions can build reliable systems, both for experimental purposes and for mission-critical purposes.

Apache has been shown to be substantially faster than many other free servers. Although certain

commercial servers have claimed to surpass Apache's speed (it has not been demonstrated that any of

these "benchmarks" are a good way of measuring WWW server speed at any rate), it is better to have a

mostly-fast free server than an extremely-fast server that costs thousands of dollars. Apache is run on sites

that get millions of hits per day, and they have experienced no performance difficulties

3.1.2.3 Oracle For Linux

In direct response to customer demand, Oracle has ported Oracle8 and Oracle Applications to the Linux

operating environment. Linux is an open UNIX-like operating system that is available for free download

from the Internet, and is the fastest growing UNIX platform in the enterprise environment, with an

estimated 7 million users.

The availability of Oracle8 and Oracle Applications on Linux enable current Linux users to deploy high-performance enterprise-class applications at the lowest

possible cost. In addition, users now have an alternative to Microsoft Windows NT, and will now be able to reap the scalability and flexibility benefits of

Oracle8 and Oracle Applications in Linux's stable, open environment. Linux provides an excellent low-cost alternative operating system on the Intel platform.

By providing a port to Linux, Oracle has lowered the overall costs of ownership significantly for enterprise systems: The port provides an alternative platform

for companies that want an Internet-based, low-cost point of entry for Web-enabling their business.

 

 

 

 

3.1.3 Firewall Definition & Implementation

3.1.3.1 Firewall Definition

 

A firewall is a structure intended to keep a fire from spreading. In a building a firewall is a brick wall completely dividing sections of the building. In a car a firewall is the metal wall separating the engine and passenger compartments.

There are two types of firewalls.

  1. Filtering Firewalls - that block selected network packets.
  2. Proxy Servers (sometimes called firewalls) - that make network connections for you.

 

3.1.3.2 Firewall architecture

 

There are lots of ways to structure network to protect systems using a firewall. If system have a dedicated connections to the Internet through a router, we could plug the router directly into the firewall system. Or, we could go through a hub to provide for full access servers outside the firewall.

 


 

 

We may be using a dialup service like an ISDN line. In this case we might use a third network card to provide a filtered DMZ. This gives us full control over our Internet services and still separates them from our regular network.

 

 

 

If we are not providing Internet services ourself but we do want to monitor where our users are going, we will want to use a proxy server. This can be integrated with the firewall.

 

 

 

We can put the proxy server on our LAN as will. In this case the firewall should have rules to only allow the proxy server to connect to the Internet for the services it is providing. This way the users can get to the Internet only through the proxy.

 

 

By using a round-robin DNS techniques or using load-balancing application servers, we can create a 100% uptime service.

 

 

3.2 System Specification

3.2.1 System 3-Tier Architecture

 

 

 

A typical system architecture is shown above.

  1. Sitting at a personal computer, a user (client) performs data entry using a browser (HTML), such as Microsoft IE or Netscape.
  2. As required, the application logic (Web Server) issues SQL requests for data that is passed through the bonding software (ODBC or JDBC) transparently to the database server.
  3. The database server (ORACLE) performs the request.
  4. Rows, flags, errors, and status are returned to the web server.
  5. The result is displayed back to the user at the client personal computer by the web server (CGI).

 

3.3 Design Specification

3.3.1 System Database design

 

1. Data Partitioning

The data, such as product information, customer information will be accessed frequently due to a large client base, or the server may be required to service time-consuming access requests. For performance reasons, we partition the data. Because partitioning the data will improve the response time.

2. Encoding/Decoding Data

Encoding data is compressing and decompressing information that can be stored in tabular form. For example: We can use two-character abbreviations for a state (decoded to the full state name). For universal function within the application, the database will be built consisting of a series of tables. Each table would represent a data type and contain all of the encoded and corresponding decoded values for that data type. If all data on the database were carried as full information, the databases would out of necessity be much larger. To reduce database size, we will fall a large amount of application-related data into the encode/decode scheme.

3. Data Encryption/Decryption

The customer information, such as credit card number, is private and sensitive. Such information can be encrypted using encryption algorithms. With this technology, data is made unreadable as it is being stored on the database. The decryption algorithms can reinterpret the data in readable form. The encryption and decryption routines are stored on the server and the appropriate security authorization for access protects against invoking those routines on an unauthorized basis.

4. Meta Data

We will use Relational Data Management Systems concept to design the database.

5. Derived Data Considerations

Derived data is calculated or developed based on a number of primitive data elements or an algorithm applied to one or more primitive data elements. For example, each customer has different discount rate (the primitive data), and the discount (the derived data) can be calculated from the discount rate. The data is derived by the program on the web server. This can reduce the database server load.

 

6 Indexing Tables

For heavy access table, we will use index to speed access.

 

7. Summary

All the database designs are based on ORACLE RDBMS. The objective is to acquire higher performance, faster processing and less server load.

 

3.4 Building Vendor Module

Vender module stores the information about venders, which includes vender’s name, location,

products information, account, etc.

These information will be linked with product module.

 

 

3.5 Building Shopping Cart

With shopping carts, customers can easily organize their purchasing. The product number, quantity of

each product, total price will be displayed clearly. Customers can choose to leave, continue, recalculate.

Once customers have chosen to continue shopping, the shopping carts’ information will be temporally

kept in the database. This requires customer’s browser support cookies. The newest browser such as

Microsoft Internet Explorer 5.0, Netscape Communicator 4.7 will support cookies.

 

 

 

CGI (Common Gateway Interface), Java will be used to implement the shopping cart. The total price, single price, quantity will be calculated in server side.

 

3.6 Building Catalog Module

Catalog contains a number of categories, and within each category, a dozen or so items. We will set up a catalog table, which contains a single record describing every item we sell. It is this module that we use to put the product catalog online: from the browser, the user can view a list of items in a particular category, choose the items and put them in the shopping cart.

3.7 Maintaining Context (Cookie)

The key issue in on-line shopping is how to maintain context. Say a customer is browsing through the catalog of our store. He chooses a monitor. The browser displays a single HTML page describing this monitor. It fits his needs, so he adds it to his "shopping cart". He also wants to buy a printer, so he hyperlink over to the list of printers. The browser displays a new page that has a list of printers. Therefore, there are two bits of information that have to be saved when the customer hyperlink away from the monitor page: who he is, and what he has bought. We will use cookies to deal with this problem. Cookies are name/value pairs that a CGI program can store on the user’s machine and attached to our domain. By using cookies we can get a linkage between the user and the set of items the user has selected.

 

 

4. References

[1] "The Internet & World Wide Web" Angus J. Kennedy, RoughGuides, 1998.

[2] Extranets - Building the Business to Business WebDeborah L. Bayles, Prentice Hall, (1998).

[3] Whatis Home Page, "http://www.whatis.com/", whatis® is a knowledge exploration tool about information technology

[4] The Apache Software Foundation Homepage: http://www.apache.org/

[5] Tim Ritchey. Programming with Java!, New Riders Publishing, Indianapolis, Indiana, USA, (1995).

[6] The definitive online destination for the open source community: http://www.redhat.com

[7] Oracle Corporation: http://www.oracle.com

[8] Robert Ziegler: Linux Firewalls, New Riders Publishing, (1999).

[9] Mohammed, J. Kabir: Apache Server Bible, IDG Books Worldwide, (1998).

[10] Mohammed, J. Kabir: Apache Server : Administrators Handbook, IDG Books Worldwide, (1999).

[11] Craig Patchett, Matthew Wright, Peter Holfelder: The Cgi/Perl Cookbook, John Wiley &Sons, (1997)

[12] David Pitts, Bill Ball: Red Hat Linux 6 Unleashed, Sams, (1999)

 

5Qualifications

5.1 Feng Peng’s Qualifications

5.1.1 Personal Background

Feng Peng’s Background

Shanghai JiaoTong University, Shanghai, China

Bachelors in Automation Control, Jul 1995

1997-1999 Computer Information System Dept, NJIT

07/95 - 07/97 Wuxi Telecom

SKILLS

MS Office, UNIX, Pascal, C, C++, Jave, HTML, SQL, ASP, TCP/IP, Oracle, Windows NT, Network and Web knowledge.

 

5.1.2 Courses taken

CIS665 ALGORITHMIC GRAPH THEORY

CIS630 OPERATING SYSTEM DESIGN

CIS786 ADVANCED JAVA PROGRAMMING

CIS632 ADVANCED DATABASE IMPLEMENTATION

CIS631 DATA MGT SYSTEMS DESIGN

CIS604 CLIENT AND SERVER

CIS601 OBJECT-ORIENT PROG-C++

CIS635 COMP PROGRAMMING LANG

CIS656 INTRNET&HIGHER

CIS650 COMPUTER ARCHITECTURE

CIS610 DATA STRUCTURE & ALG

5.2 Bo Wei’s Qualifications

5.2.1 Personal Background

Bo Wei’s Background

Shanghai JiaoTong University, Shanghai, China

Bachelors in Mechanical Engineering, Jul 1991

1998-1999 Computer Information System Dept, NJIT

12/94-Current Nortel Networks IT Engineer – Information system Division

07/91 - 01/94 Beijing Milling Machine Institute IT Specialist – Helpdesk and Database Support

SKILLS

PC, Mac, MS Word/Excel/Power Point, Builder/Maker, UNIX, Pascal, C, C++, Jave, HTML

TCP/IP, Oracle, Windows NT, network and Web knowledge.

 

5.2.2 Courses taken

CIS631-852 DATA MGT SYSTEMS DESIGN

CIS604-853 CLIENT AND SERVER

CIS332-450 OPERATING SYSTEM

CIS333-101 UNIX SYSTEM

CIS652-852 NETWORK-ARCH & PROTOCOLS

CIS601-850 OBJECT-ORIENT PROG-C++

CIS251-452 COMPUTER ORGANIZATION

CIS603-850 ADV PROG ENVIRNM & TOOLS

CIS635-102 COMP PROGRAMMING LANG

CIS656-852 INTRNET&HIGHER

CIS - 673-850 SOFTWARE DES & PROD METH

CIS - 650-103 COMPUTER ARCHITECTURE

CIS - 610-103 DATA STRUCTURE & ALG

5.2.3 Program Written

I have written various Windows applications as well as X-Window applications running on SUN workstations during my previous work. For example, I had developed a oracle processing system running both on Windows and UNIX system, a Registration and Invoice system using Visual Basic/VBA and Microsoft Access.

5.2.4 Investigations

We have been involved this Demo project for one years. As a team we cooperate very well.

5.2.5 Projects

In Company I have written a program, which can simulate the whole second storage system including the hard disk, disk controller, disk buffer, and the buffer management system. In CIS631 I developed a personal investment system which can allow user to query information about mutual funds and perform on-line trading. The back-end system is Oracle 8 and the front-end GUI part is implemented using Motif (X-Window) on Solaris (Sun Workstation). Querying to the Oracle database is implemented using SQL language embedded in Pro*C.

5.3 Wenjia Hou’s Qualifications

5.3.1 Personal Background

09/90~07/94 Beijing Polytechnic University, Beijing, China

Bachelors in Computer Science, Jul 1994

07/94~02/99 Beijing XiDan Friendship Group. Specialist – Information System Division

09/99~Current Computer Information System Dept, NJIT

Microsoft Certificate Professional (MCP)

Microsoft Certificate System Engineer (MCSE)

ORACLE , UNIX, TCP/IP, Windows NT, Network and Web knowledge, Java, C/C++, HTML, MS Word/Excel/PowerPoint

5.3.2 Courses taken

CIS631-101 DATA MGT SYSTEMS DESIGN

CIS604-101 CLIENT AND SERVER COMPUTING

CIS601-851 OBJECT-ORIENT PROG-C++

CIS656-105 Internetworking and Higher Layer Protocols

CIS673-851 SOFTWARE DES & PROD METH

5.3.3 Program Written

I have lots of programming experiences provided by ORACLE, such as SQL*Plus, PL/SQL, Pro*C, SQL/Forms and Developer 2000 running both on UNIX and Windows system. Also I used Delphi develop a Human Resource System based on ORACLE.

5.3.4 Investigations

We have been involved this Demo project for one years. As a team we cooperate very well.

5.3.5 Projects

In my previous work I participated in several explore tasks on MIS(Management of Information System) in business. I’m very familiar with all the steps to develop a system: Problem definition, Analysis, Design, Implementation and Maintenance. Now in CIS604 I’m participating in a project. The goal of this project is to develop a new distributed target architecture to meet XYZ Corporation ( a world-wide distributor of computer products and peripherals )’s long term needs. We’ll use 3-tier and 2-tier client-server architecture and implement it by using Java.

 

6. Grading Criteria

Item Weight (%) Mark
Project Proposal
10
 
Refine Model
10
 
Webpage Setup
20
 
Write application
10
 
Demonstration
10
 
Source Code/Final System
20
 
Final Documentation
20
 
Total:
100
 
Grade:
 

 

 

Appendix

Ecommerce : The use of internet to connect business partners together to create, manage and extend commercial relationship-any time, anyplace.

Linux: Linux is an operating system that can be downloaded free and "belongs" to an entire community of developers, not one corporate entity. In other words, anyone from professional software developers to hobbyist computer hackers can access and make changes to the Linux kernel--all the information about Linux is open and available to everyone.

Oralce 8: The latest version of Oracle Database

Java: A new object-oriented programming language that is platform independent.

SQL: (Structured Query Language) is a standard interactive and programming language for getting information from and updating a database. Although SQL is both an ANSI and an ISO standard, many database products support SQL with proprietary extensions to the standard language. Queries take the form of a command language that lets you select, insert, update, find out the location of data, and so forth. There is also a programming interface.

 

Active Server Page: An Active Server Page (ASP) is an HTML page that includes one or more scripts (small embedded programs) that are processed on the Web server before the page is sent to the user. An ASP is somewhat similar to a server-side include or a common gateway interface (CGI) application in that all involve programs that run on the server, usually tailoring a page for the user. Typically, the script in the Web page at the server uses input received as the result of the user's request for the page to access data from a database and then builds or customizes the page on the fly before sending it to the requestor.

Apache: is a freely available Web server that is distributed under an "open source" license. Version 1.3 runs on most UNIX-based operating systems (such as Linux. Solaris, Digital UNIX, and AIX), on other UNIX/POSIX-derived systems (such as Rhapsody, BeOS, and BS2000/OSD), on AmigaOS, and on Windows NT/95/98. According to the Netcraft (www.netcraft.com) web server survey in September 1998, more than 50% of all Internet servers were running Apache. Although Windows-based systems with Web servers from Microsoft, Netscape, and other companies are probably gaining in terms of numbers, Apache is likely to remain popular in enterprises and server locations (such as universities) where UNIX-based systems are prevalent.

CGI: The Common Gateway Interface (CGI) is a standard for interfacing external applications with information servers, such as HTTP or Web servers. A plain HTML document that the Web daemon retrieves is Static, which means it exists in a constant state: a text file that doesn't change. A CGI program, on the other hand, is executed in real-time, so that it can output dynamic information.

Cookie: A cookie is information that a Web site puts on your hard disk so that it can remember something about you at a later time. (More technically, it is information for future use that is stored by the server on the client side of a client/server communication.) Typically, a cookie records your preferences when using a particular site. Using the Web's Hypertext Transfer Protocol (HTTP), each request for a Web page is independent of all other requests. For this reason, the Web page server has no memory of what pages it has sent to a user previously or anything about your previous visits. A cookie is a mechanism that allows the server to store its own information about a user on the user's own computer. You can view the cookies that have been stored on your hard disk (although the content stored in each cookie may not make much sense to you). The location of the cookies depends on the browser. Internet Explorer stores each cookie as a separate file under a Windows subdirectory. Netscape stores all cookies in a single cookies.txt fle. Opera stores them in a single cookies.dat file.
Cookies are commonly used to rotate the banner ads that a site sends so that it doesn't keep sending the same ad as it sends you a succession of requested pages. They can also be used to customize pages for you based on your browser type or other information you may have provided the Web site. Web users must agree to let cookies be saved for them, but, in general, it helps Web sites to serve users better.