Top Banner
CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E-Commerce Systems
38

CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

Dec 21, 2015

Download

Documents

Elwin Osborne
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 1

Functional Architecture of E-Commerce Systems

Page 2: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 2

Outline

What Is Architecture? Core Architectural Ideas Roles Components Examples of System Architectures

Page 3: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 3

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.

Page 4: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 4

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.

Page 5: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 5

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 complicated: 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).

Page 6: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 6

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 system.

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?

Page 7: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 7

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:

Page 8: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 8

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 the Buy Now point or at Checkout for the shopping cart.

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 network.

Page 9: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 9

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.

Page 10: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 10

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.

Page 11: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 11

Roles

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 stage.

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.

Page 12: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 12

Customer Roles In any commercial transaction, there is a buyer and

there is a seller. We use many different words for the buyer: customer,

consumer, client, browser, etc. There are different roles on the buyer side:

Specifier selects what is to be purchased. Approver approves a purchase recommended by the specifier. Buyer negotiates the terms and conditions of a purchase and

arranges for payment. Recipient 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.

Page 13: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 13

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

purchased. 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. An anonymous buyer (or walk-in customer) has no prior

relationship with the seller, and may not ever create one beyond making a simple purchase.

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

Page 14: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 14

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 them.

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.

Page 15: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 15

Business Roles

On the other side of a transaction is the seller. 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.

Page 16: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 16

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

design. 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.

Page 17: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 17

Business & Content Creation Group (cont.)

Implementor 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 business.

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.

Page 18: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 18

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.

Accountant Responsible for ensuring that the proper accounting procedures

have been followed for online transactions, managing relevant business records, creating reports on transactions etc.

Page 19: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 19

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-to-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 outsourced. 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 others.

Page 20: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 20

Components 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 reasons:

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

General-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-purpose 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.

Page 21: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 21

Customer Components and Clients

For customers, the primary tool for using the WWW is a browser (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.

Page 22: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 22

Seller Components and Servers

The seller (also called merchant or vendor) 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:

Page 23: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 23

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-house

or contract with a fulfillment company to handle packing and shipping of products.

Page 24: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 24

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-to-business commerce system

For analysis of architecture, we consider 4 primary components: Client: 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.

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

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

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

Page 25: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 25

Examples of System Architecture:

Web Server with Order Form

Buyer with Browser

Catalog and Order Database

Web Server

Internet

Financial Network

Page 26: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 26

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 form.

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 Checkout button to start the payment process.

Page 27: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 27

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 required.

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.

Page 28: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 28

Examples of System Architecture:Open Market Distributed Commerce Architecture (Physical View)

Buyer with Browser

Internet

Financial Network

Catalog Servers

Shared Transaction

server

Page 29: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 29

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. Content-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.

Page 30: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 30

Web Server

SecureLink

Catalog Application

Catalog Database (items and

pricing)

Catalog Server

Shared Transaction Server

Internet

Customer Data Order Data Payment Data

Web Server

SecureLink

Cu

sto

mer

M

anag

emen

t

Ord

er C

aptu

re

Ord

er

Co

mp

leti

on

Pay

men

t P

roce

ssin

g

Fu

lfill

men

t

Cu

sto

mer

S

ervi

ce

Data Management

Open Market Distributed Commerce Architecture (Logical View)

Page 31: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 31

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 community.

Page 32: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 32

Federated Commerce System Architecture

Customer

Buyer’s Community

Seller

Payment Service

Logistics Service

Clearinghouse

Internet

Page 33: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 33

Federated Commerce System (cont.) Clearinghouse:

Responsible for tying the network together. Permits the seller to locate a buyer’s home community and helps

establish peer-to-peer connection among the various participants.

Customers Browse information, make purchases, and request for customer

service. Home communities

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

Sellers Includes merchants, service providers, and publishers.

Payment service Provides support for various payment mechanisms as a Web

service. Logistics service

Handles shipping, returns, and other services.

Page 34: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 34

Business-to-Business Commerce System

One architecture for business-to-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-side activities so that each organization manages those functions logically connected to it.

Let us walk through an OBI transaction:

Page 35: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 35

Requisitioner

Buyer Purchasing Server (with list of

suppliers)

Seller Catalog Server

Seller OBI Server Seller Fulfillment Systems

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 payment

Business-to-Business Commerce System: OBI Architecture and Transaction Flow

Page 36: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 36

Business-to-Business Commerce System (cont.)

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

2. 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.

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

4. 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.

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

6. 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.

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

Page 37: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 37

Business-to-Business Commerce System (cont.) The real benefit of the OBI architecture can be

seen only when there are multiple buy-side companies trading with multiple sell-side companies.

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.

Page 38: CSI 5389 (E-Commerce Technologies) 1 Functional Architecture of E- Commerce Systems.

CSI 5389 (E-Commerce Technologies) 38

References

G. Winfield Treese and Lawrence C. Stewart. Designing Systems for Internet Commerce (2nd edition): Chapter 6. Addison Wesley.

Dr. Thomas Tran Slides