You are on page 1of 28

Chapter 3 E-commerce Architecture

Chapter - 3
E-commerce Architecture

26
Chapter 3 E-commerce Architecture

3.1. E-commerce Architecture:


Every day more and more business transactions are conducted in the Internet under the
umbrella of ECommerce. The main feature that distinguishes E-Commerce from
traditional commerce is the ability to conduct business with spatially distributed partners
and products, and achieves considerable reduction in human effort and latency time. The
size and complexity of E-Commerce systems make the architecture level of design and
specification of the overall system a significant issue. From a good design it is possible to
assess the quality and performance of the system before the system is implemented and
deployed. Some of the important properties that can be assessed from a design
specification include correctness, service availability, and security of transactions. This
paper discusses the model of E-Commerce architecture towards this goal.

There are four types of E-commerce Architecture


1. Client Server Architecture
2. Two-Tier Architectures
3. Three-Tier Architectures
4. Distributed Enterprise Architecture

3.2. Client–server architecture:

The client–server architecture is a computing model that acts as a distributed application


which partitions tasks or workloads between the providers of a resource or service, called
servers, and service requesters, called clients.

[Fig: Client Server 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.

Client Server architecture use 3 components-

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.

3. Communication Networks: Networks Connect Clients and Servers.

3.2.1. Client/Server architecture Properties:

E-commerce is based on client/ server architecture


1. Client processes requesting service from server processes
2. First used in 1980s, the model improves to be e-commerce
usability, flexibility, interoperability and scalability.
• In e-commerce the client is defined as the requestor of a service and
a server is the provider of the service
3. Browser is the client and the customer, the computer that sends
the HTML files is the server
4. The server can also be a computer program that provides services
to other computer programs
• A web server is the computer program that serves requested HTML
pages or files.
5. Uses client/server model and http(hypertext transfer protocol)

28
Chapter 3 E-commerce Architecture

6. Every computer on the internet that contains a web site must


have a web server program.
• Most popular web servers are Deerfield’s WebSite and Microsoft’s
Internet Information Server (IIS)
• Web servers are included as part of a larger package of internet and
intranet related programs for serving e-mail, downloading requests
for FTP files and building and publishing web pages.
• Typically the e-commerce customer is the client and the business is
the server.
• In the client/ server model single machine can be both client and the
server
• The client/ server model utilises a database server in which RDBMS
user queries can be answered directly by the server
• The client/ server architecture reduces network traffic by providing
a query response to the user rather than transferring total files.
• The client/ server model improves multi-user updating through a
graphical user interface (GUI) front end to the shared database.
• In client/ server architectures client and server typically
communicate through statements made in structured query language
(SQL).

3.2.2. Clients-server interaction:

The client–server characteristic describes the relationship of cooperating


programs in an application. The server component provides a function or
service to one or many clients, which initiate requests for such services.

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

business applications being written today use the client–server model. So


do the Internet's main application protocols, such as HTTP, SMTP, Telnet,
and DNS.The interaction between client and server is often described
using sequence diagrams. The Unified Modeling Language has support for
sequence diagrams.

Specific types of clients include web browsers, email clients, and online chat
clients.

Specific types of servers include web servers, FTP servers, application


servers, database servers, name servers, mail servers, file servers, print servers, and
terminal servers. Most web services are also types of servers.

3.2.3. Client/Server with File Servers

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.

[Fig: Centralized Client/Server with File Servers]

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.

[Fig: Distributed Client/Server with File Servers ]

A program or mechanism that enables the required processes for file


sharing can also be called a file server. On the Internet, such programs
often use the File Transfer Protocol (FTP).

3.2.4. Client/Server with Database Servers :

A database server is a computer program that provides database services to other


computer programs or computers, as defined by the client–server model. The term may
also refer to a computer dedicated to running such a program. Database management
systems frequently provide database server functionality, and some DBMS s (e.g.,
MySQL) relies exclusively on the client–server model for database access. Such a server
is accessed either through a "front end" running on the user’s computer which displays
requested data or the "back end" which runs on the server and handles tasks such as data
analysis and storage. In a master-slave model, database master servers are central and
primary locations of data while database slave servers are synchronized backups of the

31
Chapter 3 E-commerce Architecture

master acting as proxies. Events (violation of integrity constraints, temporal conditions,


errors) trigger event handlers-> implicit invocation, blackboards, and event.

[Fig: Client/Server with Database Servers ]

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.

At present the majority of existing client/server-based software is to be


found in the area of databases, and it is here that the greatest challenge to
any corporation currently lies.

Richard Finkelstein, President, Performance Computing

3.2.5. Client/Server with Transaction Processing :

32
Chapter 3 E-commerce Architecture

Transaction processing is designed to maintain a computer system


(typically a database or some modern file systems) in a known, consistent
state, by ensuring that any operations carried out on the system that are
interdependent are either all completed successfully or all canceled
successfully.

1) Atomicity

