Functional Architecture - School of Information Technology and ...

roomagitatedInternet και Εφαρμογές Web

8 Δεκ 2013 (πριν από 3 χρόνια και 8 μήνες)

77 εμφανίσεις

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

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.

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.

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

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?

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:

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.

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.

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.

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.

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.

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

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.

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.

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.


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.

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.

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.

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.

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.

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:

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.

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

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

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.

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.

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

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.

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

Customer
Management

Order Capture

Order
Completion

Payment
Processing

Fulfillment

Customer
Service

Data Management

Open Market Distributed Commerce Architecture

(Logical View)

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.

CSI 5389 (E
-
Commerce Technologies)

32

Federated Commerce System Architecture

Customer

Buyer’s
Community

Seller

Payment
Service

Logistics
Service

Clearinghouse

Internet

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.

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:

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

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.

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.

CSI 5389 (E
-
Commerce Technologies)

38

References


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

edition): Chapter 6.
Addison Wesley.


Dr. Thomas Tran Slides