presentation5 - University of Worcester
Download
Report
Transcript presentation5 - University of Worcester
COMP3121
E-Commerce Technologies
Richard Henson
University of Worcester
October 2011
Week 5: B2C E-commerce
websites with Shopping Carts
Objectives:
describe the software & hardware components of
a typical B2C on-line trading system
describe the stages required to capture an order
on-line, produce an online invoice and receive
payment on-line
apply a knowledge of the above to design a data
model for the on-line payment system
explain the crucial role of the website itself in
generating on-line orders and ROI
Systems for On-line Ordering
COULD be achieved via the www in a
number of ways:
via email
using a HTML Form that sends “semi-structured”
data to an email address
using a more sophisticated HTML forms system (a
shopping cart)
» sends data to an on-line product database
» database could be local (client only system) or on a web
server (client-server system)
» data could be processed and presented as an online
invoice
» invoice could be linked to a payment system
Order via e-mail
Two possibilities:
using email address given on home page
using a HTML mailto command on the
home page, which allows the email
message header to be generated
automatically
In either case…
a manual system requiring the vendor to
physically read the message and send a reply...
Processes in ordering via e-mail
Customer:
initiates communication using email address on
web site
types out/sends an unstructured message
requesting product(s) displayed on website
Vendor:
replies with an emailed order
» may have be inputted by hand
requests some means of payment before
proceeding…
» issues with security of personal data for unencrypted
email…
» may have to be sent by post…
Processes in ordering via a
simple HTML form
Customer presented with product list as a
form on the web page
If properly designed, customer just needs to
type in a number for qty of each product required
submit the completed form to the vendor’s email
address
Because the information is structured, it can
be processed automatically by software at
the server end
Ordering via Shopping Cart
Intention: making ordering products as easy as
possible for the customer
series a web pages with embedded programming
features
all the processing happens “behind the scenes”
Transparency (and EU law!): the customer
should see exactly what they are ordering…
the database should incorporate a means of
systematically storing customer addresses
the shopping cart logic should total up the exact
amount the customer will have to pay
E-commerce via E-marketing
& Shopping Cart
A complete e-commerce website system
should fulfill two main functions:
advertising & promoting the company’s products
providing a secure and robust system for
encouraging people to buy those products online
Each function is a subsystem in its own right
» Presentation… FRONT END
» behind the scenes scripts, database, etc… BACK END
Shopping System
Front End
Online equivalent of a high street shop
home page = shop window
browsing through the product web pages… the
equivalent of walking round the shop
Objective (should be!)
use creative web page design to present
products as positively as possible
» to encourage customers to want to buy…
» and to increase “hit rate”
provide a “buy” button in appropriate places!
The Shopping System
Back End
The components that communicate with the
remote web server:
relational database holding product, transaction, and
possibly customer data
server scripts to manipulate that data, including…
» connectivity string(s) to enable scripts to interact with
database
» SQL statements to query fields and tables
Often regarded as “the boring bit!”
but should all work perfectly, and never really be
noticed…
» “transparent to the user”
Linking Front-End
and Back-End
Where the shopping
cart system becomes
invaluable…
cart data held locally
for quickness
cart display gives
customer immediate
feedback on what has
already been bought
Front end
(products on view)
Cart data
On-line
invoice
Processing allowing
purchase
Payment & Fulfillment
The “after ordering” or “customer service” web
pages (especially important in B2C)
reports progress of order, points out problems
should “look good”, to maintain the customer’s
confidence in the company as an online vendor
Consist of...
secure payment pages, that connect to a clearly
identified (logo?) merchant services provider
corporate “thank you” page
system to email customer with information
concerning the acceptance & progress of their order
Shopping Cart Logic
The cart itself has to:
collect the order using information
gathered by mouse clicks on shopping
pages
store & process the order data
prepare online invoice
display invoice for customer
request some means of payment
Using local datasets & cookies
E-commerce is very big business
no expense spared in providing the best customer
experience…
aim for rapid interaction, good security, minimal
customer effort, fast response
in this case “small is beautiful”, because small
means fast…
Makes sense to make shopping cart dataset
(“VIEW” of database) as simple as possible
Typical B2C
shopping cart system… (1)
Web page displays live data from
organisational web server
Cart:
customer selects product(s) and qty using
hyperlinks/buttons on product pages
data from selections stored locally on cart dataset
new page created to display cart data
totals, including VAT automatically displayed on
on-line order (not yet an invoice – by convention,
no customer details included on dataset)
Typical B2C
shopping cart system… (2)
customer chooses to buy (or not!) directly using
button/hyperlink on on-line order
System requires customer to either:
» log on so existing customer record can be accessed
» supply new details on a new (preferably secure) web
form, and details need to saved securely before
proceeding
system presents on-line invoice, and requests
payment
Typical B2C
shopping cart system… (3)
The invoice has to comply with EU
legislation (other legislation, for
purchases outside the EU
no further charges beyond this point…
terms & conditions clearly displayed
customer personal data suitably protected
Hyperlink/button from online invoice to
payment & fulfillment pages
Shop@ssistant resource: essential
features of a shopping cart
Default shopping pages supplied - readily
customizable
e.g. buttons, text, pictures etc.
important for meeting client needs!
Good practice:
enforces reading of “terms & conditions”
automatically displays shopping cart contents whenever
forms data is added
captures customer data later in the process
handles tax and shipping for overseas customers
scope to link with banking network via secure payment
systems, with built-in links
» security of financial data handled by a trusted third party!!!
Shop@ssistant System
Architecture (if interested…)
Very confusing because it uses several instances of index.html
root folder file boots the main system file, in the system folder
causes the system to be loaded
» a web page informs that “Shop@ssistant system is being loaded…”
finally, the home page is loaded from the pages folder
Product Data
saved within product pages as JavaScript arrays
Shopping Cart Data
set up on local hard disk as a cookie
» NOT a session cookie
» data remains after user has logged out, and system has been switched
off!
cookie values put there by customer clicking on a pay button
Cart page itself created by calling a JavaScript routine, and
placing cookie values into a HTML table
other features are also JavaScript routines
“Bookshop”– e.g. of shopping
system design
Very simple design...
enables ordering of a book in at least two ways
» text or image
Easy navigation:
forward (buttons at the bottom of the page)
back (hyperlinks at top and bottom)
Buttons at the bottom of the page:
Order this Book
3 Copies for 2 Offer
Review Basket
Shop@ssistant “Bookshop”
Site design (more…)
Clicking on either the image of the book or
the order button displays “shopping basket”
Features to note:
heading - reflect corporate image, etc.
buttons at top of every page - good navigation
hyperlink on product pages for more detail
option to go to payment page - cashier
“remove item” check box
separate form: on-line invoice
bullet pointed help
“Bookshop” Site Design
On Screen Invoice
Dealing with Customer Details…
Based on “buy” hyperlink
» i.e. customer commitment to a purchase
customer has to appropriately complete name,
address, email address fields (all validated)
“Next” from customer details selectively
provides an invoice:
if customer details are not in the right format…
» customer details page will instead be called
On screen invoice page:
includes all extra charges (e.g. shipping and VAT)
pay button to go to “merchant” site for payment
Handling Payment
After payment, fulfillment…
thank you page
then a goodbye page…
and (optionally) an email confirmation of
order...
» independent of whether payment has been
accepted…
Not bad for mid-1990s!!
(wonder how much the developer was
paid…)
Security and E-commerce
Focused mostly on financial transaction
system needs to be designed so financial data
cannot be tapped into en route or on either client
or server computer
quite a challenge for a developer… often passed
to 3rd party provider
» e.g. PayPal, WorldPay
However…customer requirement to supply
personal data
need for protection of such data under EU
legislation
» many systems based on US model (no data protection
legislation). Note that Shop@ssistant was British
» still on “catch up” as regards shopping cart design…
Developing your own cart
Many possible solutions…
Many “skeletal” shopping cart systems
already created
shopping cart components that just need to
be assembled into a unique system
» Charon Cart (asp)
» Webthang (asp, asp.net)
» WebXel (asp.net)
Still available for a “fall back” position
Developing a Shopping Cart
with Visual Studio
Need data source controls & general
controls to coordinate button logic
Also needs HTML
tables now frowned on by (some) client-side
developers
really useful for server-side
Best data source control for working with
HTML tables: <asp:repeater>
Use of ASP:Repeater
Only limited use of a wizard
manual use of <table> and <itemtemplate>
Syntax (hard coded):
» <asp:Repeater ID="Repeater1" runat="server“
DataSourceID="AccessDataSource2"
EnableViewState="False">
<HeaderTemplate>
<table> <tr> </HeaderTemplate>
<ItemTemplate> <td><%# Eval("CategoryName")
%></td> </ItemTemplate>
<FooterTemplate> </tr>
</table> </FooterTemplate>
</asp:Repeater>
Making a Start…
Which comes first… the chicken or the egg?
i.e. Which to develop first… database or
server scripts?
Generally considered to be a good idea to
start with the data…
that means:
» identifying the ENTITIES
» modelling their relationships
» Adding the ATTRIBUTES
The Data Model for a
Shopping System
Basic Entities:
Product
Customer
Link Entities:
Order
Order-Line
All four need to be logically linked in an
appropriate way…
Possible basic data (entity)
model for a Shopping System
order
product
Need to add
1-many ends of
relationships
Order line
Where does
Shopping Cart fit in?
customer
Possible Data Model with
entities/attributes added
Creating the Physical Database
from a Logical Design
It works on paper…
But a practical working model is needed:
create database tables
link them together, according to the
Entity/relationships/attributes model you
created
populate the tables with trial data of an
appropriate format
make sure all is consistent…
Which Fields are necessary
for the shopping cart?
These will be used as a dataset, held as a
cookie on the local machine
needs to be the minimum number
needs to be non-sensitive data (held on local
machine)
Which data is needed for a shopping cart?
the corresponding fields are what is required…
over to you… (something to do in study week)
Justifying the Cost of a
Shopping Cart System
Many ways to create a shopping cart system:
how does the business know what is good value
for money?
Internet or cloud-based systems may look
attractive…
» may appear to be cheaper
» may appear to manage everything for the business
how well does outsourcing fit with
» business objectives
» legal & regulatory requirements
Business Benefits of B2C
Can generate more sales…
increase revenue
BUT how can B2C e-commerce cut
costs?
data input is done by the customer
» help from the shopping pages and shopping
cart
data output is presented directly on the
screen
cuts greatly on administration…
What makes a successful
on-line B2C E-commerce site?
Needs to attract customers
and retain customers…
measured through hit rate
Good design principles:
common “look and feel”
shopping pages tasteful, but not over-elaborate
shopping system user-friendly & works efficiently
Successful e-commerce websites save/make the
vendor an awful lot of money!
potentially huge ROI (wise developer requests a cut?)
B2C E-commerce: Keeping
the customer satisfied…
All transaction data has to be presented
digitally on-screen…
order forms (no opening envelopes and processing
an order from paper)
invoices (no need to print them, put them into
envelopes, or send them off by post)
Huge potential cost saving, but the screen
interface must be designed FOR THE
CUSTOMER!!!
If the customer is not comfortable with it, they
may not buy… and may not return
Internet Marketing
Huge growth area…
Whole conferences devoted to e.g. “Technologies
for Marketing”
In the early days of e-commerce, the rate of
hits on website WAS the value of the
company (!)
now revised downwards, but same principle
applies…
» formula based on (say) every tenth visitor will be a
customer…
Best ways to attract visitors:
use search engines effectively
advertise URL effectively using a diverse range of
media
Promoting the Website
However excellent the site may be…
the business will get no benefits from
increase in sales if there are no visitors (!)
MANY ways to maximise the number of
visitors to a site…
Suggestions?
Ways to
Improving Hit Rate
Many applications available
Some very simple
»
»
»
»
counters
meta name generators
date/time/special effects, etc. (client end)
links to code located on other sides (e.g weather
forecast)
» provide more features for the site
any number of possibilities
Others more technological/sophisticated :
» example: ASP Sheriff
Effective Use of Search Engines
Objective: to use appropriate
techniques to cause the search engine
display your site in its “top ten”
Search Engine “spiders”
» crawl round the net looking out for keywords in
web pages
» retrieve keywords and corresponding URLs
» take keywords back to the search engine
database
» Program automatically adds the lists of
keywords to the database
right keywords MUST be presented to the spiders
Effective Use of
Search Engines (2)
Longer-term Search Engine ranking also
based on:
hit rate
number, and activity, of external links on site
Technologies available to help boost rankings
whole discipline e-marketing technology focuses
on improving hit rate…
Like e-commerce itself this is now VERY BIG
BUSINESS!