ECOM Chapter-2 Notes
ECOM Chapter-2 Notes
Functionality in E-Commerce,
Storefront Applications
E-Commerce, E-Business, Internet Shopping, On-line Storefronts, Digital Storefronts,
Electronic Shopping, Internet Commerce, Web Commerce, B2B, B2C, etc. are all terms
used by marketing to grab a “mind share”. They all refer to buying and selling over the
Internet.
Client-Server, client side functionality, server side storefronts, thin client, server enabled,
client enabled are terms that, if you’re a busy Internet shopper, are important to you.
They refer to the way your Internet shopping session functions.
What do telephone answering machines have to do with Internet Commerce? Well, like
that telephone system, all Internet shopping involves at least two terminals: the server
machine which is sometimes called the host computer, and the client machine which is
your computer.
In e-commerce, the essential server or host function is to store, and make available to a
client machine, all of the information that is unique to a store on the Internet. This unique
information will include:
Your computer, the client machine, will run a web browser application which allows you
to view the unique store information as hypertext pages. These pages have the capacity
to provide rich presentations of audio, video, images, and text.
In addition to the unique functions in e-commerce, there are numerous generic functions
that must be performed to complete the on-line shopping experience. Either the server
machine or your computer can perform them. Some of these functions are:
E-Commerce, storefront software can be either client side or server side functional.
Simply put, the type of software will determine whether generic functions are performed
on the server computer or your computer.
To demonstrate how this affects you, take a look at a real world paradigm which probably
best emulates a virtual world shopping experience. It’s the type of store where you view
items on a display floor and write down the item number on a pad. You keep doing this
for each item you want until you’re ready to check out. At which time you go to a central
location where a clerk totals the price and tax for everything you’ve selected; you make
payment arrangements, and pick up your purchases.
Now do this in the virtual world using e-commerce software that has to perform all of the
generic functions on the server machine. Select an item from the display floor. Write
down the item number. Take the slip of paper to the check out counter and ask the clerk
to compute your taxes and shipping costs on that item, and hold the slip for you while you
look around the store some more. Select another item, take a new slip paper to checkout,
ask the clerk….you get the idea. Server side functionality means that each time you
make a selection, you must repeatedly go back to the clerk (server) to hold that selection
for you. It also means that if you want to see what your total purchases, shipping costs
and taxes are, at any time, you must go back and ask the clerk to make the computation.
However, the clerk, the server computer, is very fast, so why is this a problem? The
problem is that each item you select is about a mile away from the checkout location and
the clerk is very busy. You have to walk this mile each time you make a selection. And
you have to stand in line waiting while the clerk serves other customers.
How long can that take? Consider that that mile represents the time it takes to request a
page and get a response over the Internet…you can judge this for yourself. The clerk is
the server machine. If it’s just you that needs the clerk….no problem. If one hundred
shoppers show up at the clerk’s location at one time….expect to wait. If you’re a
customer, you may just go home. If you’re a merchant, you’re in big trouble. You may be
losing customers.
The irony of this server side scenario is that while you wait for each transaction from the
server, your own computer sits idle. To address this wasted capability, client side
storefront software was developed.
A client side storefront runs in the web browser, on your machine. It performs all of the
generic on-line shopping functions on the fly. That is: it stores all of your product
selections, cost information, and shipping instructions in the browser session; it can save
information about you and your purchases on your computer; it totals the order and
displays taxes and shipping costs almost instantly; and, it presents a complete purchase
order for your review, without delay and without ever having to make another request of
the server. In fact the only time client side storefronts have to connect back to the host
server machine is to request new information unique to the store or send a summary of
the completed shopping session.
If you’re a shopper, you want speed. If you’re a merchant, you want happy shoppers.
Client side, e-commerce, storefront software delivers both.
When programming a web application, it's important to know the difference between
client-side programming and server-side programming. Client-side programming is run
on the clients machine, creating some advantages and disadvantages. Even with client-
side advantages, server-side programming is more secure and is preferred by most
programmers. Server-side programming also has more options for languages than client-
side.
Client-side
Client-side programming is run on the user's computer. An example of client-side
programming is Javascript. Javascript can be used to run checks on form values and
send alerts to the user's browser. The problem with client-side scripts is the limit of
control and problems with operating systems and web browsers. Since programming a
website involves users with several options of computer software, it's difficult for
programmers to account for any bugs in the code or compatibility issues with browsers.
Server-side
Server-side scripts are run on the server. This reduces the amount of bugs or
compatibility issues since the code is run on one server using one language and hosting
software. Server-side programming can also be encrypted when users send form
variables, protecting users against any hack attempts. Some examples of server-side
programming languages are C#, VB.NET, and PHP.
Security
Server-side scripts are more secure than client-side. For instance, when a user accesses
a bank account online, the server side-script communicates with the client using
encryption. A client-side script is plain text and run on the client's browser. Any
unscrupulous hacker can view the code and eavesdrop, stealing private information from
the user's computer.
Browser Compatibility
The code run on the user's computer using scripts like Javascript can be blocked. Most
browsers give the user the option to block client-side code, which causes a problem with
web developers who need Javascript to run on the computer for the web application to
load properly. Server-side scripting does not have any browser limitations.
Ajax
Ajax is a newer technology that uses both client-side scripting and server-side scripting in
conjunction. Ajax can call a database without refreshing the page. Ajax is an example of
a client-side script that calls a server-side script. The call is transparent to the user since
a new call to the server is done in the current window without refreshing the page like
typical server-side calls.