ncs

48
Networked Computer Systems 2011 Contents Acknowledgement................................................................. 4 Abstract........................................................................ 4 Chapter-1....................................................................... 5 Introduction...................................................................5 Chapter-2....................................................................... 8 Client/Server Characteristic...................................................8 The logical entities of Client/Server..........................................9 Merits and Demerits of the Client Server......................................11 The Merits of Client/Server Computing.......................................11 Enhanced Data Sharing.......................................................11 The Demerits of Client/Server Computing.....................................12 Chapter-3...................................................................... 13 Client/server architecture....................................................13 Types of network architecture.................................................13 2-tier Client/Server Architecture...........................................13 3-tier Client/Server Architecture...........................................15 The Main differences between 3-tier architecture And 2-tier architecture....16 N-Tier Architecture.........................................................17 Client model..................................................................19 Types.......................................................................20 Advantages..................................................................21 Disadvantages...............................................................21 Server Model..................................................................21 Types.........................................................................21 File Server.................................................................21 Database Server.............................................................22 Client/Server Page 1

Upload: al-madinah-international-university-mediu

Post on 08-May-2015

452 views

Category:

Technology


6 download

DESCRIPTION

Networked Computer Systems

TRANSCRIPT

Page 1: NCS

Networked Computer Systems 2011

ContentsAcknowledgement.................................................................................................................................................................4

Abstract.................................................................................................................................................................................4

Chapter-1..............................................................................................................................................................................5

Introduction.......................................................................................................................................................................5

Chapter-2..............................................................................................................................................................................8

Client/Server Characteristic...............................................................................................................................................8

The logical entities of Client/Server..................................................................................................................................9

Merits and Demerits of the Client Server........................................................................................................................11

The Merits of Client/Server Computing......................................................................................................................11

Enhanced Data Sharing...............................................................................................................................................11

The Demerits of Client/Server Computing..................................................................................................................12

Chapter-3............................................................................................................................................................................13

Client/server architecture................................................................................................................................................13

Types of network architecture.........................................................................................................................................13

2-tier Client/Server Architecture.................................................................................................................................13

3-tier Client/Server Architecture.................................................................................................................................15

The Main differences between 3-tier architecture And 2-tier architecture...................................................................16

N-Tier Architecture.....................................................................................................................................................17

Client model....................................................................................................................................................................19

Types...........................................................................................................................................................................20

Advantages..................................................................................................................................................................21

Disadvantages.............................................................................................................................................................21

Server Model...................................................................................................................................................................21

Types...............................................................................................................................................................................21

File Server...................................................................................................................................................................21

Database Server...........................................................................................................................................................22

Transaction Servers.....................................................................................................................................................23

Application Architecture.............................................................................................................................................25

Storage Area Network (SAN)......................................................................................................................................25

Client/Server Page 1

Page 2: NCS

Networked Computer Systems 2011

Disadvantages of the Client Server Architecture.............................................................................................................26

Client Server Architecture Advantages...........................................................................................................................26

Chapter 4.............................................................................................................................................................................28

Requirements for the implementation of Client/Server...................................................................................................28

Client-Server Requirements............................................................................................................................................28

Network Interfaces......................................................................................................................................................28

Routing Infrastructure.................................................................................................................................................29

Network Protocol Establishment.................................................................................................................................29

Communication Software............................................................................................................................................29

Client/Server implementation environment.....................................................................................................................30

Client Environment.....................................................................................................................................................31

Server Environment.....................................................................................................................................................32

Conclusion..........................................................................................................................................................................33

Reference............................................................................................................................................................................33

Appendices..........................................................................................................................................................................34

Work Breakdown Structure.............................................................................................................................................34

Client/Server Page 2

Page 3: NCS

Networked Computer Systems 2011

Acknowledgement

With this subject and article I will be advising and explaining the way of the Client/Server

technology. How this technology become popular by the opportunity we had in our study field. And the

information that been given by our beloved lecturer Mr.ABUBAKAR, we are so grateful by him for

what he been teaching us and advise us for. And greeting to the university that I been study for one year

and gave me a huge acknowledgement in our field that I choose.

Abstract

In this article we will be providing the way of the Client/Server techniques, how this technology can

be work as a Client and Server in the same time with an impeccable method. What are the challenging

that can be stop the working of the Client/Server technology, and how it does implement on various

places and different usage?

Client/Server Page 3

Page 4: NCS

Networked Computer Systems 2011

Chapter-1

Introduction

Nowadays huge and massive organizations are looking for more security, ability, performance, and

fulfillment the work. In that order they start to develop and create a new method or language that can be

use for this particular field which is to make sending and receiving signals in better mean request of data

by the appearance of Client/Server Technology.

We are in the middle of a fundamental change in both technology and its application. Organizations

today expect to get more value from their investments in technology.

“Opportunities are available to organizations and people who are ready and able to race in the global

market. A competitive global economy will ensure antiquation and obscurity to those who cannot or are

