Functional Architecture - School of Information Technology and ...

roomagitatedInternet and Web Development

Dec 8, 2013 (4 years and 7 months ago)


CSI 5389 (E
Commerce Technologies)


Architecture of E
Commerce Systems

CSI 5389 (E
Commerce Technologies)



What Is Architecture?

Core Architectural Ideas



Examples of System Architectures

CSI 5389 (E
Commerce Technologies)


What Is Architecture?

The architecture of a system defines its basic
components, important concepts, and describes the
relationships among them.

Although architecture depends on the nature of the
business, many design ideas span a wide range of
business requirements.

Reusing well
designed architectures and design work
where possible is best for customers.

As a business refines and evolves, its systems needs to
evolve as well; so the architecture must be flexible
enough to make that growth possible.

CSI 5389 (E
Commerce Technologies)


Core Architectural Ideas

Architectures for commerce systems may look very
different, but they all have to address the same issues.
These issues must be well understood no matter what
approach is taken.

Sometimes it may seem that what we describe in the
architecture is so obvious that it need not be written down.
In practice, leaving the obvious as implicit issues can often
lead to later confusion and misunderstanding, because
everyone has different ideas of what is obvious.

To be successful in designing Internet commerce systems,
we must be precise, not only in describing the
computational issues, but also in understanding and
describing what we are trying to achieve.

In this section, we shall examine some primary elements
that go into a commerce architecture.

CSI 5389 (E
Commerce Technologies)


Core Architectural Ideas:

Understanding of Roles

Two of the most basic questions for designing any
computer system:

Who uses it?

What do they do with it?

Users of Internet commerce systems are rather

Buyers of goods and services

Sellers of goods and services

People who operate the system

Understanding the various roles of users helps us to
design a system such that ALL users can use the system
effectively to accomplish their goals (whether that is
making a purchase or creating accounting reports).

CSI 5389 (E
Commerce Technologies)


Core Architectural Ideas:

Decomposition of Functions

An important part of a system architecture is the way it
decomposes the system into
functional units

The specification of these functional units and the
interfaces between them defines the architecture of the

One of the differences between architectures is often the
way that they group functions into units.

Are all the components integrated in a single system?

Are the components distributed across multiple systems?

What are the interfaces between functional units?

CSI 5389 (E
Commerce Technologies)


Core Architectural Ideas:

Linking Content to Transactions

The above two issues (i.e., roles and
decomposition) apply to the design of any
computer system.

An architectural issue specific to the design of
Internet commerce system is the way that
content (such as a catalog) is linked to the
transaction processing.

In a paper
based system, the buyer records item
numbers and quantities onto an order form.
Obviously, we would like to do this electronically.

We shall consider the following key issues:

CSI 5389 (E
Commerce Technologies)


Core Architectural Ideas:

Linking Content to Transactions (cont.)

How the user makes the transaction.

The user may click the
Buy Now

button or
Add Items

to a shopping cart for later purchase.

The transition to the transaction takes place either at
Buy Now

point or at

for the shopping

How the information is verified.

It may be necessary for the transaction system to
verify that the purchase information (e.g., price, item
ID etc.) was not modified when it was sent over the

CSI 5389 (E
Commerce Technologies)


Core Architectural Ideas:

Linking Content to Transactions (cont.)

How the information matches up.

Some Internet commerce system has a real
time inventory check
to ensure the customer that the wanted items are in stock.

If the system indicates that an item is in stock, how long is that
indication valid?

If the customer puts an item in a shopping cart for later
purchase, does the system promise that the item will be
available when the actual purchase occurs?

If the system does make such a promise, how long is it valid?

What if the customer never returns to the site to buy the items
that he (she) has put in the shopping cart?

Answers to these questions help make design decisions.
Different answers may lead to very different designs.

CSI 5389 (E
Commerce Technologies)


Core Architectural Ideas:

Trust Models

In any distributed system, different components trust
each other to some extent.

Some components may completely trust others for all
kinds of data access (i.e., both read and write access);
whereas other components may disallow any remote
access to their data.

The specification of these relationships is called the
trust model

for the system.

Specifying a trust model explicitly helps us to understand
the details of the relationships between components
when we need to analyze the security of the system.

CSI 5389 (E
Commerce Technologies)



Many different people interact with an Internet commerce
system, and they need to do different things.

Buyers require one set of operations.

Catalog designers, customer service representatives, and
system operators each require their own sets of operations.

