Title: Engineering an E-Commerce Online System
1Engineering an E-Commerce Online System
- Â Â
- George KichukovÂ
- Â
- Â
- Research Topics in Computer Science
- Dowling College, Oakdale, NY
- Spring 2002
- Dr. Herbert J. Bernstein
2Contents
Introduction Terms Why
E-Commerce? Project Description
Technology Requirements The E-Commerce
System Features Functionality Basic Design
Structure Additional Issues
3Terms
- E-commerce and E-business
- In the past used to describe any business
activity on the Internet. - E-commerce - online retailing, for example
the use of the Web to sell books. - E-business - describes all business
activities using the Internet, not just online
retailing.
4B2C B2B
- Business to (2) Business - describes the use of
the Internet for business transactions between
companies, for example the holding of online
auctions of bulk commodities such as crude oil. - Business to (2) Consumer - used to describe those
business ventures, which use Internet technology
to sell goods and services to Internet users. The
online selling of books is an example of B2C.
5Why E-Commerce?
- First an online store system is familiar to
anybody but the concepts apply equally well to
many other applications - Second, there is little published on how to
combine the various technologies that are
available to design and implement an e-commerce
systems. - Third, even though a lot of work has been done on
- e-commerce there is a lot to be improved and
expanded.
6Project Description
- Many people claim that building an online store
is easy! But in reality, successful e-commerce is
far more complex. Before that first cyberbuck
finds its way into your bank account, you need to
do considerable research and planning. - The e-commerce project provides a robust,
modular, extensible, packaged B2C e-commerce
platform for a small to medium sized Internet
store with a rich set of features. - In addition the system has to be as portable and
as flexible as possible and should require the
least amount of resources.
7Technology
- Even though what technology is being used is not
important for the customers and users it is
definitely one of the first things that
developers ask themselves. - There are a number of web technologies available
and I would like to say a few words about the
most popular of them (in alphabetical order)
8ASP or Active Server Pages
- ASP is a versatile and rapid development
environment available for web use - Supports VB Script, a language specifically
designed for creating interactive web
applications. - Programming is simpler and development times
reduced, - With the corporate muscle of Microsoft behind it,
the technology is being widely pushed forward. - The big disadvantage is that it is a Microsoft
technology designed for Windows Servers. - There is software available to allow ASP to run
on Unix servers but it is not very popular.
9CGI or The Common Gateway Interface
- Simplicity. It is easy to understand.
- Language independence. CGI applications can be
written in nearly any language. - Process isolation. Since applications run in
separate processes, buggy applications cannot
crash the Web server or access the server's
private internal state. - Open standard. Some form of CGI has been
implemented on every Web server. - CGI also has some drawbacks. The leading problem
is performance Since a new process is created
for each request and thrown away when the request
is done, efficiency is poor.
10Java Servlets and JSP or Java Server Pages
- Servlets provide a component-based,
platform-independent method for building
web-based applications. - JSP is in fact a set of tags that are embedded
into traditional HTML code and are automatically
converted into servlets. - You get all the usual benefits of the Java
language portability, multithreading, and
extensive API, object oriented design - Servlets are much less resource-intensive than
CGI programs - Java still has a lot to improve and
performance-wise is still comparatively slower.
11Perl
- Perl was never intended as an Internet
programming language and is time-consuming to
program. - When you look at Perl programs you often see
huge, monolithic, difficult-to-understand
programs. - On the other side Perl is powerful and it
possible to write monolithic code that can work
on both Unix and Windows servers. - Conclusion
- It turns out that the best technology to be used
depends on the - requirements and the best advice seems to be
choose the one that - your developers are most comfortable with.
12N-Tier Applications
- The tiers basically refer to the different
resources that a programmer may utilize. For
example this application is in fact 4 tiers - Client side the browser, serving already built
HTML pages - Web Server sending data to the browser
- Database Server storing the data
- Application Server executing the code
manipulating the data
13Requirements
- Platform
- Red Hat Linux 7.2 but since it is in Java,
Sun claims that it should be easily portable to
other platforms and I will take their word for
it. - Â
- Web Server
- For any kind of web development you need a
web server. The most popular is Apache, which
happens to be open source and that is what I am
using. Â
14Requirements
- Database Server
- Web applications need additional specialized
servers such as a database server and application
server. - Since the database interaction is handled through
JDBC, it should be easy to store the data on any
database - I am using MySQL, which is another open source
database server and even though it is missing
some features such as properly enforced
referential integrity, it is showing very good
performance and is in fact forcing the developer
to be more careful and to write better code.
15Features Functionality
- The system consists of 11 different interrelated
parts. -
- 1. Web-based Set up Wizard
- - Guides you trough the installation of your
web store - -Â Â Define domain name
- -Â Â Choose store template
- - Enter administrative username and password
- - The Set Up Wizard is only run the first time
when the store is set up.
16Features Functionality
- 2.    Template Builder
- -Â Â Provide 1-3 Store Template Designs
- -Â Â Specify colors and fonts
- -Â Â Â Â Â Â Â Â - Upload images and input image
names - -Â Â Â Â Â Â Â Â - Enter titles and texts
- -Â Â Â Â Â Â Â Â - Enter link titles
- -Â Â Â Â Â Â Â Â - Choose different options as
you go along
17Features Functionality
- 3. Inventory Management
- -Â Â Stores information about the products or
services that you are selling - - Uses a database to store data such as
- - Product names
- - Product Descriptions
- - Prices retail and sale
- - Quantity in stock
- -Â Add/delete/modify products
- -Â Track quantities in stock and get notified at
danger levels - -Â Define search terms for each product
- -Â Bundle products together in categories
- -Â Provides unlimited number of categories and
subcategories - - Administrative data with different levels
of permissions can be set up - Â
18Features Functionality
- 4. Promotions / Coupons / Sales
- Â Â Â Â Â Â - Â Allow for creation and redemption of
coupon codes. and discounts - -Â Free shipping, bonus product
- -Â Â Promotion of items throughout the store
by effectively designating featured products - -Â Â Cross-selling related products
- - Allows for discount text and expiration
date
19Features Functionality
- 5.     Shopping Cart
- -Â Â Flexible shopping cart with items stored
in the database - -Â Recommends additional related
products - - Option to save a regular order for 90
days
20Features Functionality
- 6. Customer Registration
- -Â Â Registration form for buyers (customers)
- -Â Â Simple sign in for returning customers
- -Â Â Track order history and customer profile
- -Â Â If the password is forgotten it would be
emailed to the account email - -Â Â Customer data can change, so they can
update their information - - Copy from shipping address checkbox
21Features Functionality
- 7.     Order Management
- Front end that customers use to place orders
- Back end that is used to fulfill the orders
- Pulls data from the inventory and presents it to
the customers - Provides not only a list of products but also
images and descriptions - Maintaining order history and tracking orders is
also related here - Keeps track of all orders made and payments
received
22Features Functionality
- 8. Customer Service / Help Desk Section
- -Â Creating a wide variety of customer-service
features - -Â Custom feedback form
- -Â About us section
- -Â Template for generating privacy policy,
returns, shipping and security - - Frequently asked questions section
23Features Functionality
- 9. Search
- Allows customers to search for specific products
by typing - Goes through the Search Keywords in the database
of products and displays a list of links of
matches
24Features Functionality
- 10. Shipping
- -Â Â Look at pending orders
- -Â Â Provide order and shipping information
- -Â Â Update order status
- - Customers can also view the status of
their order -
25Features Functionality
- 11. Reports
- -Â Â Study customer patterns
- -Â Â Provide information about total sales in a
given period - -Â Â Split sales information on a monthly or
weekly basis - -Â Â Comparisons of revenues generated by
different products - -Â Â Does not analyze the log files of the web
server
26Customer Front End Structure
- 1. /home
- Home page, list of top level categories
and the list of featured products are dynamically
generated. - 2. /category
- a list of products or a new list of
subcategories - 3. /products
- page specific for this product with
description, image, option to view larger image,
price etc. - 4. /checkout
- customer registration
- 5. /help
- help and customer service
- 6. /cart
- Add To Cart or View Cart
27Management Back End Structure
- 1. Log in is required and the username and
password are saved in session variable and are
checked before any attempted task. Present a list
of possible administrative tasks. - 2.  Inventory Tasks and Files
- 3.  New orders, order status, order fulfillment
- 4.  Set Up and Modify the Store Templates
- 5.  Set Up Wizard
- 6.  Reports
- 7.  Customer Service and FAQ section
administration - 8. Customer Management and subscription
services
28Structure and Data
- Large amount of data that inherently lacks
structure. -
- For example, HTML has proved to be an
enduring markup language for developing Web
pages however, there are no facilities within
the language, for example, to indicate whether an
item of data, say a three-digit number,
represents the price of a commodity or some
hourly rate charged by a company employee.
29Problems with Browsers
- Each of these browsers can display the browser
pages they process in different ways, especially
if they contain advanced facilities of HTML. - Different markup languages, focused on particular
devices, for example there is a markup language
known as WML (Wireless Markup Language) - The diversity of such languages means that the
overhead in maintaining a number of versions of a
document for different media can be very large.
30XML Possible Solution
- Can be used to indicate structure in a document
- Maintain a single version of a document expressed
in a language defined by XML and easily convert
it into a form that can be displayed on a variety
of media - Television sets, Internet phones and a variety of
World Wide Web browsers - In fact an attempt to separate the structure of
the data from the way it is presented.
31Security
- Important part of any application
- This system relies on simple username and
password authentication - Uses SSL (Secure Sockets Layer) for transferring
the credit card and other secure information - Additional security is required by credit card
companies if you intend to store credit card
numbers.
32Visa has developed a series of data security
requirements called the "Digital Dozen."
- Install and maintain a working network firewall
- Keep security patches up to date.
- Encrypt stored data.
- Encrypt data sent across networks .
- Use and regularly update anti-virus software.
- Restrict access to data by business "need to
know." - Assign a unique ID to each person with computer
access to data. - Do not use vendor-supplied defaults for system
passwords - Track access to data by unique ID.
- Test security systems and processes daily.
- Maintain a policy that addresses information
security - Restrict physical access to cardholder
information.
33Taxes
- At present, Internet sellers are only required to
collect sales tax if they have a physical
presence in the purchaser's state. - Most of the online stores do not charge any tax.
34Shipping
- UPS and FedEx have opened up their interfaces to
developers via the Internet - Shipping costs vary by weight
- Many online merchants charge fixed amounts for
shipping and handling - You can offer free shipping on orders above a
certain dollar amount - Let your customers know when P.O. boxes are going
to be an issue
35Payments
- 1. Authentication - make sure the cards you
are accepting have valid numbers, have actually
been issued, and are not reported stolen. - 2. Authorization - checks whether funds are
available for purchases. If they are, you can put
reservations on those funds. But you don't get
the money yet. - 3. Settlement - the banks will release the
funds that were previously reserved, and the
money will make its way through numerous banks
and intermediaries into your account. -
36Payments
- Don't charge the cards until the products are
ready to go - There are three options
- third party that verifies and processes the
payment - small component is added that will communicate
directly with a payment gateway - simply store it for further possibly even manual
processing
37Conclusion
- An online storefront, like any business itself,
must continue to grow and change to accommodate
the evolution of customers and products. - This flexibility is key to keeping e-business
viable. - The quick and ever-changing nature of the Web can
be daunting, but it can also bring customers,
connections, and opportunities that never would
have been possible otherwise.
38- References
- Asbury, Steven Weiner, Scot R. "Developing Java
Enterprise Applications", Second Edition, Willey
Computer Publishing 2001Â - Hakman, Kevin. E-Commerce Tutorial,
http//hotwired.lycos.com/webmonkey - Hall, Marty. Core Servlets and Java Server
Pages Sun Microsystems Press/Prentice Hall PTR
Book, 2000 - How to store your secure data,
http//business.lycos.com - Ince, Darrel Distributed Applications and E
Commerce, Addison Wesley, 2001 - Sharma, Vivek Sharma, Rajiv Developing
e-Commerce Sites An Integrated Approach,
Addison Wesley, 2000 - Visa USA Visa Security http//usa.visa.com/per
sonal/about_visa/newsroom/visa_security.htmle
39Acknowledgements
- Dr. Herbert J. Bernstein
- Thank you for teaching and guiding us!
- We are so happy to have you!
- Our Fellow Students
- Keep up to the good work!