unwilling to race. All organizations must look for ways to demonstrate value. We are finally seeing a

preparation to rethink existing organizational structures and business practices”. This is slideshare.com

(2008)

“Organizations are aggressively constriction even as they try to aggressively expand their revenue

base. There is more preparation to continue improvement practices and programs to eliminate

redundancy and increase effectiveness. Organizations are becoming market-driven while remaining true

to their business vision”.

Client/server computing is the most effective source for the tools that empower employees with

authority and responsibility.

Client does send or request the order for a specific matter it want.

Server receive the request or the order from the client and fulfill the requirements for returning back

the matter that been asked from or by the client

Client/Server Page 4

Page 5: NCS

Networked Computer Systems 2011

Workstation power, workgroup empowerment, preservation of existing investments, remote network

management, and market-driven business are the forces creating the need for client/server computing.

The Client/server computing is an irresistible movement that is reshaping the way computers is being

used. Though this computing is very young it is already in full force and is not leaving any area and

corner of the computer industry untouched. The Client/Server application development requires mix

skills that include transaction processing, database design, communication experience, graphical user

interface design, and being Internet Savvy. The more advanced applications require knowledge of

distributed objects and component infrastructures.

Most client/server solutions today are PC LAN implementation that is personalized for the group

that uses them. The Client/Server Computing has changed the way in which computers are being used.

This has a unique feature of having a strong foothold on the entire range of the computer industry.

“The client/server shape has become one of the critical ideas of network computing. Most business

applications use the client/server model. So does the Internet main program, TCP/IP. In marketing, the

term has been used to differentiate computing by smaller isolated computers from the massive

centralized computing of mainframe computers. But this characteristic has largely disappeared as

mainframes and their applications have also turned to the client/server model and become part of

network computing”.

Client/Server Page 5

Figure.1.1: Client/Server Shape

Source (javaword-2011)

Page 6: NCS

Networked Computer Systems 2011

The usual client/server model, one server, sometimes called a DAEMON, is activated and awaits

client requests. Typically, multiple client programs share the services of a common server program.

Both client programs and server programs are often part of a larger program or application. Related to

the Internet, your Web browser is a client program for an example that requests services, sending of

Web pages or files from a Web server which technically is called a Hypertext Transport Protocol or

HTTP server, in another computer somewhere on the Internet. Equally, your computer with TCP/IP

installed allows you to make client requests for files from File Transfer Protocol FTP servers in other

computers on the Internet.

The Client/Server computing is an environment that satisfies the business need by suitably allocating

the application processing between the client and the server processors. The protocol is the client

requests the services from the server; the server processes the request and returns the result to the client.

The communication mechanism is a message passing InterProcess communication (IPC) that enables the

distributed placement of the client and server processes. The Client/Server is the generic model and fits

what is known in the industry as the “cooperating processing” or “peer-to-peer”. The client/server

computing is fundamentally platform independent.

Client/Server Page 6

Page 7: NCS

Networked Computer Systems 2011

Chapter-2

Client/Server Characteristic

According to A. McGraw-Hill (1996).

“The Client/Server is an architecture in which the user's PC (client) is the requesting machine and

the server is the supplying engine, both of which are connected via a local area network (LAN) or a wide

area network (WAN) such as the Internet. Client/server was as applications were migrated from

minicomputers and mainframes with input/output terminals to networks of desktop computers.”

“By the time the Servers become powerful computers or processes dedicated to managing disk

drives like: (file server, print server, and network server). Beside the Client become as PC’s or

workstation can be run applications. Clients rely on servers for resource and processing power help.”

Based on Sue Smith, eHow Contributor (2010)

Characteristics

“A typical Client Server system will involve a program running on one machine, the server,

communicating with a program running on at least one other, and the client. The Web is the best known

example of this system. When you browse a website, your Web browser (the client) sends a message

request to the Web server on which the site is running. The server responds, normally with the content of

the page you requested, and your browser then displays this.”

Principles

“The basic principle of Client Server technology is that it allows resources to be used by multiple users

at any time. In an average system, the data and core information for an application will all be stored at the

server side. The clients provide access to this data, and many clients can have access to one server. Because

the data is stored only in one place, the resulting applications are easier to secure and maintain.”

Client/Server Page 7

Page 8: NCS

Networked Computer Systems 2011

Examples

“The advances in networking have had the effect of making Client Server applications widespread

today. As well as the Internet, and the vast number of applications that run on it, many organizations use

Client Server models in their database systems. Many different technologies are used to achieve Client

Server models. Some of the most common ways to build client and server programs for the Web include

HTML, JavaScript, and programming languages such as PHP and ASP.”

Benefits

“There are many benefits to using Client Server technologies. Applications using a data store are

better able to maintain their data if it is stored in one location, rather than being distributed along with

the other application parts. A substantial proportion of the communication tools and techniques,

including email and instant messaging, that are essential to today's industries and organizations would

not be possible without Client Server interaction.”

Considerations