a) A transaction is an indivisible unit of work.

b) An all-or-nothing proposition .

c) All updates to a database, displays on the clients’ screens, message


queues.

d) e.g., salary increase for all 1 million employees or none

2) Consistency

a) a transaction is an indivisible unit of work

b) integrity constraints (e.g., mgr.salaray > salary

c) Isolation

[Fig: Client/Server with Transaction Processing ]

d) A transaction’s behavior not affected by other transactions running


concurrently .

33
Chapter 3 E-commerce Architecture

e) E.g., reserve a seat.

3) Serialization techniques

a) Durability

b) Persistence

c) A transaction’s effects are permanent after it commits

3.2.6. Advantages of Client Server Architecture :

1) Centralization: In Client Server Networks there is no central administration, here


in this architecture there is a centralized control. Servers help in administering the
whole set-up. Access rights and resource allocation is done by Servers.
Centralized Server Advantage Having a single server hosting the database of user
names and passwords and, at the same time, managing what levels of access
individual users and computers can have to specific network resources is a distinct
advantage of client server architecture. Fewer support staff are needed to manage
centralized security accounts than would be needed if security and resource access
had to be configured on each individual computer on the network. This advantage
is even greater in networks where users typically access resources from a number
of computers, as resource access and log-on permissions would have to be
configured for each user, on each computer that they use.

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.

4) Up gradation and Scalability in Client-server set-up: A client server system allows


the network to easily adapt to upgrades and new technologies. A new operating
system or a software upgrade can be implemented from the server across the
network without much downtime or inconvenience to users. Computers and
servers to a client server network without major interruptions to the network
Changes can be made easily by just upgrading the server. Also new resources and
systems can be added by making necessary changes in server.
5) Accessibility: From various platforms in the network, server can be accessed
remotely. Accessible client server system can be set up with a remote access. It
means users can access the network securely from the outside. Servers that allow
remote access offer different type of secure connection like wireless, virtual
private network (VPN), or dial-up remote access. While maintaining the security

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.

8)  Servers can play different roles for different clients.

3.2.7. Disadvantages of Client Server Architecture:

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.

3. Dependence: The client-server network model relies on a functioning and


available centralized server. If the centralized server is removed from the system
or goes down due to problems, the entire network cannot function. However,
many client server networks now have backup servers to provide support when a
server is lost.

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.

5. Maintenance Client-server networks often requires a staff with at least a single


network administrator to manage and maintain the equipment and the network.
Other network operating systems, such as peer-to-peer network systems, do not
require a network administrator to maintain machines, as this work is distributed
among individual clients and their related machines.

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.

7. Complexity: A client/server network is naturally more complex, which can be


both an advantage and a disadvantage. For instance, data stored remotely can be
more secure than data stored locally, but more configurations is required both to
ensure the security of that data and to allow the appropriate users to have
appropriate access to that data. The very nature of a client/server environment
creates challenges in the delivery and accessibility of remote resource.

8. Downtime: When a computer in a simple peer-to-peer network goes down, the


