THE DESIGN AND IMPLEMENTATION OF AN E-COMMERCE SITE FOR ONLINE BOOK SALES

4000.00
Abstract   The business-to-consumer aspect of electronic commerce (e-commerce) is the most visible business use of the World Wide Web. The primary goal of an e-commerce site is to sell goods and services online.    This project deals with developing an e-commerce website for Online Book Sale. It provides the user with a catalog of different books available for purchase in the store. In order to facilitate online purchase a shopping cart is provided to the user. The system is implemented using a 3-tier approach, with a backend database, a middle tier of Sun J2EE 1.4 application server and JSP, and a web browser as the front end client.    In order to develop an e-commerce website, a number of Technologies must be studied and understood. These include multi-tiered architecture, server and client side scripting techniques, implementation technologies such as JSP, programming language (such as JAVA, JavaScript, and HTML), relational databases (such as MySQL, Access).     This is a project with the objective to develop a basic website where a consumer is provided with a shopping cart application and also to know about the technologies used to develop such an application.   This document will discuss each of the underlying technologies to create and implement an ebook store.                TABLE OF CONTENTS   1.  INTRODUCTION  ………………………………………………………………1 2.  LITERATURE REVIEW ………………………………………………………...1 3.  IMPLEMENTATION TECHNOLOGIES  ………………………………………3 3.1.  INTRODUCTION TO JSP (J2EE 1.4 ) ………………………………....3 3.2.  JSP ARCHITECTURE …………………………………………………..4 3.2.1.  ACCESS MODEL …………………………………………….6  3.3.  MYSQL DATABASE …………………………………………………...8 4.  WEB PAGE PROGRAMMING OPTIONS  …………………………………….10 5.  WEB BASED APPLICATION DEVELOPMENT ………………………………11 6.  PROJECT DESIGN  ……………………………………………………………...13 6.1.  DATA MODEL ………………………………………………………….13  3.1.1 Database Design ……………………………………………….19 6.2.  PROCESS MODEL  ……………………………………………………19 6.2.1.  Functional Decomposition Diagram ………………………….21 6.2.2.  Data Flow Diagram (DFD) …………………………………….21 6.3.  USER INTERFACE DESIGN  ………………………………………….31 7.  LIMITATIONS AND FUTURE DEVELOPMENT ……………………………..44 8.  CONCLUSION …………………………………………………………………...45 9.  BIBLIOGRAPHY ………………………………………………………………...46  List of Figures Figure 3.2.1   Servlet Container  ……………………………………………..5 Figure 3.2.2   “jsp servlet”  …………………………………………………..6 Figure 3.2.1.1  “access model”  ……………………………………………….6 Figure 3.2.1.2   Mvc Design Pattern …………………………………………...7 Figure 4.1          Web Page Programming Option …………………………….10 Figure6.1.1        Entity relationship diagram   ………………………………...13 Figure 6.2.1.1   Functional Decomposition Program …………………………20 Figure 6.2.2.1   A Context Level Diagram …………………………………...21 Figure 6.2.2.2    A First Level Diagram ……………………………………….22 Figure 6.2.2.3   A Second Level Diagram ……………………………………23  Figure 6.2.2.4  A Second Level Diagram ……………………………………24 Figure 6.2.2.5   Use Case Diagram …………………………………………...25 Figure 6.2.2.6   Customer - Browse Context DFD …………………………...26 Figure 6.2.2.7   Customer - Browse Detailed DFD …………………………..26 Figure 6.2.2.8   Customer – Shopping Cart Context DFD ……………………26 Figure 6.2.2.9   Customer - Shopping Cart Detailed DFD …………………...27 Figure 6.2.2.10  Customer - Shopping Cart Detailed DFD …………………...27 Figure 6.2.2.11  Customer - Shopping Cart Detailed DFD …………………...27 Figure 6.2.2.12  Customer – Authentication – UserProfile DFD ……………..28 Figure 6.2.2.13  Authenticated User-Purchase Context DFD …………………29 Figure 6.2.2.14  Customer - Authentication - Purchase DFD …………………29 Figure 6.3.1   Splash Screen ………………………………………………..32 Figure 6.3.2   Menu …………………………………………………………33 Figure 6.3.3   Book Details …………………………………………………34 Figure 6.3.4   Advanced Search …………………………………………….35 Figure 6.3.5   User Information …………………………………………….35 Figure 6.3.6   Registration ………………………………………………….36 Figure 6.3.7   Login ………………………………………………………...36 Figure 6.3.8   Book …………………………………………………………37 Figure 6.3.9   Members ……………………………………………………..37 Figure 6.3.10   Administration Menu ………………………………………..38 Figure 6.3.11   My Info ………………………………………………………38 Figure 6.3.12   Categories ……………………………………………………39 Figure 6.3.13   Add Member …………………………………………………39 Figure 6.3.14   Books  ………………………………………………………..40 Figure 6.3.15   Card Types …………………………………………………..40 Figure 6.3.16   Add Categories ………………………………………………41 Figure 6.3.17   Book Edit …………………………………………………….41 Figure 6.3.18   Editorial ……………………………………………………...42 Figure 6.3.19   Orders ………………………………………………………..42 Figure 6.3.20   Edit Editorials ………………………………………………..43 Figure 6.3.21    Editorial Categories ………………………………………….43 List of Tables Table 6.1.1.1:   card_types ……………………………………………………14 Table 6.1.1.2:   categories …………………………………………………….14 Table 6.1.1.3:   editorial_categories ………………………………………….14  Table 6.1.1.4:   editorials……………………………………………………...15 Table 6.1.1.5:   items  ……………………………………………………….15 Table 6.1.1.6:   members ……………………………………………………..16 Table 6.1.1.7:   orders ………………………………………………………...17 