“If you're planning to learn about Client Server technology for use in Web development, this will

involve learning one or more programming languages. You will first need to learn the basics of HTML

and client side technologies such as JavaScript. Server side programming usually involves a database,

and a program (written, for example, in PHP or ASP) running on the server, sending the data to the

client. Client Server technologies give you the ability to create dynamic, interactive and productive

experiences for visitors to your site.”

The logical entities of Client/Server

According to F. Soesianto and Ismail K. Ibrahim (1998)

• Service: client/server above all a relationship between processes running on split machines. The server

process is a supplier of services. The client is a consumer of services. Initial, client/server provides a clean

separation of function based on the idea of service.

• Shared resources: a server can service many clients at the same time and regulate their access to shared

resources.

Client/Server Page 8

Page 9: NCS

Networked Computer Systems 2011

• Asymmetrical protocols: there is many-to-one relationship between clients and server. Clients always

initiate the dialog by requesting a service. Services are passively awaiting requests from the clients. In some

cases a client may pass a reference to a callback object when it invokes a service. This lets the server call

back the client. So the client becomes the server.

• Transparency of location: the server is a process that can reside on the same machine as the client or

on a different machine across a network. Client/server software usually masks the location of the server

from the clients by redirecting the service calls when needed. A program can be a client, a server, or both.

• Mix-and-match: the ideal client/server software is independent of hardware or operating system

software platforms.

• Message-based exchange: clients and servers are loosely coupled systems that interact through a

message-passing mechanism. The message is the delivery mechanism for the service request and replies.

• Encapsulation of services: the server is a “specialist.” A message tells a server what service is

requested; it is then up to the server to determine how to get the job done. Servers can be upgraded without

affecting the clients as long as the published message interface is not change.

• Scalability: client/server systems can be scaled horizontally and vertically. Horizontal scaling means

adding and removing client workstation with only a slight performance impact. Vertical scaling means

either migrating to a larger and faster server machine or distributing the processing load across multiple

servers.

• Integrity: the server code and server data is centrally managed; which results in cheaper maintenance

and the guarding of shared data integrity. At the same time, the clients remain personal and independent

Client/Server Page 9

Page 10: NCS

Networked Computer Systems 2011

Merits and Demerits of the Client Server

The Merits of Client/Server ComputingAccording to scripd.com (2010)

“Client/server computing provides the capability to use the most cost-effective user interface, data

storage, connectivity, and application services. Frequently, client/server products are deployed within the

present organization but are not used effectively”.

The client/server model provides the technological means to use previous investments in concert with

current technology options. Organizations look into opportunities to use technology to provide business

solutions. Service and quality competition in the marketplace further increases the need to take advantage of

the benefits available from applications built on the client/server model.

Client/server computing in its best implementations moves the data-capture and information-processing

functions directly to the familiar worker that is, the worker with the ability to respond to errors in the data,

and the worker with the ability to use the information to make it available.

Enhanced Data Sharing

Data that is collected as part of the normal business process and maintained on servers immediately that

would be available to all authorized users.

The use of Structured Query Language (SQL) to define and manipulate the data provides support for

open access from all client processors and software.

SQL provide to all authorized users access to the information through a view that is constant with their

business need. Transparent network services ensure that the same data is available with the same

currency to all designated users.

Client/Server Page 10

Page 11: NCS

Networked Computer Systems 2011

The Demerits of Client/Server Computing

Traffic congestion on the network has been an issue. As the number of simultaneous client requests to a

given server increases, the server can become strictly overloaded. Contrast that to a P2P (Peer to Peer)

network, where its bandwidth actually increases as more impasse are added, since the P2P network's overall

bandwidth can be generally computed as the sum of the bandwidths of every impasse in that network.

The client-server model lacks the robustness of the good P2P network. Under client-server, should a

critical server fail, clients’ requests cannot be fulfilled. In P2P networks, resources are usually distributed

among many pitfalls. Even if one or more pitfall depart and discard a downloading file, for example, the

remaining nodes should still have the data needed to complete the download.

Client/Server Page 11

Page 12: NCS

Networked Computer Systems 2011

Chapter-3

Client/server architecture

Types of network architecture

According to Client/Server architecture, www.sei.cmu.edu

“Another type of network architecture is known as a peer-to-peer architecture because each end point

has equivalent responsibilities. Both client/server and peer-to-peer architectures are widely used, and each

has unique advantages and disadvantages. Client-server architectures are sometimes called two-tier

architectures.

The leader of the client/server architecture does not use the terms fat client and the fat servers, unlike

they refer to them are 2-tier, 3-tier and N-tier client/server architecture. This is the means by which they are

functionally split or divided. The functional units contain of user interface, business logic and the shared

data.”

2-tier Client/Server Architecture

“2-tier software architecture is a file server software architecture design. The two-tier architecture

purpose is to improve usability by supporting a (forms-based), user-friendly interface. The two-tier

