chap 2.client server computing (ch1,2)
TRANSCRIPT
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
1/58
Client Server Computing
Ch 1,2 of syllabus
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
2/58
The Good Old Days .
In Olden days Mainframes were
used .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
3/58
What are Mainframes ?A mainframe is simply a very large computer
The name comes from the way the machine isbuild up.
All units (processing, communication etc.)were hung into a frame. Thus the
maincomputer is build into a frame, therefore:Mainframe
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
4/58
Mark I mainframe
(1950's)
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
5/58
Mainframes are used : used mainly by large organizations for critical
applications, typically bulk data processing such as
census,industry and consumer statistics, ERP, andfinancial transaction processing.
To run commercial applications of Fortune 1000businesses and other large-scale computing
purposes.
Banking and insurance businesses
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
6/58
A computer Vs a MainframeA mainframe has 1 to 16 CPU's (modern
machines more)
Memory ranges from 128 Mb over 8 Gigabyteon line RAM
Its processing power ranges from 80 over 550
Mips
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
7/58
It has often different cabinets for Storage I/O RAM
Separate processes (program) for task management program management job management serialization catalogs inter address space
communication
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
8/58
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 Managementbuild
in every component .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
9/58
After Revolution .. World ofClient/Servers and Open
systems .
Choice for each and every component .
Mix and Match Components .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
10/58
Chapter 2
Welcome to C/S ComputingReal Client /Server Vision
Client /Server Computing provides anopen and flexible environment .
Mix and Match is the rule .
Client applications are on PCs/Desktops. Servers know how to communicate with
PC client .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
11/58
Internet and Intranet The WWW is redefining Client /Server
Computing .
Corporate LANS and WANS are becoming partof Internet .
Extranet is used .
Refers to an intranet that is partially accessible toauthorized outsiders .
Intranet resides behind a firewall
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
12/58
It is accessible only to people who are membersof the same company or organization
An Extranet provides various levels ofaccessibility to outsiders.
Virtual Private Networks (VPNs) is technology totunnel through the public network.
http://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci213324,00.htmlhttp://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci213324,00.html -
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
13/58
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
14/58
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 theintegration.
A key ingredient of most ERP systems is the use ofa unified database to store data for the varioussystem modules
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
15/58
ERP Client/Server Craze ERP applications are provided by
companies like SAP,PeopelSoft,Oracle etc.
They provide packaged Client/Seversolution for back office enterprisefunctions .
Give solution for Accounting ,Payroll,human Resources .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
16/58
Provide Single user Interface .
All pieces from same vendor to get
integration .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
17/58
ERP sys are not really turn key
It gives 80% solution .
ERP requires re-engineering of company'sprocess and culture .
Change operations to match ERP package .
ERP must be integrated with rest ofenvironment .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
18/58
Built Infrastructure that ties with new ERPpackage .(Database,Web-serversLAn based app.)
ERP dont give competitive advantage .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
19/58
What is Client/Server ?
Clients and Servers are two separatelogical entities that work together over a
n/w to accomplish a task .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
20/58
Characteristics for Client /ServerSystems .
Service
A client is defined as a requester / consumer ofservices and a server is defined as the providerof services .
Shared Resources
AServer provides service/s to many clients at atime .
Regulate access to shared resources
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
21/58
Asymmetrical protocols
Many-to-one relationship between Clientsand servers.
Client gives request .
The server responds to data (andapplication) requests from the client .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
22/58
Transparency of Location
A single machine can be both a client
and a server depending on the softwareconfiguration .
Server is a process that can reside on
same m/c as that of client . It can reside on different m/c on
network.
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
23/58
Mix and Match
Ideal Client/Server s/w is independentof h/w & OS.
(e.g. Internet )Message Based Exchange.
Interaction through message Passing Mechanism.
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
24/58
Scalability
C/S System can be scaled in two
ways :Horizontal:Adding /Removing clientswithout much impact on performance .
Vertical :Migrating to larger /fasterserver .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
25/58
Real C/S?File servers
Store the files that are created by the networkusers.
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'sworkstation
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
26/58
Used for sharing files on n/w . They are required for creating shares storage
for documents, images , Engg.drawing .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
27/58
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 databasemanagement system (DBMS) and the databases.
Upon requests from the client machines, itsearches the database for selected records andpasses them back over the network.
Database Servers .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
28/58
Client passes SQL requests as messages tothe database server .
Code processes SQL request & the datareside on the same m/c.
Plays key role for important queries &flexible reports .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
29/58
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
30/58
Groupware Servers
A groupware server is software designed toenable users to collaborate, regardless of
location, via the Internet or a corporateintranet and to work together in a virtualatmosphere .
These Client/Server systems place people indirect contact with other people .
Lotus Notes, Microsoft Exchange .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
31/58
In most cases ,applications are developedusing scripting language & form-based i/fs .
Many Groupware uses E-mail as theirstandard messing middleware .
Internet is becoming middleware platform
for groupware .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
32/58
Transaction Server Client invokes remote procedures that reside in
server .
These remote procedures on server executea 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 .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
33/58
Client component usually includes GUI
Server consists of SQL Transactions against a
data base . These are called Online Transaction Processing .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
34/58
Object Application Servers
Client/Server Application is written as a set ofcommunication objects .
Client objects communicate with server objectusing Object Request Broker. (ORB)
Client invokes a method on a remote object .
The ORB locates an instance of that objectserver class .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
35/58
There are currently two prominentdistributed object technologies:
Common Object Request BrokerArchitecture (CORBA)
COM/DCOM
http://www.sei.cmu.edu/str/descriptions/corba.htmlhttp://www.sei.cmu.edu/str/descriptions/corba.htmlhttp://www.sei.cmu.edu/str/descriptions/corba.htmlhttp://www.sei.cmu.edu/str/descriptions/corba.html -
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
36/58
Web Application Server
Aweb server serves web pages to clientsacross the Internet or an Intranet.
The web server hosts the pages, scripts,programs, and multimedia files and servesthem using HTTP, a protocol designed to
send files to web browsers and otherprotocols.
Web Server returns documents
when client asks them by name .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
37/58
The most common web server is
Apache (available for all major operatingsystems) though IIS (InternetInformation Server - available on theWindows Platform) is a fast growing
web server.
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
38/58
FAT server /FAT Client
C/S applications can be differentiated by how theapplication is split between client & server.
FAT Client:
A Client that performs the bulk of the dataprocessing operations. The data itself is stored onthe 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
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
39/58
FAT Server
A server in a client/server environment that
performs most or all of the applicationprocessing with little or none performed in theclient .
FAT server application are easier to manage&deploy on n/w bcos most of the code runs onserver .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
40/58
Fat Client Examples
File Server
Fat Server Examples
Groupware, Transaction ,Web server
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
41/58
Different Architectures basically splitClient/Server applications into different
functional units that can be assigned to clientsor servers .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
42/58
2 Tier Architecture
A two-way interaction in a client/serverenvironment, in which the user interface is
stored in the client and the data are stored inthe server .
In 2 tier C/S System application logic is buried
either inside the user i/f on client or withindatabase on server.
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
43/58
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
44/58
Application logic & business logic reside
on Client m/c . Database runs on the server computer.
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
45/58
The method that's most commonly used is theStructured Query Language (SQL).
The SQL statement is sent to the databaseserver, which performs the work locally onthat physical computer and returns only therelevant information (the answer) to the clientPC .
Only the database services are separated fromthe application in a two-tier design.
The presentation and business logic layersremain very intertwined, and both continue tohave intimate knowledge of the database.
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
46/58
Three Tier Architecture .
A three-tier architecture is any systemwhich enforces a general separation
between the following three parts: Client Tieror user interface
Middle Tieror business logic
Data Storage Tier
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
47/58
Tier 1: the client contains the presentation logic,including simple control and user input validation. Thisapplication is also known as a thin client.
Tier 2: the middle tier is also known as the applicationserver, 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
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
48/58
Applied to web applications and distributedprogramming, the three logical tiers usually
correspond to the physical separation betweenthree types of devices or hosts:
Browser or GUI Application
Web Server or Application Server Database Server (often an RDBMS or
Relational Database)
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
49/58
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
50/58
In a three-tier client/server application,the presentation layer usually does nothave intimate knowledge of thedatabase.
Instead, the presentation layercommunicates with its applicationserver using a predifined messagestrategy.
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
51/58
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
52/58
Your browser knows absolutely nothing aboutthe structure of the database at Amazon.com,
for example but you are nevertheless able tointeract with that database when you order abook.
This is the result of well-defined Internetprotocols that allow the client (the browser) totalk to an application server (a Web site).
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
53/58
Architecture
Pros Cons
One tier SimpleVery highperformance
Self-contained
No networking --can'taccess remote services
Twotiers
Clean, modulardesignLess network traffic
SecurealgorithmsCan separate UI from
business logic
Must design/implement protocolMust
design/implementreliable data
storage
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
54/58
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
55/58
N-tier Architecture
N-Tier architecture refers to the architecture of anapplication that has at least 3 "logical" layers -- or
parts -- that are separate. Each layer interacts withonly the layer directly below, and has specificfunction 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.
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
56/58
A good example of a n-tier distributedapplication is a stock-trading system.
In this environment, multiple data feeds(stock quotes, news, trading orders) arrivefrom different sources, multiple databases
(accounts, logs, historical data) areaccessed, and multiple clients run specializedapplications.
It makes sense to weave together thedisparate patches in this quilt with the threadof a common distributed object architecture,like CORBA or EJB.
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
57/58
Benefits of using middle layer as acomponent based application
Big applications can be developed as smallones .
Application can reuse components
Clients can access data & functions easily &safely .
-
7/27/2019 Chap 2.Client Server Computing (Ch1,2)
58/58
When should 3 tier be used ?
Many applications services or classesmorethan 50
Applications programmed in differentlanguages or written by differentorganizations .
Two /more heterogeneous data sourcessuch as data base & a file system.