only users affected are the user of that particular computer, and perhaps any users
who are trying to access data stored on that computer. In contrast, when a server
in a client/server network goes down, all users are affected. If security is
maintained centrally on that server, workstations are unable to authenticate login
information, and users are unable to gain access to their own systems. If user data

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.

3.3. Two-Tier Architectures:

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

[Fig: Two Tier Client Server]

Two-tier architectures have 2 essential components


 A Client PC and
 A Database Server
3.3.1. Two-tier Considerations:
 Client program accesses database directly
o Requires a code change to port to a different database
o Potential bottleneck for data requests
o High volume of traffic due to data shipping

37
Chapter 3 E-commerce Architecture

 Client program executes application logic


o Limited by processing capability of client workstation
(memory, CPU)
o Requires application code to be distributed to each client
workstation .
• The user system interface is usually located in the user’s desktop
environment and the DBM services are usually in a server that is a
more powerful machine that services many clients.

[Fig: Two Tier Architecture]


• It runs the client processes separately from the server processes,
usually on a different computer:
1. The client processes provide an interface for the customer, and
gather and present data usually on the customer’s computer. This
part of the application is the presentation layer

38
Chapter 3 E-commerce Architecture

2. The server processes provide an interface with the data store of


the business. This part of the application is the data layer
3. The business logic that validates data, monitors security and
permissions, and performs other business rules can be housed on
either the client or the server, or split between the two.
1. Fundamental units of work required to complete the business
process
2. Business rules can be automated by an application program
• Typically used in e-commerce
1. Internet retrieval, desicion support
• Used in distributed computing when there are fewer than 100 people
simultaneously interacting on a LAN.
• Implementation of processing management services using vendor
proprietary db procedures restricts flexibility and choice of RDBMS
for applications.
• Also lacks flexibility in moving program functionality from one
server to another.

3.3.2. The advantages of the two tier architecture :

 Development Issues: Fast application development time, Easy to setup and


maintain available tools are robust and lend themselves to fast prototyping to
insure user needs a met accurately and completely. Conducive to environments
with homogeneous clients, homogeneous applications, and static business rules.
 Performance: Adequate performance for low to medium volume environments
Business logic and database are physically close, which provides higher
performance.
3.3.3. The disadvantages of the 2-tier architecture :

 Scalability: key concern with the 2-tier model is scalability.


Application performance can be expected to degrade rapidly when
the number of concurrent users reaches a threshold between a few
hundred and one thousand users. This is true even for large database
servers. The chief reason is that each client requires its own

39
Chapter 3 E-commerce Architecture

connection and each connection requires CPU and memory. As the


number of connections increases, the database performance
degrades.

 Poor Logic Sharing: Traditional two-tier architectures keep business


logic on the client. When logic is in the client, it is usually more
difficult to re-use logic between applications and amongst tools.

 Application Distribution: Application changes have to be distributed


to each client. When there are a large number of users, this entails
considerable administrative overhead.

 Remote Usage: Remote users (e.g. customers), probably do not want


to install your application on their clients-they would prefer "thin"
clients where minimal (or no) client software installation is
required.

 Database Structure: other applications that access your database


will become dependent on the existing database structure. This
means that it is more difficult to redesign the database since other
applications are intimate with the actual database structure.

 Development Issues: Complex application rules difficult to implement in database


server – requires more code for the client. Complex application rules difficult to
implement in client and have poor performance. Changes to business logic not
automatically enforced by a server – changes require new client side software to
be distributed and installed. Not portable to other database server platforms.

 Performance: Inadequate performance for medium to high volume


environments, since database server is required to perform business
logic. This slows down database operations on database server.

40
Chapter 3 E-commerce Architecture

3.4. Three-Tier Architecture( Multitier architecture ):


Multi-tier architecture (often referred to as n-tier architecture) is a client–
server architecture in which the presentation, the application processing, and
the data management are logically separate processes. For example, an
application that uses middleware to service data requests between a user and
a database employs multi-tier architecture.