architecture improves expansion by accepting up to 100 users on time (file server architectures only

accepting a dozen of users). It also offers flexibility by allowing data to be shared, usually within a

homogeneous environment. The two-tier architecture requires minimal operator intermediation, and it’s

frequently used in non-complex, non-time critical information processing systems.”

Client/Server Page 12

Page 13: NCS

Networked Computer Systems 2011

Two tier architectures consist of three components distributed in two layers: client (requester of

services) and server (provider of services).

The three components are:

1. User System Interface (such as session, text input, dialog, and display management services).

2. Processing Management (such as process development, process enactment, process monitoring, and

process resource services).

3. Database Management (such as data and file services).

The two-tier design allocates the user system interface exclusive to the client. It places database

management on the server and splits the processing management between client and server, and creating two

layers.

The application logic is presenting at the client side within the user interface or it may be present within

the database on the server or on the both. It is most popular because of its simplicity. These applications can

be quickly built by using visual builder tools. This can be used for developing applications for decisions

support system of small-scale groupware or may build a simple web publishing applications.

Client/Server Page 13

Figure 3.1 / 2-tier Client/ Server Architecture

Source (images.yourdictionary, client/serverimages-2011)

Page 14: NCS

Networked Computer Systems 2011

Advantages Disadvantages

Fast application development time. Not suitable for dispersed, heterogeneous

environments with rapidly changing business rules.

Available tools are robust and lend themselves to

fast prototyping to insure user needs a met

accurately and completely.

Because of the bulk the application on logic is on the

client, there is a problem of the client software

version control and new version redistribution.

Conducive to environments with homogeneous

clients, homogeneous applications, and static

business rules.

Security can be complicated because the user may

require separate password for each SQL server

accessed.

3-tier Client/Server ArchitectureAccording to Client/Server architecture, www.sei.cmu.edu

“The three-tier software architecture is the limitations of the two-tier architecture. The third tier (middle

tier server) is between the user interface (client) and the data management (server) setup.

This middle tier provides a process management that business logic and rules are executed and would be

able to accommodate hundreds of users (as compared to only 100 users with the two tier architecture) by

providing functions such as queuing, application execution, and database staging.”

Client/Server Page 14

Figure 3.2 / 3-tier Client/ Server Architecture

Source (images.yourdictionary, client/serverimages-2011)

Page 15: NCS

Networked Computer Systems 2011

The 3-tier alternate a few servers calls for many SQL queries and updates so that can performs much

better than the 2-tier. The three tier divided client/server architecture to include user system where user

services are (such as session, text input, dialog, and display management).

The Main differences between 3-tier architecture and 2-tier architecture

Based on Prof. Sanjeev Setia, and McGraw-Hill (1996)

“Two-tier architecture is client/server architecture, where a request to do some task and sent it to the

server and the server responds by performing the task. Three-tier or multi tier architecture has client/server

and database. Where the client request is sent to the server and the server turn to sends the request to the

database. The database sends back the information data that been required to the server which in turn sends it

to the client. In the modern two-tier architecture the server holds both the applications and the data. The

applications reside on the server rather than the client, probably because the server will have more processing

power and disk space than the PC.

In the three-tier architecture the data and applications are split onto separate servers with the server-side

distributed between a database server and an application server. The client is facing the end, simply

requesting and displaying data. Reason being that each server will be dedicated to processing either data or

application request, hence a more manageable system and less contention for resources will occur.”

Client/Server Page 15

Page 16: NCS

Networked Computer Systems 2011

Advantages Disadvantages

A change from one DBMS to other will only

involve a change to the part in the data access

layer.

Creates an increased need for network traffic

management, server load balancing, and fault

tolerance.

