Quality Testing

Quality is delighting customers

All round testers must aware of basics of Web concepts.

Topics to be Covered:

- Client server Computing

- Two-Tier Architecture

- Three-Tier Architecture

- Firewalls

- Distributed Processing

- Characteristics of client/server architecture

- Server Types

- Transaction Server

- Application Server

 

What is Client server Computing?

Client/server is a computational architecture that involves client processes requesting service from server processes

 

The long answer: Client/server computing is the logical extension of modular programming. Modular programming has as its fundamental
assumption that separation of a large piece of software into its
constituent parts ("modules") creates the possibility for easier
development and better maintainability. Client/server computing takes
this a step farther by recognizing that those modules need not all be
executed within the same memory space. With this architecture, the
calling module becomes the "client" (that which requests a service),
and the called module becomes the "server" (that which provides the
service).

 

Client process

- What is a Client process? The client is a process (program) that sends a message to a server process (program), requesting that the server
perform a task (service).

- Client programs usually manage the user-interface portion of the application, validate data entered by the user, dispatch requests to server programs, and sometimes execute
business logic.

- The client-based process is the front- end of the application that the user sees and interacts with.

- The client process contains solution-specific logic and provides the interface between the user and the rest of the application system.

- The client process also manages the local resources that the user interacts with such as the monitor, keyboard, workstation CPU and
peripherals. One of the key elements of a client workstation is the
graphical user interface (GUI).

 

Server process

- What is a Server process? A server process (program) fulfills the client request by performing the task requested.

- Server programs generally receive requests from client programs, execute database retrieval and updates, manage data integrity and
dispatch responses to client requests.

- Server programs may execute common or complex business logic.

- The server-based process "may" run on another machine on the network. This server could be the host operating system or network file server;
the server is then provided both file system services and application
services.

- The server process acts as a software engine that manages shared resources such as databases, printers, communication links, or high powered-processors.

- The server process performs the back-end tasks that are common to similar applications.

 

Two-Tier Architecture

What is a Two-Tier Architecture?

A two-tier architecture is where a client talks directly to a server, with no intervening server. It is typically used in small environments
(less than 50 users).

 

 

 

 

A common error in client/server development is to prototype an application in a small, two-tier environment, and then scale up by
simply adding more users to the server. This approach will usually
result in an ineffective system, as the server becomes overwhelmed. To
properly scale to hundreds or thousands of users, it is usually
necessary to move to a three-tier architecture.

 

 

 

 

Fig: Two-tier architecture

 

Three-Tier Architecture

A three-tier architecture introduces a server (or an "agent") between the client and the server.

The role of the agent is manyfold.

 

It can provide translation services (as in adapting a legacy application on a mainframe to a client/server environment), metering services (as
in acting as a transaction monitor to limit the number of simultaneous
requests to a given server), or intelligent agent services (as in
mapping a request to a number of different servers, collating the
results, and returning a single response to the client.

 

 

 

 

Different layers in Three-Tier Architecture – Source -

CONNJUR project, http://connjur.uchc.edu

 

Firewalls

- Firewall is a shield that protect private networks from threats/harm coming from Internet

- Firewall prevent un-authorized users to gain access to confidential information.

- Firewalls are combination of hardware and software

- Firewalls may use routers, servers and software to shield networks

 

 

 

 

 

 

 

Types of Firewalls

There are two types of firewalls:

- Packet-filtering (routers)

- Pro-based firewalls

 

Packet-filtering Firewalls - This type of firewall blocks information by screening incoming packages. Packet filtering provides basic network security
features at the IP level

 

Proxy-based Firewalls - More secure firewall. A proxy server is a software running on host computers running at network perimeter. Proxy servers are designed so that they
are the only servers interacting with Internet.

 

Distributed Processing

The distribution of applications and business logic across multiple processing platforms. Distributed processing implies that processing
will occur on more than one processor in order for a transaction to be
completed. In other words, processing is distributed across two or more
machines and the processes are most likely not running at the same
time, i.e. each process performs part of an application in a sequence.
Often the data used in a distributed processing environment is also
distributed across platforms.

 

Characteristics of client/server architecture

The basic characteristics of client/server architectures are:

1) combination of a client or front-end portion that interacts with the user, and a server or back-end portion that interacts with the shared
resource. The client process contains solution-specific logic and
provides the interface between the user and the rest of the application
system. The server process acts as a software engine that manages
shared resources such as databases, printers, modems, or high powered
processors.

 

2) the front-end task and back-end task have fundamentally different requirements for computing resources such as processor speeds, memory, disk speeds and capacities, and
input/output devices.

 

3) the environment is typically heterogeneous and multi-vendor. The hardware platform and operating system of client and server are not usually the same. Client
and server processes communicate through a well-defined set of standard
application program interfaces (API's) and RPC's.

 

4) An important characteristic of client-server systems is scalability. They can be scaled horizontally or vertically. Horizontal scaling means
adding or removing client workstations with only a slight performance
impact. Vertical scaling means migrating to a larger and faster server
machine or multiservers.

 

Server types

- The simplest form of servers are disk servers and file servers.

- With a file server, the client passes requests for files or file records over a network to the file server. This form of data service
requires large bandwidth and can slow a network with many users down
considerably. Traditional LAN computing allows users to share
resources, such as data files and peripheral devices, by moving them
from standalone CPUs onto a Networked File Server (NFS).

 

Transaction servers

In transaction servers, clients invoke remote procedures that reside on servers which also contains an SQL database engine. There are
procedural statements on the server to execute a group of SQL
statements (transactions) which either all succeed or fail as a unit.
The applications based on transaction servers are called On-line
Transaction Processing (OLTP) and tend to be mission-critical
applications which require 1-3 second response time, 100% of the time
and require tight controls over the security and integrity of the
database. The communication overhead in this approach is kept to a
minimum as the exchange typically consists of a single request/reply
(as opposed to multiple SQL statements in database servers).

 

Application server

Application servers are not necessarily database centered but are used to server user needs, such as. download capabilities from Dow Jones or regulating
a electronic mail process. Basing resources on a server allows users to
share data, while security and management services, which are also
based in the server, ensure data integrity and security.

Views: 128

Reply to This

Replies to This Discussion

Hi Amar,

Thanks for sharing nice information @ Web Testing.

Cool..

Kiran.
Hi Amar,

Great Article ... Thanks for sharing!!

~ Gargi
Good Collection Amar. Keep it up.
Thanks for sharing it
Amar,

Good information thanks for sharing ... :)

RSS

TTWT Magazine


Advertisement

Advertisement

Advertisement

Advertisement

© 2022   Created by Quality Testing.   Powered by

Badges  |  Report an Issue  |  Terms of Service