[Fig: Three Tier Architecture]

The most widespread use of multi-tier architecture is the three-tier


architecture.

Three-tier is a client–server architecture in which the user interface, functional


process logic ("business rules"), computer data storage and data access are
developed and maintained as independent modules, most often on separate
platforms. It was developed by John J. Donovan in Open Environment

41
Chapter 3 E-commerce Architecture

Corporation (OEC), a tools company he founded in Massachusetts. The


three-tier model is software architecture and a pattern. Apart from the
usual advantages of modular software with well-defined interfaces, the
three-tier architecture is intended to allow any of the three tiers to be
upgraded or replaced independently in response to changes in
requirements or technology. For example, a change of operating system in the
presentation tier would only affect the user interface code.

Typically, the user interface runs on a desktop PC or workstation and uses a


standard graphical user interface, functional process logic may consist of one
or more separate modules running on a workstation or application server, and
an RDBMS on a database server or mainframe contains the computer data
storage logic. The middle tier may be multi-tiered itself (in which case the
overall architecture is called an "n-tier architecture").

3.4.1. Three-tier of the architecture:

N-tier application architecture provides a model for developers to create a


flexible and reusable application. By breaking up an application into tiers,
developers only have to modify or add a specific layer, rather than have to
rewrite the entire application over. There should be a presentation tier, a
business or data access tier, and a data tier.

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.

Three-tier (layer) is a client-server architecture in which the user


interface, business process (business rules) and data storage and data
access are developed and maintained as independent modules or most
often on separate platforms.

Basically, there are 3 layers :

Tier 1 (presentation tier, GUI tier), tier 2 (business objects, business logic
tier) and tier 3 (data access tier).

• Presentation tier Or Presentation Layer (UI):This is the topmost


level of the application. The presentation tier displays information
related to such services as browsing merchandise, purchasing, and

42
Chapter 3 E-commerce Architecture

shopping cart contents. It communicates with other tiers by


outputting results to the browser/client tier and all other tiers in the
network. Presentation layer contains pages like .aspx or windows
form where data is presented to the user or input is taken from the
user. A local computer on which either a Web browser displays a
Web page that can display and manipulate data from a remote data
source, or (in non-Web-based applications) a stand-alone compiled
front-end application

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

• Data Access Layer (DAL) Or Data tier: This tier consists of


database servers. Here information is stored and retrieved. This tier
keeps data neutral and independent from application servers or
business logic. Giving data its own tier also improves scalability
and performance.DAL contains methods that helps business layer to
connect the data and perform required action, might be returning
data or manipulating data (insert, update, delete etc).A computer
hosting a database management system (DBMS), such as a
Microsoft SQL Server database. (In a two-tier application, the
middle-tier and data source tier are combined.)

3.4.2. Component & Consideration of 3tier architecture:

Three Tier architectures have 3 essential components:

• A Client PC
• An Application Server
• A Database Server

Three-Tier Architecture Considerations:

43
Chapter 3 E-commerce Architecture

• Client program contains presentation logic only

o Less resources needed for client workstation

o No client modification if database location changes

o Less code to distribute to client workstations

• One server handles many client requests

o More resources available for server program

o Reduces data traffic on the network

[Fig: 3 Tier Architecture]

Also called as multi-tier architecture.A middle tier is added between the


client environment and the DBM server environment.

3.4.3. Implemantation of 3 Tier Architecture:


Variety of ways to implement three tier architectures :
1. Transaction processing (TP) monitors

44
Chapter 3 E-commerce Architecture

2. Message servers
3. Application servers

3.4.3.1.Three-Tier Architectures with TP Monitor :

 The most basic type

o Type of message queuing, transaction scheduling,


prioritisation service

 Client connects to TP instead of the DB server

 The transaction is accepted by the monitor which queues it and


takes responsibility to complete it by freeing up the client

 When a third part provides this service it is called TP heavy

 When it is embeded in the DBMS, it can be considered 2-tier and is