A change in the Use Interface (from desktop to the

web, will need only some changes in the

components of the presentation layer.

Current tools are relatively immature and are more

complex.

It has better wait balancing system because the

entire work load is divided.

Maintenance tools are currently inadequate for

maintaining server libraries. This is a potential

obstacle for simplifying maintenance and promoting

code reuse throughout the organization.

Security polices can be imposed without effecting

the clients.

N-Tier Architecture

According to James Yang (2004)

“This is a very important topic to consider when developing an application. Many elements need to be

considered when deciding on the architecture of the application, such as performance, scalability and future

development issues. When you are deciding on which architecture to use, first decide on which of the three

aforementioned elements you think is most valuable as some choices you make will impact on others. For

example, some choices that boost performance will impact on the scalability or future development of your

design.”

Usually N-Tier Architecture begins as a 3-Tier model and is expanded. It provides finer granularity.

Granularity is the ability of a system, in this case, an application, to be broken down into smaller components

or granules. The finer the granted the greater the flexibility of a system. It can also be referred to as a

system’s modularity. Therefore, it refers to the pulling apart of an application into separate layers or finer

grains.

Client/Server Page 16

Page 17: NCS

Networked Computer Systems 2011

“In software engineering, 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. The most widespread use of "multi-tier architecture" refers to

three-tier architecture.”

Client/Server Page 17

Figure 3.3 / N-tier Client/ Server

Source (stackoverflow, N-Tier architecture-2008)

Page 18: NCS

Networked Computer Systems 2011

Client model

Based on InfoDev.biz, Client model (2011)

“A client is the requesting program or user in a client/server relationship. For example, the user of a

Web browser is effectively making client requests for pages from servers all over the Web. The browser

itself is a client in its relationship with the computer that is getting and returning the requested HTML file.

The computer handling the request and sending back the HTML file is a server.”

“A client is an application or system that accesses a remote service on another computer system, known

as a server, by way of a network. The term was first applied to devices that were not capable of running their

own stand-alone programs, but could interact with remote computers via a network. These dumb terminals

were clients of the time-sharing mainframe computer.”

“The client–server model is still used today. Client and server can run on the same machine and connect

via UNIX domain sockets. Using Internet sockets a user may connect to a service operating on a possibly

remote system through the Internet protocol suite. Servers set up listening sockets, and clients initiate

connections that a server may accept. Web browsers are clients that connect to web servers and retrieve web

pages for display. Most people use email clients to retrieve their email from their internet service provider's

mail storage servers. Online chat uses a variety of clients, which vary depending on the chat protocol being

used. Multiplayer online games may run as Game Clients on each local computer.”

“Increasingly, existing large client applications are being switched to websites, making the browser a

sort of universal client. This avoids the hassle of downloading a large piece of software onto any computer

you want to use the application on. An example of this is the rise of webmail.”

“In personal computers and computer workstations, the difference between client and server operating

system is often just a matter of marketing - the server version may contain more operating system

components, allow more simultaneous logins, and may be more expensive, while the client version may

contain more end-user software.”

Client/Server Page 18

Page 19: NCS

Networked Computer Systems 2011

Types

Clients are generally classified as either "fat clients", "thin clients", or "hybrid clients".

Client Types Local Storage Local Processing

Fat Client Yes Yes

Hybrid Client No Yes

Thin Client No No

Fat

a fat-with low-fat client, also known as a rich-poor client or thick-thin clientthe personal computers or

laptops can operate independently. Programming languages and/or development tools for rich clients

typically include Delphi, .NET Framework, Java and Visual Studio.

Thin

a thin client is a minimal sort of client. Thin clients use the resources of the host computer. A thin client's job

is generally just to graphically display pictures provided by an application server, which performs the bulk of

any required data processing. Programming environments for thin clients include JavaScript/AJAX (client

side automation), ASP, JSP, PHP and other (depends on server-side backend and uses HTML pages or rich

media like Flash, Flex or Silver light on client).

Hybrid

a hybrid client is a mixture of the above two client models. Similar to a fat client, it processes locally, but

relies on the server for storage data. This approach offers features from both the fat client (multimedia

support, high performance) and the thin client (high manageability, flexibility). The arrival of technologies

such as Java allows hybrid clients the high performance required even for multimedia applications, with the

data stored in the Cloud.

Client/Server Page 19

Page 20: NCS

Networked Computer Systems 2011

Advantages Disadvantages

Centralized - Resources and data security are controlled through the server.

Can have a single point of failure.

Scalability - Any or all elements can be replaced individually as needs increase.

Server can get overloaded.

Flexibility - New technology can be easily integrated into system.

Generally more expensive and difficult to set up initially.

Interoperability - All components

(client/network/server) work together.

Server Model

Based on Pardeep, Types of Server (2005)

“A Server is a computer or device on a network that manages network resources. For example, a file server is a computer and storage device dedicated to storing files Any user on the network can store files on the server. A print server is a computer that manages one or more printers and a network server is a computer that manages network traffic.”

“Servers are often dedicated, meaning that they perform no other tasks besides their server tasks. On

multiprocessing operating systems however, a single computer can execute several programs at once. A

server in this case could refer to the program that is managing resources rather than the entire computer.

Sometimes referred to as a type of middleware, application servers occupy a large chunk of computing

territory between database servers and the end user, and they often connect the two.”

Types

File Server• File Servers are useful for sharing information across the network

• The client passes a request for file records over a network to the file server.

Client/Server Page 20

Page 21: NCS

Networked Computer Systems 2011

• This is the most primitive type of data service used for exchanging messages over the network to find

the requested data.

• The file servers provide access to the remote server processors. In the typical implementation the

software, shared data, databases and backups are stored on disk, tape and optical storage devices that are

managed by the file server.

Database Server

• The client passes the SQL requests as messages to the database server; the result of each SQL command

is returned over the network.

• The code, which processes the SQL request and the data, reside in the same machine, the server uses its

own processing power to find the requested data back to the client, instead of passing all the records back to

the client. This results in a much more efficient use of the distributed processing power.

• Note that the application code held on the client; thus you must either write code for the client or you

can buy a shrink-wrap query tool to work on.

Client/Server Page 21

Figure 3.4 / Client/Server with a File Server

Source (blogs.technet, High Availability Scenarios-2011)

Page 22: NCS

Networked Computer Systems 2011

• The database servers provide the foundation for decision support systems and also provide a key role in

data storage.

Transaction Servers

• The client can appeal to remote procedure or services that reside on the server with an SQL database

engine using the transaction server.

• The network exchange consists of a single request/ reply. The SQL statements either all succeed or

fail as a unit through the network.

• These groups of SQL statements are called transactions.

• With a transaction server you can create the client/server application by writing the code for both the

client and the server assembled.

• The client assembled usually includes the Graphical User Interface (GUI), the server component

consists of SQL transaction against a database. These applications are called Online Transaction

Processing or (OLTP).

• The OLTP are mission-critical applications that require a very less response time between 1 to 3 sec

per transaction.

• The OLTP applications also require tight controls over the security and integrity of the database.

• It has two forms.

Client/Server Page 22

Figure 3.5 / Client/Server with the Database Servers

Source (channeldb2, security study material week2-2011)

Page 23: NCS

Networked Computer Systems 2011

TP-Lite: based on the stored procedures provided by database trader.

TP-Heavy: bases on the TP Monitors which is provided by OLTP trader.

At any place access to company via LAN, or WAN Internet, almost everyone works as client/server

environment. However, to be true client/server, both client and server must share and work in business

processing. The Internet revolves around the client-server architecture. Your computer runs software called

the client and it interacts with software known as the server located at a remote computer. The client is

usually a browser such as Internet Explorer, Netscape Navigator or Mozilla and other different website

Browsers. Browsers interact with the server using a set of commands called protocols. These protocols help

to be accurate transfer of data through requests from a browser and responses from the server. There are

many protocols available on the Internet. The World Wide Web, which is a part of the Internet, brings all

these protocols under one roof. You can use HTTP, FTP, Telnet, email etc. from one platform through your

Client/Server Page 23

Figure 3.6 / Client/Server with the Transaction Servers

Source (Google.com-2011)

Page 24: NCS

Networked Computer Systems 2011

Browsers. Client-server software architecture is various uses and flexible in today’s fast-changing IT field.

It is paradigm in structure and relies on messaging services for communication between components. They

were designed to improve flexibility, usability, scalability, and interoperability. Software flexibility implies

the ability for a program to change easily according to different users and different system requirements.

Application Architecture

Application architecture is the organizational design of an entire software application, including all sub-

components and external applications interchanges. There are several design patterns that are used to define

application architecture. These patterns help to communicate how an application will complete the

necessary business processes as defined in the system requirements.

A software application is a system designed to automate specific tasks in a logical manner to satisfy a set

of requirements. Software applications rely on underlying operating systems and databases to store and

perform tasks within the application. The application architecture is the drawing that defines how the

software application will interact with servers and components within the domains of application layers.

With the expansion of interoperability within software, modular components have been created that

specialize in particular areas of business processes within an application. Application architecture is the

process of defining all the components within the design and how they will communicate within the

application. This definition includes all layers of an application.

Storage Area Network (SAN)

In storage networking terminology, a Storage Area Network SAN is a high-speed sub network of shared

storage devices. A storage device is a machine that contains nothing but a disk or disks for storing data. A

SAN architecture works in a way that makes all storage devices available to all servers on a LAN or WAN

in the same time and equal processing.

As more storage devices are added to a SAN, they too will be accessible from any server in the larger

network. In this case, the server simply acts as a pathway between the end user and the stored data. Because

Client/Server Page 24

Page 25: NCS

Networked Computer Systems 2011

stored data does not reside directly on any of networks servers, server power is exploiting for business

applications, and network capacity is released to the end user.

Disadvantages of the Client Server Architecture

According to University of New Mexico: Disadvantages of Client-Server (2010)

Expense

“Typically the central server computer must be enough powerful to maintain and share resources with

other computers on the network. This entails require a high cost.

Dependence

The client/server network model count on the function and available centralized server. If the centralized

server is removed from the system anyway or goes down due to problems, the entire network cannot

function or work. However many client/server networks now have backup servers to provide supports when

the main server is lost or down working.

Congestion

Centralized servers must handle the majority of the network traffic, as all queries for resources are

directed toward the server. This can cause network congestion on the network and slow down response

times for each computer available.

Maintenance

Client-server networks often require 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.”

Client Server Architecture Advantages

Based on University of New Mexico: Disadvantages of Client-Server (2010)

Client/Server Page 25

Page 26: NCS

Networked Computer Systems 2011

Centralized Network Access Security

“In a client-server network security is managed centrally, and security information such as user account

names, passwords and computer names, are all stored in a database on a server. When a user turns on a

computer, his username, password and the name of the computer that he is logged onto are sent to the

central server, which checks to see if that username and password match up and if the computer is a valid

computer on the network.”

Distribution of Resources

“Client-server network architecture allows different networks resources to be distributed among multiple

servers. Client users are allowed access only to the servers that contain data needed for them to perform

their work. Without a client-server network, IT staff would have to keep every single server, including

backup servers, individually updated with user account information and levels of access to all of the

separate pieces of data on each server. It is very difficult to keep up security access information on a

distributed server network such as this without client-server architecture.”

Ease of Management

“Major software manufacturers, such as Microsoft have a network management interfaces that are easy-

to-use and allow IT technicians to make security updates to the security database from a computer in any

location that has network access to the server hosting the database. Without a client-server network in place,

IT staff would have to make security updates on each individual computer affected by the security changes

being applied. Human error in this case may lead to a lack of network access for some users. These users

may find that they are unable to work until IT staffs are able to identify exactly which computer needs to

have its security information reapplied before they can schedule a time to make the necessary changes.”

Client/Server Page 26

Page 27: NCS

Networked Computer Systems 2011

Chapter 4

Requirements for the implementation of Client/Server

The requirements is the tools and methods that we need to implement a project or an structure to lead us

into the right direction that we are looking to succeed the plan, moreover the requirements needs experts

people to implement any technology within a study of the consequence that could happen if the

implementation goes wrong somehow. And to study the location and the right tools that will be appropriate

for the implementation without any obstacle.

According to Martinka (1995)

“Designing and building the distributed applications is a risky assignment without any modeling

environment and experience. The techniques used in the past few years to design and manage monolithic

applications are inadequate. A system model is no longer optional. This article highlights a critical need for

the performance modeling in the area of client/server application design and management. It defines the

functionality required in these models.”

Client-Server Requirements

Based on University of New Mexico: Hardware & Software Requirements for Client Server Computing (2011)

Network Interfaces

“Both the host and the client must have compatible network interfaces in order to communicate via a

client-server network. A network interface also called network adapter, consists of hardware and software

which allow the interface to communicate with the physical network, and the operating system to

communicate with the interface. This consists of the interface hardware usually a PCMIA card, USB or

Serial device, the firmware which runs the card embedded software on the hardware itself, and the operating

Client/Server Page 27

Page 28: NCS

Networked Computer Systems 2011

system driver to communicate with the device. Commercial network interfaces come standard with all

required hardware, firmware and driver software.”

Routing Infrastructure

“The routing infrastructure which consists of network cable, wireless access points, routers and

backbone Internet links, is critical to a Wide-Area Network (WAN) client/server model. Client traffic is

routed through digital highways made up of network and fiber optic cable to the server, and back from the

server to complete data exchange. The routing infrastructure allows each server and client to have an

address usually an IP address, and to be uniquely located on the network.”

Network Protocol Establishment

Network protocols establish common methods of communications between clients and servers, much

like languages for humans. The difference in computer network protocols is that each data packet chunk of

data contains a header with address information similar to a postal envelope. Network protocols also

establish which computer is the client or the server to sends data first, and what type of data need to sent at

each point in the exchange. Most common data protocols are established under the ISO (Internet Standards

Organization), therefore network device and software manufacturers frequently follow these standards.”

Communication Software

“Finally software tools drive the automatic communication between client and server. Most worthy

among communications software are web browsers, such as Internet Explorer, Safari and Firefox, and email

clients such as Microsoft Outlook, Mozilla Thunderbird or Apple Mail. Communication software simplifies

client-server network exchange by providing a user interface (UI) and by automating the encapsulate into

packets for transmission on the network much like the post office verifies the address and applies necessary

labeling to postal mail.”

Client/Server Page 28

Page 29: NCS

Networked Computer Systems 2011

Client/Server implementation environment

In science and engineering the system is part of the universe that is being studied, while the environment

is the remainder of the universe that lies outside the boundaries of the system. It is also known as the

surroundings, and in thermodynamics, as the reservoir. Depending on the type of system, it may interact

with the environment by exchanging energy including heat and work, electric charge, or other conserved

properties. In some discipline, such as information theory, information may also be exchanged. The

environment is involved in analysis of the system.

According to (msdn.microsoft.com, Client and Server Environment-2011)

“Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) relies on several

