Electronic commerce (e-commerce) is the use of computers and telecommunication technologies to share business information, maintain business relationships, and conduct business transactions. Its genesis is traced back to the Electronic Data Interchange (EDI) activity in the 1960's. EDI refers to the set of activities that are related to the electronic facilitation of the transactions between venders and buyers (purchase orders, waybills, manifests and schedules). Currently, e-commerce depends mostly on the Internet as the underlying platform.
Business transactions are events that serve the mission of a business. A transaction provides the primary means by which a business interacts with its suppliers, customers, partners, employees, and the government. Transactions are significant because they capture and/or create data about and for businesses (Whitten & Bently, 1997). Examples of transactions include purchases, orders, sales, reservations, shipments, invoices, and payment processing.
E-commerce began in the 1990's and was largely driven by the invention of the World Wide Web. The adoption of e-commerce has led to many new business models. The most important models of e-commerce are business-to-business (B2B), business-to-consumer (B2C), and consumer-to-consumer (C2C). C2C e-commerce refers to the use of the Internet by consumers to provide goods and information to other consumers; it offers an effective way to exchange goods and information between consumers. B2C e-commerce mostly refers to the use of the Internet by a business to provide goods and services to customers; it offers consumers a fast and efficient way to access various products and services from retailers all over the world without leaving home. B2B e-commerce refers to the use of the Internet between businesses to order products, receive invoices, and make payments; it reduces production costs, accelerates ordering processes, and improves inventory management. By exploiting efficiency, economy, and speed of the Internet, e-commerce simplifies and reduces the cost of processes involved in business transactions.
The parallel processing techniques proposed in this paper can be easily applied to B2C and B2B e-commerce systems. Our prototype e-commerce system implemented in this paper maintains the ACID (Atomicity, Consistency, Isolation, Durability) properties of transactions. The transaction processing system is a critical component of any e-commerce system that must manage the transactions between thousands of concurrent clients and back-end systems. Traditional sequential transaction processing techniques may fail to meet e-commerce system requirements such as high throughput and high performance.
To overcome the limitations of sequential processing, such as poor performance and poor throughput, parallel processing techniques could be used to deal with the demands of e-commerce transactions. In this paper, we focus on using parallel processing techniques to improve the performance and throughput of e-commerce transaction processing systems. E-commerce transactions include both on-line analytical processing (OLAP) and on-line transaction processing (OLTP) transactions. The OLTP of e-commerce transactions manages data and processes orders.
The OLAP of e-commerce transactions analyzes historical data from OLTP e-commerce systems and provides reports in support of management decisions. In general, OLTP deals with the atomic level of data, needs fast responses, and normally follows standard procedures and well defined workflows. OLAP focuses on providing analysis capability to management and typically deals with billions or even trillions of transaction records spanning periods from several days to decades. Although some parallel implementations of OLAP transactions (Goil & Choudhary, 1997/1999) and many parallel implementations of databases have been proposed, to the best of our knowledge, parallel implementations of OLTP transactions specific to e-commerce are rarely existed (Furtado, 2004; Dewitt & Gray, 1992; Raman, Han, & Narang, 2005; Wolf, Turek, Chen, & Ya, 1994).
However, we observe that there are many opportunities to apply parallel processing techniques to OLTP in an e-commerce system. Hence, in this paper, we focus on proposing parallel processing techniques for e-commerce OLTP transactions. To elaborate, typical architecture of an e-commerce system is three-tiered client/server architecture consisting of the GUI tier, the business logic tier, and the database tier. In the business logic tier, one could use a single processor server using multithreading or a multi-processor server to process many transactions concurrently. In the database tier, the database could be fragmented horizontally and distributed to multiple database servers or simply replicated over a number of servers. When a user transaction is processed, the transaction could be processed in parts across multiple database servers simultaneously. For instance, when a user wants to find a particular product, he/she could submit the search criteria to the server. The server in the business logic tier could then transform the search into a query.
The query could then be forwarded to different systems for processing. For each system, the query could be executed against parallel databases in the database tier. E-commerce systems are complex. A single transaction may include several logical steps. Some of these steps have dependencies between them, while others do not. The steps that have no dependencies can be executed concurrently. As described above, there are opportunities to apply parallel processing techniques when an e-commerce system processes e-commerce transactions. Identifying what to parallelize and which parallel techniques to use and incorporating them into a flexible and scalable design for a parallel e-commerce system is the focus of this paper. Thus, the aims of this paper are to:
- Characterize e-commerce transactions with a view to find those aspects that would benefit from parallel processing.
- Evaluate current parallel processing techniques to determine those techniques that can be applied to e-commerce transactions; and
- Provide a reliable, flexible, and scalable design of an e-commerce transaction processing system that uses parallel processing techniques to deal with data intensive transactions and process those transactions faster.
This paper describes an e-commerce system design that is three-tiered architecture (the GUI tier, the business logic tier, and the database tier) system using different parallel processing techniques. The design helps e-commerce systems that deal with large dataset to get faster response. This paper also describes an implementation of a prototype e-commerce transaction processing system as a case study that is developed to demonstrate the feasibility of the design. We compare our implementation with the implementation of an e-commerce system that uses traditional sequential processing techniques, and highlight the performance improvement brought by our design.