Chapter 3 E-Commerce Architecture
Chapter 3 E-Commerce Architecture
Chapter 3 E-Commerce Architecture
Chapter - 3
E-commerce Architecture
26
Chapter 3 E-commerce Architecture
27
Chapter 3 E-commerce Architecture
Often clients and servers communicate over a computer network on separate hardware,
but both client and server may reside in the same system. A server machine is a host that
is running one or more server programs which share their resources with clients. A client
does not share any of its resources, but requests a server's content or service function.
Clients therefore initiate communication sessions with servers which await incoming
requests. A network architecture in which each computer or process on the network is
either a client or a server.
1. Clients (Clients are Applications): Applications that run on computers and Rely
on servers for Files, Devices, Processing power. Make requests, Format data on
the desktop. Example: E-mail client an application that enables you to send and
receive e-mail.
2. Servers (Servers Manage Resources): Computers or processes that manage
network resources, Disk drives (file servers), Printers (print servers), Network
traffic (network servers).Store and protect data, Process requests from clients.
Example: Database Server -A computer system that processes database queries.
28
Chapter 3 E-commerce Architecture
Functions such as email exchange, web access and database access, are
built on the client–server model. Users accessing banking services from
their computer use a web browser client to send a request to a web server
at a bank. That program may in turn forward the request to its own
database client program that sends a request to a database server at
another bank computer to retrieve the account information. The balance is
returned to the bank database client, which in turn serves it back to the
web browser client displaying the results to the user. The client–server
model has become one of the central ideas of network computing. Many
29
Chapter 3 E-commerce Architecture
Specific types of clients include web browsers, email clients, and online chat
clients.
In the client/server architecture, a file server is a computer responsible for the central
storage and management of data files so that other computers on the same network can
access the files. A file server allows users to share information over a network without
having to physically transfer files by floppy diskette or some other external storage
device. Any computer can be configured to be a host and act as a file server.
30
Chapter 3 E-commerce Architecture
A file server may be an ordinary PC that handles requests for files and sends them over
the network. In a more sophisticated network, a file server might be a dedicated network
attached storage (NAS) device that also serves as a remote hard disk drive for other
computers, allowing anyone on the network to store files on it as if to their own hard
drive.
31
Chapter 3 E-commerce Architecture
A DBMS also offers features for recovery and concurrency control Some
examples of Database servers are Oracle, DB2, Informix, Ingres, SQL Server.
Every server uses its own query logic and structure. The SQL query
language is more or less the same in all the database servers.
32
Chapter 3 E-commerce Architecture
1) Atomicity
b) An all-or-nothing proposition .
2) Consistency
c) Isolation
33
Chapter 3 E-commerce Architecture
3) Serialization techniques
a) Durability
b) Persistence
2) Proper Management: All the files are stored at the same place. In this way,
management of files becomes easy. Also it becomes easier to find files.
3) Back-up and Recovery possible: As all the data is stored on server its easy to
make a back-up of it. Also, in case of some break-down if data is lost, it can be
recovered easily and efficiently. While in peer computing we have to take back-
up at every workstation.
34
Chapter 3 E-commerce Architecture
of the network, a client server system provides the users the comfort and
convenience of accessing the network from the outside, whether a quick access to
check emails or a work from home privilege.
6) As new information is uploaded in database, each workstation need not have its
own storage capacities increased (as may be the case in peer-to-peer systems). All
the changes are made only in central computer on which server database exists.
7) Security: Rules defining security and access rights can be defined at the time of
set-up of server. Client-server arrangements aid security efforts because there are
fewer servers, limiting the number of people with access to them and increasing
security features of the servers.
1. Congestion in Network: Too many requests from the clients may lead to
congestion, which rarely takes place in P2P network. Overload can lead to
breaking-down of servers. Wherever a single server is used to manage resources
on a network, there is always the chance that a failure of the server will bring
network business to a halt. For example, if a single server hosts the user names
and passwords database for a network, and the server suffers a failure, no users
will be able to log on to the network until the server is fixed or replaced. A
network where log-on information is configured and held on each computer does
not have this problem, as the failure of a single computer does not prevent users
of other computers from logging on and accessing network resources. Only the
failed computer is affected.
2. Client-Server architecture is not as robust as a P2P and if the server fails, the
whole network goes down. Also, if you are downloading a file from server and it
gets abandoned due to some error, download stops altogether. However, if there
would have been peers, they would have provided the broken parts of file.
35
Chapter 3 E-commerce Architecture
4. Cost: It is very expensive to install and manage this type of computing. Typically,
the central server computer must be powerful enough to maintain and share
resources with the other computers on the network. This entails a substantial cost.
A client/server network can be expensive to implement and maintain. First, at
least one server is required to create a client/server network. This requires server
hardware and software, a server operating system and appropriate licenses to
allow the end users to use the network software. If data will be stored centrally, a
backup system is needed, which requires backup server software and backup
media. Maintaining a client/server network also requires at least one network
administrator, which translates into an additional salary. For a smaller network,
cost alone may be the deciding factor in opting for a different type of network
architecture.
6. You need professional IT people to maintain the servers and other technical
details of network. Personnel a client/server network requires experienced
network personnel to maintain the server, manage security and backup systems,
and recover quickly from unexpected outages. Depending on the size and
complexity of the client/server network, this could require network
administrators, IT security professionals, and/or other IT professionals. A smaller
network may be able to combine several of these roles into one position, but
additional training is often required as a result.
36
Chapter 3 E-commerce Architecture
is stored centrally, users are unable to access their data. If applications are
managed centrally, users are unable to run their applications. Any of these
scenarios can result in significant loss of productivity and/or revenue.
A two-tier application generally includes a Java client that connects directly to the
database through TopLink. The two-tier architecture is most common in complex user
interfaces with limited deployment. The database session provides TopLink support for
two-tier applications.
Although the two-tier architecture is the simplest TopLink application pattern, it is also
the most restrictive, because each client application requires its own session. As a result,
two-tier applications do not scale as easily as other architectures. Two-tier applications
are often implemented as user interfaces that directly access the database They can also
be non-interface processing engines. In either case, the two-tier model is not as common
as the three-tier model.
Client Server
User Interface (Business Rules)
(Business Rules) Data Access
37
Chapter 3 E-commerce Architecture
38
Chapter 3 E-commerce Architecture
39
Chapter 3 E-commerce Architecture
40
Chapter 3 E-commerce Architecture
41
Chapter 3 E-commerce Architecture
The concepts of layer and tier are often used interchangeably. However,
one fairly common point of view is that there is indeed a difference, and
that a layer is a logical structuring mechanism for the elements that make
up the software solution, while a tier is a physical structuring mechanism
for the system infrastructure.
Tier 1 (presentation tier, GUI tier), tier 2 (business objects, business logic
tier) and tier 3 (data access tier).
42
Chapter 3 E-commerce Architecture
• Application tier ( business logic, logic tier, data access tier, or middle
tier): The logic tier is pulled out from the presentation tier and, as
its own layer; it controls an application’s functionality by
performing detailed processing. BAL contains business logic,
validations or calculations related with the data, if needed. I will
call it Business Access Layer in my demo. A Server computer that
hosts components which encapsulate an organization's business
rules. Middle-tier components can either be Active Server Page
scripts executed on Internet Information Server, or (in non-Web-
based applications) compiled executables.
• A Client PC
• An Application Server
• A Database Server
43
Chapter 3 E-commerce Architecture
44
Chapter 3 E-commerce Architecture
2. Message servers
3. Application servers
TP monitor provides:
o Robust security
45
Chapter 3 E-commerce Architecture
2. The application server does not drive GUIs rather it shares business
logic, computations, and a data retrieval engine.
46
Chapter 3 E-commerce Architecture
47
Chapter 3 E-commerce Architecture
d. It has better wait balancing system because the entire work load is
divided.
g. Better Re-use: The same logic can be initiated from many clients or
applications. If an object standard like COM/DCOM or CORBA is
employed (as discussed in tool dependence), then the specific
language implementation of the middle tier can be made transparent.
48
Chapter 3 E-commerce Architecture
l. Hidden Database Structure: since the actual structure of the database is hidden
from the caller, it is possible that many database changes can be made
transparently. Therefore, a service in the middle tier that exchanges
information/data with other applications could retain its original interface while
the underlying database structure was enhanced during a new application release.
b. Fewer Tools: There are many more tools available for a 2-tier model (e.g. most
reporting tools). It is likely that additional programming effort will be required to
manage tasks that an automated tool might handle in a 2-tier environment. Creates
an increased need for network traffic management, server load balancing, and
fault tolerance. Current tools are relatively immature and are more complex.
Maintenance tools are currently inadequate for maintaining server libraries. This
is a potential obstacle for simplifying maintenance and promoting code reuse
49
Chapter 3 E-commerce Architecture
c. More complex structure more difficult to setup and maintain the physical
separation of application servers containing business logic functions and database
servers containing databases may moderately affect performance.
50
Chapter 3 E-commerce Architecture
The design has further been guided by the need for the Data Collection
component to be real-time and for the analysis component to at least be
51
Chapter 3 E-commerce Architecture
52
Chapter 3 E-commerce Architecture
53