referred to as TP lite

 TP monitor provides:

o The ability to update multiple DBMSs in a single transaction

o Connctivity to a variety of data sources (flat files & non-


RDBMSs)

o The ability to attach priorities to transactions

o Robust security

 More scalable than a 2-tier architecture

 Most suitable for e-commerce with many thousands of users

3.4.3.2. Three-Tier Architectures with Message Server :

• Messages are prioritised and processed asynchronously

45
Chapter 3 E-commerce Architecture

1. Headers contain priority info, the address, the id no

• Message server connects to the RDBMS and other data


sources

• The message server focuses on intelligent messages,


whereas the TP environment has the intelligence in the
monitor and treats transactions as dumb data packets

• They are sound business solutions for the wireless


infrastructures of m-commerce.

3.4.3.3. Three-Tier Architectures with an Application Server :

1. Allocates the main body of an application to run on a shared host


rather than in the user system interface client environment

2. The application server does not drive GUIs rather it shares business
logic, computations, and a data retrieval engine.

3. With less sw on the client

1. There is less concern with security,

2. Applications are more scalable

3. Support and installation costs are less on a single server than


maintaining each on a desktop client.

3.4.3.4. Three-Tier Architectures with an Object Request Broker


Standard:

46
Chapter 3 E-commerce Architecture

 Need for improving interoperability and object request broker


(ORB) standards in the client/ server model.

 ORB support in a network of clients and servers on different


computers means

o A client program (object) can request services from a server


program

o Object without having to understand where the server is in a


distributed network or what the interface to the server
program looks like

 ORB is the programming that acts as the mediary or as a broker


between a client request for a service from a distributed object or
component and server completion of that request.

 There are two prominent distributed object technologies:

o Common Object Request Broker Architecture (CORBA)

o Component Object Model (COM)

 The industry is working on operability between CORBA and COM

3.4.4. Advantages of 3 tier architecture :

a. The advantage of a 3-tier system is that the contents of any of the


tiers/layers can be replaced without making any resultant changes in
any of the others. For example: A change from one DBMS to other
will only involve a change to the part in the data access layer. A
change in the Use Interface (from desktop to the web, will need
only some changes in the components of the presentation layer.

b. The benefit of writing the presentation and business layered


architecture in different languages is that it is an advantage of the
presentation and business layers is that it is feasible to use different
developer teams to work on each. It means that only PHP skills are
required for data access layer and business layer, and HTML, CSS
and XLS skills for presentation layers. It is easier to find a

47
Chapter 3 E-commerce Architecture

developer with skills in one of these rather having a kind of


developer having all of the skills.

c. Another main advantage of using XML/XLS in the presentation


layer is that it the output can be changed from HTML to WML or
PDF or any other format using a different XLS style sheet. XLS
files can be used to change XML documents into a number of
formats and not only HTML.

d. It has better wait balancing system because the entire work load is
divided.

e. Security polices can be imposed without effecting the clients.

f. Scalability: The key 3-tier benefit is improved scalability since the


application servers can be deployed on many machines. Also, the
database no longer requires a connection from every client -- it only
requires connections from a smaller number of application servers.
In addition, TP monitors or ORBs can be used to balance loads and
dynamically manage the number of application server(s) available.

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.

h. Improved Data Integrity: since all updates go through the middle


tier, the middle tier can ensure that only valid data is allowed to be
updated in the database and the risk of a rogue client application
corrupting data is removed.

i. Improved Security: Security is improved since it can be


implemented at multiple levels (not just the database). Security can
be granted on a service-by-service basis. Since the client does not
have direct access to the database, it is more difficult for a client to
obtain unauthorized data. Business logic is generally more secure
since it is placed on a more secure central server.

j. Reduced Distribution: Changes to business logic only need to be


updated on the application servers and do not have to be distributed
to all the clients.

48
Chapter 3 E-commerce Architecture

k. Improved Availability: mission-critical applications can make use of redundant


application servers and redundant database servers. With redundant servers, it is
possible to architect an application so that it can recover from network or server
failures.

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.

m. Development Issues: Complex application rules easy to implement in


application server. Business logic off-loaded from database server
and client, which improves performance. Changes to business logic
automatically enforced by server – changes require only new
application server software to be installed. Application server logic
is portable to other database server platforms by virtue of the
application software .

n. Performance: Superior performance for medium to high volume


environments

3.4.5. The disadvantage of the 3-tier architecture :

a. Increased Complexity/Effort: In general, it is more difficult to build a 3-tier


application compared to a 2-tier application. The points of communication are
doubled (client to middle tier to server, instead of simply client to server) and
many handy productivity enhancements provided by client tools (e.g. Visual
Basic, PowerBuilder, Delphi) will be foregone or their benefit will be reduced
with a 3-tier architecture.

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

throughout the organization. There is more processing on the web server,


It does not interact with the WMS server directly.

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.

d. Development Issues: For More complex structure it is more difficult to setup


and maintain.

e. Performance: The physical separation of application servers containing business


logic functions and database servers containing databases may moderately affect
performance.

3.5. Distributed Enterprise Architecture :

50
Chapter 3 E-commerce Architecture

The Distributed Enterprise Architecture has been designed to


support distribution of key components. For instance, the Data Adapters
can be and in fact were distributed to other machines to support the
Distributed Enterprise Architecture effort on IL’03. The notion here is
that it is easy to use different devices on the network to do data collection
so that a) we can avoid overloading any given device and b) we can place
bandwidth intensive Data Adapters on the same LAN (and even the same
virtual LAN) as other important devices to minimize ill effects of highly
distributed systems. Because the system is web-based, anyone anywhere
on the network (connected via WAN or LAN and possessing the
appropriate privileges) can log onto the Distributed Enterprise
Architecture Portal (described below), run interactive queries against
Distributed Enterprise Architecture databases and view, refresh, or
publish analysis products.