components in the client and server environments to exchange data between a device and an instance of

Microsoft SQL Server. The following illustration shows the relationships among the different client and

server components.

Client/Server Page 29Figure 4.1 / Client and Server Environment

Source (msdn.microsoft, Client and Server Environment - 2011)

Page 30: NCS

Networked Computer Systems 2011

Client Environment

The client environment is made up of the applications and SQL Server Compact Edition. The

application is developed using the .NET Compact Framework and a Microsoft Visual Studio 2005 language

such as Microsoft Visual Basic or Microsoft Visual C#, or by using Microsoft Visual C++ for Devices.

SQL Server Compact Edition includes tools for setup, configuration, connectivity, and data access and

modification; a query processor; a database storage engine; and programming APIs used to develop

applications that access SQL Server Compact Edition data. It also includes

SQL Server Compact Edition Database Engine.

The SQL Server Compact Edition Database Engine manages the SQL Server Compact Edition data store

on supported devices. The Database Engine can track all database records that are inserted, updated, or

deleted by maintaining a small amount of change tracking information with each record. The tracking

functionality is enabled when you use one of the two connectivity solutions: replication or remote data

access (RDA).

SQL Server Compact Edition Client Agent

The SQL Server Compact Edition Client Agent is the primary component for connectivity on the supported

