Sei sulla pagina 1di 58

Client Server Computing

Ch 1,2 of syllabus

The Good Old Days .


In Olden days Mainframes were used .

What are Mainframes ?


A mainframe is simply a very large computer The name comes from the way the machine is build up. All units (processing, communication etc.) were hung into a frame. Thus the maincomputer is build into a frame, therefore: Mainframe

Mark I mainframe (1950's)

Mainframes are used :

used mainly by large organizations for critical applications, typically bulk data processing such as census, industry and consumer statistics, ERP, and financial transaction processing. To run commercial applications of Fortune 1000 businesses and other large-scale computing purposes. Banking and insurance businesses

A computer Vs a Mainframe

A mainframe has 1 to 16 CPU's (modern machines more) Memory ranges from 128 Mb over 8 Gigabyte on line RAM Its processing power ranges from 80 over 550 Mips

It has often different cabinets for

Separate processes (program) for


Storage I/O RAM

task management program management job management serialization catalogs inter address space communication

Mainframes

Choose a vendor . Analyst supervise it and set proper Operating System . Data Communication Specialist . Storage Specialists :hook up frames disk & tape drives Maintenance & System Management build in every component .

After Revolution ..

World of Client/Servers and Open systems . Choice for each and every component . Mix and Match Components .

Chapter 2 Welcome to C/S Computing


Real Client /Server Vision

Client /Server Computing provides an open and flexible environment . Mix and Match is the rule . Client applications are on PCs/Desktops. Servers know how to communicate with PC client .

Internet and Intranet

The WWW is redefining Client /Server Computing . Corporate LANS and WANS are becoming part of Internet . Extranet is used .

Refers to an intranet that is partially accessible to authorized outsiders . Intranet resides behind a firewall

It is accessible only to people who are members of the same company or organization An Extranet provides various levels of accessibility to outsiders. Virtual Private Networks (VPNs) is technology to tunnel through the public network.

Enterprise Resource Planning systems (ERPs) integrate all data and processes of an organization into a unified system. A typical ERP system will use multiple components of computer software and hardware to achieve the integration. A key ingredient of most ERP systems is the use of a unified database to store data for the various system modules

ERP Client/Server Craze

ERP applications are provided by companies like SAP,PeopelSoft,Oracle etc. They provide packaged Client/Sever solution for back office enterprise functions . Give solution for Accounting ,Payroll, human Resources .

Provide Single user Interface . All pieces from same vendor to get integration .

ERP sys are not really turn key

It gives 80% solution .

ERP requires re-engineering of company's process and culture .

Change operations to match ERP package .

ERP must be integrated with rest of environment .

Built Infrastructure that ties with new ERP package .(Database,Web-serversLAn based app.)

ERP dont give competitive advantage .

What is Client/Server ?
Clients and Servers are two separate logical entities that work together over a n/w to accomplish a task .

Characteristics for Client /Server Systems .

Service
A client is defined as a requester / consumer of services and a server is defined as the provider of services .

Shared Resources

A Server provides service/s to many clients at a time . Regulate access to shared resources

Asymmetrical protocols

Many-to-one relationship between Clients and servers. Client gives request . The server responds to data (and application) requests from the client .

Transparency of Location

A single machine can be both a client and a server depending on the software configuration . Server is a process that can reside on same m/c as that of client . It can reside on different m/c on network.

Mix and Match


Ideal Client/Server s/w is independentof h/w & OS. (e.g. Internet ) Message Based Exchange. Interaction through message Passing Mechanism

Scalability C/S System can be scaled in two ways : Horizontal: Adding /Removing clients without much impact on performance . Vertical :Migrating to larger /faster server .

File servers

Real C/S?

Store the files that are created by the network users. They also store applications such as word processing programs, spreadsheets etc. Users can access parts of a file server's hard disk which will appear as an extra drive on their own computer. Applications can either be run from the fileserver, or they can be downloaded to the user's workstation

Used for sharing files on n/w . They are required for creating shares storage for documents, images , Engg.drawing .

Database Servers .
A computer in a LAN dedicated to database storage and retrieval. The database server is a key component in a client/server environment. It holds the database management system (DBMS) and the databases. Upon requests from the client machines, it searches the database for selected records and passes them back over the network.

Client passes SQL requests as messages to the database server . Code processes SQL request & the data reside on the same m/c. Plays key role for important queries & flexible reports .

Groupware Servers

A groupware server is software designed to enable users to collaborate, regardless of location, via the Internet or a corporate intranet and to work together in a virtual atmosphere . These Client/Server systems place people in direct contact with other people . Lotus Notes, Microsoft Exchange .

In most cases ,applications are developed using scripting language & form-based i/fs . Many Groupware uses E-mail as their standard messing middleware . Internet is becoming middleware platform for groupware .

Transaction Server

Client invokes remote procedures that reside in server . These remote procedures on server execute a group of SQL Statements . N/W exchange consist of single request/reply . SQL statements either succeed or fail . These grouped SQL statements are called transactions .

Client component usually includes GUI Server consists of SQL Transactions against a data base . These are called Online Transaction Processing .

Object Application Servers

Client/Server Application is written as a set of communication objects . Client objects communicate with server object using Object Request Broker. (ORB) Client invokes a method on a remote object . The ORB locates an instance of that object server class .

There are currently two prominent distributed object technologies:

Common Object Request Broker Architecture (CORBA) COM/DCOM

Web Application Server

A web server serves web pages to clients across the Internet or an Intranet. The web server hosts the pages, scripts, programs, and multimedia files and serves them using HTTP, a protocol designed to send files to web browsers and other protocols. Web Server returns documents when client asks them by name .

The most common web server is Apache (available for all major operating systems) though IIS (Internet Information Server - available on the Windows Platform) is a fast growing web server.

FAT server /FAT Client


C/S applications can be differentiated by how the application is split between client & server.

FAT Client:

A Client that performs the bulk of the data processing operations. The data itself is stored on the Server . FAT Client places more functions on Client . Client performs the bulk of any data processing operations itself . Provide flexibility & opportunity for creating Front end tools

FAT Server

A server in a client/server environment that performs most or all of the application processing with little or none performed in the client . FAT server application are easier to manage &deploy on n/w bcos most of the code runs on server .

Fat Client Examples

File Server

Fat Server Examples

Groupware, Transaction ,Web server

Different Architectures basically split Client/Server applications into different functional units that can be assigned to clients or servers .

2 Tier Architecture

A two-way interaction in a client/server environment, in which the user interface is stored in the client and the data are stored in the server .

In 2 tier C/S System application logic is buried either inside the user i/f on client or within database on server.

Application logic & business logic reside on Client m/c . Database runs on the server computer.

The method that's most commonly used is the Structured Query Language (SQL). The SQL statement is sent to the database server, which performs the work locally on that physical computer and returns only the relevant information (the answer) to the client PC . Only the database services are separated from the application in a two-tier design. The presentation and business logic layers remain very intertwined, and both continue to have intimate knowledge of the database.

Three Tier Architecture .

A three-tier architecture is any system which enforces a general separation between the following three parts: Client Tier or user interface Middle Tier or business logic Data Storage Tier

Tier 1: the client contains the presentation logic, including simple control and user input validation. This application is also known as a thin client. Tier 2: the middle tier is also known as the application server, which provides the business processes logic and the data access. Tier 3: the data server provides the business data. Advantages of a three-tier architecture:

It is easier to modify or replace any tier without affecting the other tiers. Separating the application and database functionality means better load balancing. Adequate security policies can be enforced within the server tiers without hindering the clients

Applied to web applications and distributed programming, the three logical tiers usually correspond to the physical separation between three types of devices or hosts:

Browser or GUI Application Web Server or Application Server Database Server (often an RDBMS or Relational Database)

In a three-tier client/server application, the presentation layer usually does not have intimate knowledge of the database.
Instead, the presentation layer communicates with its application server using a predifined message strategy.

Your browser knows absolutely nothing about the structure of the database at Amazon.com, for example but you are nevertheless able to interact with that database when you order a book. This is the result of well-defined Internet protocols that allow the client (the browser) to talk to an application server (a Web site).

Architec Pros ture One tier Simple Very high performance Self-contained Two Clean, modular tiers design Less network traffic Secure algorithms Can separate UI from business logic

Cons No networking --can't access remote services

Must design /implement protocol Must design/implement reliable data storage

Three tiers

Can separate UI, logic, & storage Reliable, replicable data Concurrent data access via transactions Efficient data access

Need to buy database product Need to hire DBA Need to learn new language (SQL) Object-relational mapping is difficult

N-tier Architecture

N-Tier architecture refers to the architecture of an application that has at least 3 "logical" layers -- or parts -- that are separate. Each layer interacts with only the layer directly below, and has specific function that it is responsible for. Because each layer can be located on physically different servers with only minor code changes, hence they scale out and handle more server load.

A good example of a n-tier distributed application is a stock-trading system. In this environment, multiple data feeds (stock quotes, news, trading orders) arrive from different sources, multiple databases (accounts, logs, historical data) are accessed, and multiple clients run specialized applications. It makes sense to weave together the disparate patches in this quilt with the thread of a common distributed object architecture, like CORBA or EJB.

Benefits of using middle layer as a component based application

Big applications can be developed as small ones . Application can reuse components Clients can access data & functions easily & safely .

When should 3 tier be used ?

Many applications services or classes more than 50 Applications programmed in different languages or written by different organizations . Two /more heterogeneous data sources such as data base & a file system.

Potrebbero piacerti anche