1. Introduction

In the world of software development there lots of improvement in the area of Architectural design and principles. The philosophies and implementation details are changing as the people guiding the development of the application. In this fantastic and yet sometimes complex world of software development there are some tried and true architecture patterns  and software development guidelines employed by most architects. Also your design must have an ability to turn towards innovation instead of lending itself to common practices. Web services are one such area where architects must lean on their creative side and hope that their solutions are still successful. In this report we will explain an exciting voyage down the road of Web services application. From requirements to use cases, to database design, to component frameworks, to user interfaces, we will cover each and every aspect of system design required to build an application with collaborative Web services. The reason why we selected online Bookstore web service is everybody walking down the street has some idea about bookstores. The objective of this project is to develop an e- book store where books can be bought from the comfort of home through the Internet.   An online book store is a virtual store on the Internet where customers can browse the catalog and select books of interest. The selected books may be collected in a shopping cart. At checkout time, the items in the shopping cart will be presented as an order. At that time, more information will be needed to complete the transaction. Usually, the customer will be asked to fill or select a billing address, a shipping address, a shipping option, and payment information such as credit card number. An e- mail notification is sent to the customer as soon as the order is placed.  

2. Literature Review

Electronic Commerce (e-commerce) applications support the interaction between different parties participating in a commerce transaction via the network, as well as the management of the data involved in the process [2].  The increasing importance of e-commerce is apparent in the study conducted by researchers at the GVU (Graphics, Visualization, and Usability) Center at the Georgia Institute of Technology. In their summary of the findings from the eighth survey, the researchers report that "e-commerce is taking off both in terms of the number of users shopping as well as the total amount people are spending via Internet based transactions".    Over three quarters of the 10,000 respondents report having purchased items online. The most cited reason for using the web for personal shopping was convenience (65%), followed by availability of vendor information (60%), no pressure from sales person (55%) and saving time (53%).     Although the issue of security remains the primary reasons why more people do not purchase terms online, the GVA survey also indicates that faith in the security of ecommerce is increasing. As more people gain confidence in current encryption technologies, more and more users can be expected to frequently purchase items online [11].    A good e-commerce site should present the following factors to the customers for better usability [11]:  •   Knowing when an item was saved or not saved in the shopping cart.  •     Returning to different parts of the site after adding an item to the shopping  cart.  •    Easy scanning and selecting items in a list.  •     Effective categorical organization of products.  •          Simple navigation from home page to information and order links for specific  products.  •     Obvious shopping links or buttons. •     Minimal and effective security notifications or messages. •        Consistent layout of product information.   Another important factor in the design of an e-commerce site is feedback [4]. The interactive cycle between a user and a web site is not complete until the web site responds to a command entered by the user. According to Norman [5], "feedback-sending back to the user information about what action has actually been done, what result has been accomplished--is a well known concept in the science of control and information theory. Imagine trying to talk to someone when you cannot even hear your own voice, or trying to draw a picture with a pencil that leaves no mark: there would be no feedback".  Web site feedback often consists of a change in the visual or verbal information presented to the user. Simple examples include highlighting a selection made by the user or filling a field on a form based on a user's selection from a pull down list. Another example is using the sound of a cash register to confirm that a product has been added to an electronic shopping cart.  Completed orders should be acknowledged quickly. This may be done with an acknowledgment or fulfillment page. The amount of time it takes to generate and download this page, however, is a source of irritation for many e-commerce users. Users are quick to attribute meaning to events. A blank page, or what a user perceives to be "a long time" to receive an acknowledgment, may be interpreted as "there must be something wrong with the order." If generating an acknowledgment may take longer than what may be reasonably expected by the user, then the design should include intermediate feedback to the user indicating the progress being made toward acknowledgment or fulfillment.  Finally, feedback should not distract the user. Actions and reactions made by the web site should be meaningful. Feedback should not draw the user's attention away from the important tasks of gathering information, selecting products, and placing orders.    

3. Implementation Technologies 3.1 Introduction

While there are numerous technologies for building web applications that serve dynamic content, the one that has really caught the attention of the development community is JavaServer Pages (JSP). And not without ample reason either. JSP not only enjoys cross-platform and cross-Web-server support, but effectively melds the power of server-side Java technology with the WYSIWYG features of static HTML pages.    JSP pages typically comprise of:  •      Static HTML/XML components. •      Special JSP tags    Optionally, snippets of code written in the Java programming language called "scriptlets."  Consequently, you can create and maintain JSP pages by conventional HTML/XML tools. It is important to note that the JSP specification is a standard extension defined on top of the Servlet API. Thus, it leverages all of your experience with servlets.  There are significant differences between JSP and servlet technology. Unlike servlets, which is a programmatic technology requiring significant developer expertise, JSP appeals to a much wider audience. It can be used not only by developers, but also by page designers, who can now play a more direct role in the development life cycle. Another advantage of JSP is the inherent separation of presentation from content facilitated by the technology, due its reliance upon reusable component technologies like the JavaBeans component architecture and Enterprise JavaBeans technology. This course provides you with an in-depth introduction to this versatile technology, and uses the Tomcat JSP 1.1 Reference Implementation from the Apache group for running the example programs.