devices. It implements the following custom SQL Server Compact Edition objects:

Replication object

Remote Data Access object

Engine object

By using these objects in your application, you can programmatically control connections to SQL Server.

Client/Server Page 30

Page 31: NCS

Networked Computer Systems 2011

Server Environment

The server environment is made up of SQL Server Compact Edition Server Agent, Microsoft Internet

Information Services (IIS), and SQL Server. The SQL Server Compact Edition Server Agent handles the

HTTP requests made by the SQL Server Compact Edition Client Agent. The SQL Server Compact Edition

Server Agent connects to SQL Server and returns the data and schema information to the SQL Server

Compact Edition Client Agent through HTTP. Additional SQL Server connectivity components are

involved in this process. They are also located on the computer that runs IIS, although they are not shown in

the previous illustration.

IIS

IIS provides integrated Web server capabilities. Organizations of all sizes use IIS to host and manage

Web pages on the Internet or on their intranet, to host and manage FTP sites, and to route news or mail by

using the Network News Transport Protocol (NNTP) and the Simple Mail Transfer Protocol (SMTP). When

used with SQL Server Compact Edition, IIS provides the protocol by which devices can connect to servers

for transferring and exchanging data by using RDA or replication technologies.

Microsoft SQL Server

SQL Server is a set of components that work together to meet the data storage and analysis needs of the