[Fig: Logical diagram of an Enterprise 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

near real-time. The Data Adapter framework incorporates real-time


control and exception management. The multiple layers (e.g. separating
the data layer from the integration/services layer) allow the analysis
component to be able to yield limited results in real time or more
complete results at near real time or after action. Currently, a complete
Distributed Enterprise Architecture system can be run on a single high-
end laptop. As the load placed on the Distributed Enterprise Architecture
system increases, either through the expansion of the collection
requirements or through increased user traffic supported by the
Distributed Enterprise Architecture Portal, additional servers are needed
to distribute the load so that the Data Adaptors do not fall behind and the
Portal remains responsive A guiding principle in the design of the
Distributed Enterprise Architecture system is to separate functionality,
Implemented by code, from configuration.

3.5.1. Basic Properties of Distributed Enterprise Architecture :

Distributed Enterprise Architecture collection parameters are typically


specified in collection strategies, and system parameters are stored in
name-value pairs, all of which is stored in a central database.

 Distributed Enterprise Architecture based on ORB technology .

 Distributed Enterprise Architecture uses shared, reusable business


models on a business enterprise-wide scale.

 Distributed Enterprise Architecture is standardised business object


models and distributed object computing are combined to give
greater flexibility to the business .

 Distributed Enterprise Architecture with the emergence and


popularity of ERP sw, distributed enterprise architecture promises
to enable e-commerce to extend business processes at the enterprise
level.

52
Chapter 3 E-commerce Architecture

[Fig: critical components of any distributed enterprise architecture]

3.5.2. The advantages of the Distributed Enterprise Architecture :

1. Allows significant modification of DCA deployment without code


changes.

2. Non-developers can configure the DCA and the Data Adapters.

3. Collection Strategies and system parameters can be configuration


managed separately from the code base.

3.5.3. The Disadvantages of the Distributed Enterprise Architecture :


1. Software implementation is difficult.

2. Network setup is complicated.

3. More components to fail because of so many components are used.

4. Security issue is low to maintain.

53

You might also like