Considering roles separately enables us to

satisfy the requirements of businesses of all sizes

design a flexible system that allows a smaller business to grow
smoothly without having to reconsider what people do at each

Note that there may be people playing many different
roles in a small business, and there may be many people
playing the same role in a larger organization.

CSI 5389 (E
Commerce Technologies)


Customer Roles

In any commercial transaction, there is a

there is a

We use many different words for the buyer: customer,
consumer, client, browser, etc.

There are different roles on the buyer side:


selects what is to be purchased.


approves a purchase recommended by the specifier.


negotiates the terms and conditions of a purchase and
arranges for payment.


receives the delivered goods or services.

In some cases such as a consumer purchase, the same
person plays all of the roles without even thinking about
the differences.

Example: A consumer buying a shirt selects one in a store, pays
for it, and takes it home.

CSI 5389 (E
Commerce Technologies)


Customer Roles (cont.)

In the cases of businesses making purchase, it is useful
to consider the various roles.

Example: Consider an organization that purchases electronic
components for assembling computers.

The specifying engineer determines which components to be

A purchasing agent negotiates the payment terms.

The manufacturing group receives the components.

Different kinds of buyers can be classified based on their
relationships with the seller.

anonymous buyer

(or walk
in customer) has no prior
relationship with the seller, and may not ever create one beyond
making a simple purchase.

member customer