largest Web sites and enterprise data processing systems. It includes relational data management, data

warehousing, and business intelligence components. SQL Server Compact Edition supports familiar SQL

syntax and provides a development model and API consistent with SQL Server 2000 and later versions.

Client/Server Page 31

Page 32: NCS

Networked Computer Systems 2011

Conclusion

The client/server process is between two PCs the first one is make the request and the other fulfils up the

request. Companies are using the client/server because it does arrange the organization function. Choosing

the correct client/server implementation in different environment is essential part to get an effective working

system. With effective information system organization will be able to run the business effectively and

efficiently. Correct design and implementation of client/server system in particular environment ensures that

the system is able to provide services to clients continuously without decrease the performance. In the

future, it is intended to add new services such as product customization where customers in the soon future

will be able to build their own car design according to their specifications and desires. It will be on reality as

the human kind accepts the principles of life needs.

Reference http://www.answers.com/topic/client-server-technology http://www.exforsys.com/tutorials/client-server/client-server-architecture.html http://www.wisegeek.com/what-is-client-server-architecture.html http://www.webopedia.com/TERM/C/client_server_architecture.html web.simmons.edu

www-bcf.usc.edu matrex.sourceforge.net http://www.ehow.com/facts_6973946_difference-peer-client-server-networks.html http://www.answers.com/topic/environment-systems#ixzz1KRVLkw5W http://msdn.microsoft.com/en-us/library/ms172075%28SQL.90%29.aspx http://www.ehow.com/about_6498339_client-server-technology.html

Client/Server Page 32

Page 33: NCS

Networked Computer Systems 2011

http://www.developerfusion.com/article/3058/boosting-your-net-application-performance/2/ http://stackoverflow.com/questions/312187/what-is-n-tier-architecture http://www.infodev.biz/Clients.html http://www.go4expert.com/forums/showthread.php?t=325

Appendices

Work Breakdown Structure

Level-1 Level-2 Level-3 Level-41. Chapter-1 1.1-Introduction.2. Chapter-2 2.1-Client/Server

Characteristic.2.1.1-The logical entities of Client/Server.

2.1.2-Merits and Demerits of the Client Server.

2.1.1.1The Merits of Client/Server Computing.

2.1.1.2The Demerits of Client/Server Computing.

3. Chapter-3 3.1-Client/server architecture.

3.1.1-Types of network architecture.

3.1.2-Client model.

3.1.3-Server Model.

3.1.1.1-2-tier Client/Server Architecture.

3.1.1.2-3-tier Client/Server Architecture.

3.1.1.3-The Main differences between 3-tier architecture And 2-tier architecture.

3.1.1.4-N-Tier Architecture.

3.1.2.1-Types.

3.1.2.2-Advantages.

3.1.2.3-Disadvantages.

3.1.2.4-Types.

Client/Server Page 33

Page 34: NCS

Networked Computer Systems 2011

3.1.4-Disadvantages of the Client Server Architecture.

3.1.5-Client Server Architecture Advantages.

4. Chapter 4 4.1-Client-Server Requirements.

4.2-Client/Server implementation environment.

4.1.1-Network Interfaces.

4.1.2-Routing Infrastructure.

4.1.3-Network Protocol Establishment.

4.1.4-Communication Software.

4.2.1-Client Environment.Server Environment.

Client/Server Page 34