IT8005 EC Notes UNIT 2
IT8005 EC Notes UNIT 2
IT8005 EC Notes UNIT 2
UNIT- II
2 Building an E-Commerce
Website, Mobile Site and Apps
Syllabus
Systematic approach to build an E-Commerce : Planning, System Analysis, System Design, Building
the system, Testing the system, Implementation and Maintenance, Optimize Web Performance –
Choosing hardware and software – Other E-Commerce Site tools – Developing a Mobile Website
and Mobile App.rogramming paradigms- procedural, object oriented, functional, and logic and rule
based.
Contents
2.1 Systematic Approach to Build an E-Commerce
2.2 Planning
(2 - 1)
lOMoARcPSD|36071472
Electronic Commerce 2-2 Building an E-Commerce Website, Mobile Site and Apps
Electronic Commerce 2-3 Building an E-Commerce Website, Mobile Site and Apps
2.2 Planning
The next step towards developing an e-commerce website is creating a plan. To
handle a complex problem, for example, building an e-commerce website, you
should continue systematically through a series of steps.
One approach is the systems development life cycle. The SDLC is an approach for
understanding the business objectives of any system and designing a fitting
solution. Embracing a life cycle approach doesn't ensure success, yet it is obviously
better than having no plan by any means.
The SDLC technique also helps in making documents that convey objectives,
significant milestones, and the uses of resources to management.
The system development life cycle contains following major phases
o System analysis
o System design
o Building the system
o Testing the system
o Implementation and maintenance.
Electronic Commerce 2-4 Building an E-Commerce Website, Mobile Site and Apps
Table 2.2.1 explains some essential business objectives, system functionalities, and
information requirements for a typical e-commerce website. As appeared in the
table, there are ten fundamental business objectives that an e-commerce website
should convey. These objectives should be converted into a description of system
functionalities and eventually into a set of precise information requirements. To a
large extent, the business objectives of an e-commerce website are not that different
as those of a conventional retail store. The genuine difference lies in the system
functionalities and information requirements. In an e-commerce website , the
business objectives should be given completely in digital form.
Engage customers in On-site blog, user forums Software with blogging and
conversations community forum
facility
Manager
lOMoARcPSD|36071472
Electronic Commerce 2-5 Building an E-Commerce Website, Mobile Site and Apps
purchased, identified by
marketing campaign
Table 2.2.1 System analysis : Business objective, system functionality and Information
requirement for e-commerce website
Electronic Commerce 2-6 Building an E-Commerce Website, Mobile Site and Apps
Electronic Commerce 2-7 Building an E-Commerce Website, Mobile Site and Apps
In-house Outsource
Electronic Commerce 2-8 Building an E-Commerce Website, Mobile Site and Apps
Use prebuilt templates Build from scratch Use packaged site building
tool
Shopify CGI Scripts IBM Websphere
WordPress HTML Sitecore commerce server
Google Sites PHP
Yahoo Aabaco Small SQL DB
Business Dreamweaver
There are number of risks involved in building your website on your own. Provided
the complexity of functionality like credit card authentication, shopping cart,
payment processing, order processing and inventory management, the cost will be
higher, as are the risk of performing poor job.
As you will be rebuilding the kind of website which other specialized firms have
already developed, and your staff may require longer time which would delay your
entry in the market. Because of all this you efforts can fail. On the brighter side, you
might be better able to develop a website which has all the functionality that you
want and more importantly you will learn the art of developing in-house, which
will help you in case you need to make some changes because of change in business
strategy.
In selected to purchase more costly site- building packages, then you will be buying
the software which is tested under all circumstances. By this you can enter into
market sooner. However, to make proper choice, you will need to evaluate multiple
software which can take long time. You might want to customize the package as per
your requirement and perhaps you will hire another vendor to do customization
work. As the number of customization increases, the cost associated with it also
increase.
lOMoARcPSD|36071472
Electronic Commerce 2-9 Building an E-Commerce Website, Mobile Site and Apps
As the cost of servers are falling very fast, the cost of hosting is also decreasing.Also
telecommunications costs have also fallen. Due to this, most of hosting service
provider wants to be different than other hosting providers by providing various
ad-on services like marketing, design of site, optimization and other services.
There are number of drawbacks in outsourcing hosting. In case you opt for a
vendor, ensure that you select such a vendor which have the capability to grow
along with you. You will also need to understand type of security provisioned for
taking backup copies of your website, activity monitoring and security track record.
Many fortune 500 companies own their private cloud data centers in order to
control the web environment. Diversely, if you are small company, there are various
risk involved in hosting you own website. You cost will go high than in case you
opted for outsourcing hosting, since being a small firm you will not have that much
power to procure low cost telecommunication and hardware. You will need to
procure software and hardware, have a space to setup hardware infrastructure, rent
telecommunication lines, developing security & backup policy and hire a staff
yourself.
The flow through a sequence of pages is compared in funnel testing to check which
results in conversion in higher percentage.
In multivariate testing specific element on web page is identified and different
version of every element is created. After that unique combination of every element
and version is created to test. It helps in identifying most optimal color, format,
layout and content.
The web being very competitive market, maintenance is one of the important factor,
as you may lose on customers due to dysfunctional website.
the option to pull data from and add data to preexisting corporate databases. These
older databases which originate before the e-commerce time are called back-end or
legacy databases. Enterprises have made huge investments in these systems to store
their data on users, employees, product and sellers. These back-end systems
comprise an extra layer in a multi-tiered site.
Fig 2.4.1 shows complex multi-tier architecture and two-tier architecture for
e-commerce site. In two-tier architecture, a web server responds to HTTP requests
for web pages and a database server provides backend data storage. In a multi-tier
architecture, conversely, the web server is connected to a middle-tier layer that
typically incorporates a series of application servers that perform particular jobs, as
well as to a backend layer of existing corporate systems containing product,
customer, and pricing information. A multi-tiered website generally utilizes several
physical computers, each running portion of the software applications and sharing
the workload across number of physical computers.
Search Engine
Keyword search capability, site content indexing
Data Capture
Log file of all website visits, duration, time of visit and referral source
E-mail
Ability to send, receive and store e-mail messages
Site management tools
Calculate and display website statistics like number of unique visitors, source
of request and web page request
regarding inventory. eBay is one of the most dynamic sites. The content on such
sites changes every minute.
The dynamic and complex nature of e-commerce websites needs various specialized
tools along with static HTML pages. Perhaps one of the most significant is dynamic
page generation tool. In this the contents of web page are stored in database as
objects, in place of keeping it as hard-coded in HTML. Once the web page request is
sent by user, the contents for that particular web page are retrieved from the
database.
The objects can be fetched from database by using Active Server Pages (ASP),
Common Gateway Interface (CGI), Java Server Pages (JSP), or other server-side
scripting programs. These ways are more effective than working directly with
HTML code.
Changing contents of a database is more simple than changing HTML page coding.
Application can access data from any database with the help of an Open Database
Connectivity (ODBC). It acts as a translator between database and application.
ODBC drivers are available for majority of database management systems which
are provided by organizations like SAP, Oracle, Sybase and IBM. Java Database
Connectivity (JDBC) is a kind of ODBC driver which acts as a translator between
various databases and applications written in Java programming language.
Nowadays there are different web development platform available which permits
developer to directly access database, which make ODBC/JDBC drivers needless.
Dynamic page generation tool provides e-commerce various capabilities which
generate revenue and profitability edge over traditional commerce. It helps in
reducing menu cost, the cost which is charged by vendors for making update in
price and description of product. It also allows simpler online market segmentation,
by which you can sell the same product to various markets. For example, you may
want different variety of same ad banner based on number of times the customer
has seen that banner. For car ad, initially you may want to highlight brand and
unique features. In the next viewing you may want to highlight superlatives like
“most family friendly” s that user can compare it with other brands.
The same ability makes it possible to do cost-free differentiation in price, by which
you can sell the same product at different price to different customers. For example,
you may want to sell the same product to government agencies and to other
companies, but using different marketing strategy. Depending on the cookies
placed on user’s computer, or from question’s response asked on website to user
lOMoARcPSD|36071472
regarding if they are from corporation or from government agency, you can select
different promotional material for different customers.
You may want to give low prices to loyal customers and can take full price from
first time user. Dynamic page generation tool permit you to address different users
with different pricing and message.
It also allows using Content Management System (CMS), which is used to manage
and create web page content. A CMS segregates presentation and design of web
page content from the process of content creation. All the web page content is
stored in the database and are connected dynamically to the website.
A CMS generally contains templates which can be applied automatically to existing
as well as to new content, WYSIWYG editing tools which makes it simpler to
describe and edit content, workflow, data management tools and collaboration.
Generally, an experienced developer is required to install the system initially, but
later, content of web pages can be managed and modified by nontechnical staff.
There are number of commercial CMSs available like IBM, OpenText, Adobe,
PaperThin, Sitecore, Oracle, also have hosted SaaS (software as a service) model by
Acquia, Crownpeak and Clickability. Various open source content management
systems are also available like Joomla, WordPress, Drupal etc.
b. Mail Server
Manages emails
c. Catalog Display
Provides product price and description database
d. Transaction Processing
Takes order and processes payments
e. List Server
Creates and provide mailing list, also handles email marketing campaigns
f. Chat Server
Creating environment for sending online text in real-time and audio
communication with customers
g. Audio/Video Server
Stores and supply streaming media content
h. Database Server
Stores product, product price and customer information
i. Ad Serverz
Manages web-enabled database of advertising banners which allows
personalized display and modification of ads depending on behaviour of
customer.
j. B2B Server
For commercial transactions providing buying, selling and linking
marketplaces.
k. Auction Server
For regulating online auctions providing transaction environment.
There are various software vendors available which provides application server
software. Many of such features are available free of cost for Linux and Unix
environment. Majority of businesses opts to use merchant server software an
integrated software tool.
Online Catalog
A company who are willing to sell products online should have online catalog or
list of products, available on their site. For permitting creation of custom made
online catalog merchant server software includes database capability.
The complexity and sophistication of the catalog will differ based on the size of firm
and its product lines. Simple list along with text description and possible color
photos of product will be posted by companies having smaller product lines or
small companies. A larger company may choose to add different types of detailing
like sound, animation or videos to the catalog. Nowadays larger companies uses
streaming video for catalog.
Shopping Cart
Online shopping cart is similar to real-world shopping cart, both of these permits to
reserve required products in preparation for checkout. The major distinction is that
the online type of shopping cart is part of merchant server software situated on the
web server, and permits users to select product, review product they have chosen,
modify their selection as required, and making purchase by clicking a button. The
merchant server software automatically stores shopping cart data.
number of page requests and speed of legacy applications which may be required to
provide data to web pages are all important factor in overall demand on a website
application.
One of the important factor to consider is the number of concurrent users who will
likely to visit your website. In general, the load created by a single user on website
server is limited and for short time. A session initiated by user on your website is
stateless, which means that you server does not have to worry about maintaining an
ongoing, dedicated communication with user. On web page request a web session is
initiated, once the server responds to the request the session ends. Performance of
system may decrease as increasing number of concurrent users request service.
For serving static web page requests, I/O operations are required rather than heavy-
duty processing power capability. Due to which Performance of website is majorly
dependent on telecommunication connection and I/O limitation of server, rather
than speed of server’s processor.
The nature of content and user profile are some other factors which needs to be
considered while projecting the demand on the website. Demands on the server’s
processors will go up in case user requests registration forms, searches and
accepting order through shopping cart.
There are two disadvantages to vertical scaling. First, along with every growth cycle
purchasing additional processors will become costly, and second, your complete
website becomes dependent on a smaller number of powerful computers. In case
you have two such computers and one goes down, then either half or complete
website can become unavailable.
Horizontal scaling contains adding multiple single processor server to your website
and performing loan balancing among those servers. You can then divide the loan
so some server are assigned for handling database application, whereas some
servers handles only HTML web page requests. To navigate incoming request to
different server, you will require a special loan balancing software.
There are various advantages to horizontal scaling. It is cheap and can be achieved
by using older computers which otherwise could have been disposed. Horizontal
scaling also introduces concept of redundancy i.e. in case one computer fails,
chances are that another computer can take up the loan dynamically. However,
when your website grows from single computer to 15 to 20 computer then the size
of physical capacity needed to store also increases and this adds to management
complexity.
A third option, improving the processing architecture, is a combination of
horizontal and vertical scaling, combined with artful design decisions. Below are
few common technique that can be taken to improve performance of your website:
o Separate dynamic and static content : For every kind of workload make use of
specialized server
o Cache static content: RAM size to be increased to GB range and store static
content in RAM
o Cache database lookup tables : Use cache tables used to look up for records in
database
o Consolidate business logic on separate server : Put credit card processing,
shopping cart and any other CPU intensive task on separate server
o Optimize source code and database schema
Many of these techniques includes dividing the workload into CPU-intensive
activities and I/O intensive task. Once you have divided the work, for every kind of
workload you can fine tune the server. One of the less costly fine tuning technique
is adding RAM to some servers and store all your HTML pages in RAM. This
increases the processing speed by reducing load on your hard drives. RAM is cheap
and it is thousand times faster than hard disks.
lOMoARcPSD|36071472
The next course of action is to migrate all CPU intensive tasks like order taking,
onto high-end, multiple processor server which is particularly assigned to handle
order and accessing required databases.
Taking these steps can allow you to reduce the number of server needed to
responds to thousands of concurrent users from 100 down to 20, according to
estimate.
o Features : Pages that load quickly, work, and point the customer toward your
product offerings
o Informational : Links that customers can easily locate to discover details about
you and your products
o Simple graphics : Avoids distracting, irritating graphics and audio which the
user cannot control
o Legible text : Avoids backgrounds that distort text or make it not readable.
lOMoARcPSD|36071472
upper limit on it. Observer what works best and keep eye on number of visits to
your website generated by each keyword string.
Similar to CGI, ASP allows an interaction to take place between the server and the
browser. As CGI, ASP make use of same standards for establishing communication
with the browser. ASP programs are limited to use on Windows servers running of
IIS web server software of Microsoft. ASP.NET, first released in January 2002, and
segment of .NET framework of Microsoft, is the successor to ASP.
2.6.3.4 ColdFusion
It is an integrated server side environment for building interactive mobile and web
applications. Macromedia has originally developed ColdFusion which is now
offered by Adobe. The cost of developing interactive features is reduced by the use
of ColdFusion. It provides a powerful set of visual design, coding, debugging and
deployment tools. The latest version of ColdFusion provides advanced feature for
creating mobile app, as well as multiple new security features and programming
language advancements, along with increased interoperability support.
lOMoARcPSD|36071472
PHP, server side HTML and SQL. Like any other website, the user must be
connected to internet and performance of website will depend on the internet
bandwidth.
In general, mobile websites functions more slowly than conventional websites
visited on a computer connected to a broadband office network. Majority of large
companies today have mobile sites.
A mobile web app is an application develop to execute on mobile web browser built
into a tablet computer or smartphone. For Apple, the native browser is safari.
Normally it it developed to mimic the qualities of native app using Java and
HTML5. Mobile web apps are specifically designed for mobile platform in terms of
finger navigation, screen size, and simplicity in graphical UI.
Mobile web apps can support complex interactions used in rich media and games,
carry out real-time, on the fly calculations, and can be geo sensitive using the GPS
function of smartphone. Mobile web apps are generally functions faster than the
mobile websites but not as fast as native apps.
A native app is an application which is designed specially to function using the
mobile device’s operating system and hardware. These separate programs can
connect to the web to upload and download data, and can function on this data
even if not connected to the internet. Download a book to a reader app,
disconnected internet and read the downloaded book. Since different type of
smartphones have different operating system and hardware, mobile apps are not
one size fits all and hence for different mobile platform different apps needs to be
developed. The application running on iPhone cannot function on android phones.
Based on the device for which application is being developed different
programming languages are used for building native apps. Later the application
source code is compiled into binary code and which executes faster on mobile
devices, even faster than java-based mobile web apps or HTML. Because of this,
native apps are suitable for complicated interactions, games, on the fly calculations,
rich media advertising and graphical manipulations.
After every passing time, programmers are combining elements of mobile web apps
and native apps into hybrid apps. A hybrid app has many of the functionalities of
both mobile web app and native app. Similar to native app, it executes inside a
native container on mobile device and have access to device’s APIs, allowing it take
benefit of many of the features of device, like gyroscope, which are generally not
accessible by a mobile web app. For distribution through an App store, it can also
lOMoARcPSD|36071472
Advertising and Flash sales and coupons for slow Product description,
promotion selling products inventory management and
coupon management
Once you have clarity regarding business objectives, you will be in position to
explain the type of system functionality that you want to have and can provide
information requirements for your mobile presence.
After you recognized the business objectives, functionality of system and
information requirement, you can consider designing and building the system.
Now you can think of what you want to develop a mobile website or native app or
mobile web app.
For example, in case your aim is building community or branding, a native app will
be the best selection since it allow you to deliver a interactive, rich and immersive
experience which can build the emotional connection with the brand. Since native
lOMoARcPSD|36071472
apps are stored locally on the mobile device, such apps can be used even if the user
is offline, allowing the user to engage more deeply. Additionally, native apps can
take benefit of unique features of mobile device, like using the gyroscope to deliver
360 degree view.
On the other hand, in case you aim is to build broad awareness, give some
information on specific product or driving sales, then mobile web app or mobile
website should be preferred, because it is comparatively less costly and easy to
directly publish the content to the mobile web and users are more comfortable to
complete the transaction on web.
Increasingly, though the selection would not be and either-or selection. Mobile
websites and mobile apps each of these provides unique benefits and in majority of
cases, the best way will be to preparing plan for delivering engrossing content
across all devices.
Android and windows phone application. Codiqa is one such app which provides
drag and drop feature and develops an app with complete HTML5 components,
without having to do any coding. For those who are not technically sound, Conduit
is a free mobile app builder which permits you to include various functionality,
including notification, e-commerce and social feed.
PhoneGraph is a mobile development framework which make use of Apache
Cordova to allow building hybrid mobile apps using HTML, JavaScript and CSS.
MoSync is one more example of enhanced tool for building hybrid apps for
Android, iOS, Windows mobile and Symbian mobile.
there are some new packages available which can build native app with minimum
programming knowledge. Additionally, no elements used in your current website
can be reused virtually, and you will have to redesign complete logic of the
interface and carefully think out the customer experience.
For example, there is reasonably stable HTML conventional website interface with
graphics, buttons, ads and videos had built over last decade. This scenario is not
correct for apps. Every app looks different from any other app. This means the user
confronts large difference in design of app, so your interface should be kept simple.
Native apps have their own advantages like you get a chance to develop a unique,
stunning customer experience where user can interact with your brand. Native apps
are best suited for the scenario in which if you want to have intense branding
experience with customers of your product, where the interaction between your
customer and brand is efficient and effortless.
Testing of the system needs to be done once the system is developed. Based on
the system’s size, this process can become lengthy and challenging. Testing is
needed irrespective of whether it is built in-house or it is outsourced. A complex
e-commerce website will have number of routes through the website, each of this
should be documented and after that tested.
In system testing, website is tested in a same way that a normal user would at the
time of using system. In acceptance testing, company’s key personnel and
managers in production, marketing, sales and general management uses the
system as deployed on testing server.
Split testing is another type of testing in which two different versions of website is
shown to different users to check which one performs better. This testing is also
known as A/B testing.
Q.3 What us web performance optimization?
Ans. : Web performance optimization
Usage of proper techniques and style for designing page and content can decrease
the response time by up to five seconds. Reducing unnecessary white spaces and
HTML comments, using efficient graphics and avoiding not so required links to
other web pages in website, these are few steps needs to taken in order to
optimize performance of your website.
lOMoARcPSD|36071472
Fig. 2.8.1
Data Capture
Log file of all website visits, duration, time of visit and referral source
E-mail
Ability to send, receive and store e-mail messages
Site management tools
Calculate and display website statistics like number of unique visitors,
source of request and web page request
3. What are different options available for building system ? (Refer section 2.2.3)
4. What are different options available for building system? (Refer section 2.2.3)