is one who repeatedly purchase from a
seller and has established some kind of relationship (e.g.,

CSI 5389 (E
Commerce Technologies)


Customer Roles (cont.)

Different customer roles tell us that an Internet
commerce system should provide ways for different
people to handle different parts of a transaction, but it
should also be simple for a single person to handle all of

Consumers do not need to change roles explicitly at
every stage, but they do expect to have a quick and easy
process for buying.

Companies that make distinctions in various roles want
to be able to handle the transaction from one role to
another smoothly and efficiently.

CSI 5389 (E
Commerce Technologies)


Business Roles

On the other side of a transaction is the

There are many roles for sellers in an Internet
commerce system.

There are two main groups of roles:

The business and content creation group

The operations group

Thinking about roles early will make it possible
for an Internet business to grow more smoothly,
as more people join the business and the roles
become more distinct in reality.

CSI 5389 (E
Commerce Technologies)


Business & Content Creation Group

Business Manager

Responsible for the business approach, deciding which products
and services are to be sold online, determining pricing, and
establishing the key business relationships needed to make the
venture successful.

Internet Commerce Architect

Responsible for turning the business requirements into a system

Content Designer

Responsible for the feel and look of the Internet commerce
system, including graphic design, page layout etc.

Content Author

Responsible for creating product information in a form that can
be used for Internet commerce, working within the design laid
out by the content designer.

CSI 5389 (E
Commerce Technologies)


Business & Content Creation Group (cont.)


Responsible for creating any programs or software extensions
needed to make the Internet commerce system work (e.g.,
writing a program that takes product information from a database
and dynamically renders it into a Web page).

Database Administrator

Manages the creation and operation of the database to ensure
correctness, integrity and performance.

Sales and Marketing Team

Responsible for promoting the Internet
based commerce for the

Customer Service Representative

Responsible for answering questions about products, assisting
buyers with the purchasing process, responding to inquiries
about order status and problems after sale etc.

CSI 5389 (E
Commerce Technologies)


Operations Team

Operations Manager

Responsible for managing all service activities of the Internet
commerce system.

System Supervisor

Manages the system staff.

System Administrator

Responsible for the technical operations of the computer
systems and networks.

Security Officer

Ensures that appropriate security measures have been taken in
the design and implementation of the Internet commerce system.

Fulfillment Agent

Responsible for shipping and handling goods and services.


Responsible for ensuring that the proper accounting procedures
have been followed for online transactions, managing relevant
business records, creating reports on transactions etc.

CSI 5389 (E
Commerce Technologies)


Roles and Reality

The roles described above are probably not exactly the
roles found in any particular business.

It is unlikely that there is a one
one correspondence
between these roles and the people doing real work.

However, thinking about roles instead of people helps us
to ensure that we are not missing any important function
as we design the system and put together a team to
operate it.

Thinking about roles also helps if some work should be

Some of the roles (e.g., the operational ones) can be outsourced
relatively easily.

Others such as deciding which products are to go into the online
catalog are business decisions that should not be handed off to

CSI 5389 (E
Commerce Technologies)



Another important aspect of a system architecture is
the set of components that comprise the system.

For Internet commerce, we should try to take
advantage of general
purpose Internet applications
(such as the Web browsers and servers), for 3

If general
purpose applications can be used, we do not need
to build them again.

purpose applications are widely distributed, so we do
not need to create a distribution channel to put a specialized
tool in the hands of customers.

Customer are already familiar with general
applications, so they do not need to learn how to use them.

There are, of course, times when it is appropriate to
create and distribute a specialized tool to customers.

CSI 5389 (E
Commerce Technologies)


Customer Components and Clients

For customers, the primary tool for using the WWW is a

(also called a
Web client

The system architecture is influenced by the basic
structure of the Web, and in particular by the capabilities
of browsers.

Some companies have developed specialized client
applications (called
client wallets
) to implement
payment methods on the client computer.

Client wallets can perform cryptographic operations, keep track
of transactions, check on order status, and manage other
information related to transactions.

The main problem with client wallets is that hardly any
customers have them. Moreover, customers are usually not
interested in installing them.

CSI 5389 (E
Commerce Technologies)


Seller Components and Servers

The seller (also called

provides all the components of the commerce
value chain.

In practice, a seller may provide some components of
the commerce value chain and contract with others to
provide the rest.

Different sellers make different decisions about which
stages of the value chain to be provided directly and
which stages to be outsourced.

Below are some common components:

CSI 5389 (E
Commerce Technologies)


Seller Components and Servers (cont.)

Content management system

Refers to the seller’s catalog or the entire Web presence.

Permits the creation and management of dynamic and
continually updated content.

Transaction processing system

Keeps track of all transaction
related information (e.g., what was
ordered, who ordered it, the price, the status of payment, the
status of fulfillment etc.)

Payment processing system

Manages the movement of money and other payment
instruments in the system.

Example: When a customer pays with a credit card, the seller
connects to a credit card payment processor to authorize the
transaction (by checking for sufficient available credit).

Fulfillment system

A business may choose to manage fulfillment process in
or contract with a fulfillment company to handle packing and
shipping of products.

CSI 5389 (E
Commerce Technologies)


Examples of System Architecture

We shall look at 4 different architectures:

Web server with order form (also called “merchant server”)

Open market distributed commerce architecture

Federated commerce system

business commerce system

For analysis of architecture, we consider 4 primary components:

: computer system connected to the Internet either directly
via an Internet service provider (ISP), or indirectly through a
corporate network. The buyer uses the client computer for
browsing and purchasing.

: computer system(s) that contain the seller’s e
of products for over
Net fulfillment.

Transaction system
: computer system(s) responsible for
processing orders, payment, record keeping, and other
related aspects.

Payment gateway
: computer system that routes payment
instructions into existing financial networks (e.g., for credit card
authorization and settlement).

CSI 5389 (E
Commerce Technologies)


Examples of System Architecture:

Web Server with Order Form

Buyer with Browser

Catalog and
Order Database

Web Server



CSI 5389 (E
Commerce Technologies)


Examples of System Architecture:

Web Server with Order Form (cont.)

This architecture is also known as
merchant server

The merchant server and transaction server are combined into a
single Web server to provide both the catalog content and the order

There is no explicit payment gateway.

The catalog may consist of a set of Web pages describing items for
sale, with embedded pictures, video or audio clips etc.

The Web pages may be created as static using an HTML editor, or
may be created dynamically from a database of items and
descriptive information.

Next to each item is a button that the customer can click to buy the
item or to add it to a shopping cart for later checkout.

When ready to purchase, the customer clicks a

button to
start the payment process.

CSI 5389 (E
Commerce Technologies)


Examples of System Architecture:

Web Server with Order Form (cont.)

Payment by credit card is the most common method used on
Internet today for consumer transactions.

A simple online order form consists of a list of items being
purchased and a set of fields for the customer to enter credit
card information (e.g., card holder’s name, card number,
expiration date) and the delivery address.

The Web client does not need to have any special capabilities
for the payment mechanism. So, no specialized software is

This architecture is simple. It may be appropriate and
sufficient for some kinds of Internet commerce applications.

On the other hand, it may be more difficult to expand this
architecture as the online business grows, or to incorporate
new technologies and components as they become available.

Many technical details will become clearer as we discuss the
technology in later lectures.

CSI 5389 (E
Commerce Technologies)


Examples of System Architecture:

Open Market Distributed Commerce Architecture

(Physical View)

Buyer with Browser





CSI 5389 (E
Commerce Technologies)


Examples of System Architecture:

Open Market Distributed Commerce Architecture (cont.)

An approach to distributed transactions originally created
at Open Market

The core idea of this architecture is to separate the
content management from the transaction management

Transaction server is separated from the merchant server.

Multiple catalog (merchant) servers can share the capacity of a
single transaction server.

oriented parts of the system can scale independently
from the transaction
oriented parts.

This architecture allows separate management of different
system facilities (e.g., security).

There may or may not be a separate payment gateway,
depending on which payment methods are supported.

CSI 5389 (E
Commerce Technologies)


Web Server


Catalog Application

Catalog Database
(items and

Catalog Server

Shared Transaction Server


Customer Data

Order Data

Payment Data

Web Server



Order Capture





Data Management

Open Market Distributed Commerce Architecture

(Logical View)

CSI 5389 (E
Commerce Technologies)


Federated Commerce System (FCS)

FCS is a system made up of servers operated by
different organizations and tied into an overall (perhaps
global) commerce system by Web services and a
collection of service agreements.

Consumers are members of communities of interest,
which provide authentication and customer services.

When a consumer buys something, the necessary
payment and shipping information is routed from her
home community to the seller.

The seller may also use some of the federated services
for payment and other functions.

At the conclusion of the transaction, a record is posted to
the consumer’s online statement held by her home

CSI 5389 (E
Commerce Technologies)


Federated Commerce System Architecture








CSI 5389 (E
Commerce Technologies)


Federated Commerce System (cont.)


Responsible for tying the network together.

Permits the seller to locate a buyer’s home community and helps
establish peer
peer connection among the various


Browse information, make purchases, and request for customer

Home communities

Consumers join home communities on the basis of interests,
services offered, or the degree of privacy protection offered.


Includes merchants, service providers, and publishers.

Payment service

Provides support for various payment mechanisms as a Web

Logistics service

Handles shipping, returns, and other services.

CSI 5389 (E
Commerce Technologies)


Business Commerce System

One architecture for business
commerce system was proposed by the Open
Buying on the Internet (OBI) Consortium.

The core idea of the OBI architecture is to split
the functionality of the commerce system
between buy
side activities and sell
activities so that each organization manages
those functions logically connected to it.

Let us walk through an OBI transaction:

CSI 5389 (E
Commerce Technologies)



Buyer Purchasing
Server (with list of

Seller Catalog Server

Seller OBI Server


Buyer OBI Server

1. Requisitioner
selects supplier

2. Requisitioner browses
catalog and orders

3. Catalog server routes
order to OBI server

4. Seller sends OBI order
request to buyer

5. Buyer approves
requisitioner’s order

6. Buyer sends
complete OBI order
to seller

7. Seller routes
order for
fulfillment and

Business Commerce System:

OBI Architecture and Transaction Flow

CSI 5389 (E
Commerce Technologies)


Business Commerce System (cont.)

The requisitioner uses a Web browser to connect to the buyer
purchasing server and selects a hyperlink to the seller catalog

The seller catalog server authenticates the requisitioner based on
a digital certificate signed by the buyer, and allows the
requisitioner to browse, select items, and check out.

The seller catalog server sends the content of the order to the
seller OBI server.

The seller OBI server maps the order into an OBI order request,
encapsulated in an OBI object with optional digital signature, and
sends the order request to the buyer OBI server over the Internet.

The requisitioner specifies any annotations to the order, and
internal approval process takes place.

The completed and approved order is mapped into an OBI order
format, encapsulated as an OBI object, and sent back to the seller
OBI server via the Internet.

The seller obtains payment authorization if necessary and begins
order fulfillment.

CSI 5389 (E
Commerce Technologies)


Business Commerce
System (cont.)

The real benefit of the OBI architecture can be
seen only when there are multiple buy
companies trading with multiple sell

When this happens, the buyer is able to manage
its requisitioner database and approval system
centrally, and it can use those systems
seamlessly with multiple trading partners.

Similarly, the seller can leverage a master
catalog and order management system to serve
multiple buyers.

CSI 5389 (E
Commerce Technologies)



G. Winfield Treese and Lawrence C.
Stewart. Designing Systems for Internet
Commerce (2

edition): Chapter 6.
Addison Wesley.

Dr. Thomas Tran Slides