Vous êtes sur la page 1sur 58

NMCA-E12 :

CLIENT SERVER
COMPUTING

Unit I:
Client/Server Computing

UNIT -1 SYLLABUS

Client/Server Computing:
DBMS

concept and architecture,


Single system image,
Client Server architecture,
Mainframe-centric client server computing,
Downsizing and client server computing,
Preserving mainframe applications investment
through porting,
Client server development tools,
Advantages of client server computing.

DEFINITION
Client/server describes the

relationship between two computer


programs in which one program,
the client, makes a service request
from another program, the server,
which fulfills the request.

PEER-PEER NETWORK
Computer Network in which each

computer in the network can act as


a client or server for the other
computers in the network, allowing
shared access to files and
peripherals without the need for a
central server

PEER-PEER NETWORK

DIS-ADVANTAGES
No

central server

No

centralization

Lacking
Back
Up

management

up and recovery possibility

gradation and scalability

Accessibility

and security

PEER-PEER SYSTEM VS.


CLIENT/SERVER

CLIENT/SERVER DESIGNCLASSICAL MODEL

FORCES THAT DRIVE THE


CLIENT/SERVER
The general forces that drive the move to
client/server computing are:
The changing business environment.
The growing need for enterprise data access.
The demand for end user productivity gains
based on the efficient use for data resources.
Technological advances that have made
client/server computing practical.
Growing cost/performance advantages of PCbased platforms.

CLIENT/SERVER ARCHITECTURE
The Client/Server architecture is based on
hardware and software components that
interacts to form a system. This system
includes three main components:

Clients
Servers
Communication middleware

CLIENT/SERVER ARCHITECTURE
- CLIENT
The client is any computer process
that requests services from the server.
The client is also known as the frontend- application, reflecting the fact
that the end user usually interacts with
the client process.

CLIENT/SERVER ARCHITECTURE
- SERVER
The server is any computer process
providing services to the clients. The
server is also known as the back-end
application, reflecting the fact that the
server
process
provides
the
background services for the client
process.

COMMUNICATION MIDDLEWARE:

It is any computer process(es) through which


clients and servers communicate. The
communication middleware, also known as
middleware or the communications layers, is
made up of several layers of software that
aid the transmission of data and control
information between clients and servers.

CLIENT SERVER ARCHITECTURE

Distributed Processing Environment


Distributed Database Environment
Comprehensive Communications Networks
Open Systems for information sharing
Friendly User Interfaces
Standardized communications protocols
Shared responsibility

CLIENT SERVER ARCHITECTURE

Client Processes request services


Server Processes provide services
Client and server processes execute on
different systems
Clients and servers can negotiate the terms
and conditions of service

SINGLE SYSTEM IMAGE

To implement and operate a modern


telecommunications network that creates a
seamless utility for all telecommunication
applications from desktop to desktop

Definition: Indistributed computing, asingle


system image(SSI) cluster is aclusterof
machines that appears to be one single
system

SINGLE SYSTEM IMAGE

Within the single system image environment,


a business system user is totally unaware of
where data is stored, how client and server
processors work, and what networking is
involved in gaining connectivity.

How is this transparency accomplished?

SINGLE SYSTEM IMAGE

Every application that the user accesses provides a


common look and feel. Help is provided in the same
way by every application. Errors are presented and
resolved in the same way. Each user has access to all
services for which he or she has a need and a right to
access

The security layer is invisible to the authorized and


impenetrable to the unauthorized

Navigation from function to function and application to


application is provided in the same way in every system

SINGLE SYSTEM IMAGE & CLIENT/SERVER


COMPUTING

Single system image is best implemented


through the client/server model

Client/server computing is an environment that


satisfies the business need by appropriately
allocating the application processing between
the client and server processors

Communication mechanism: IPC, InterProcess


Communication

SINGLE SYSTEM IMAGE & CLIENT/SERVER


COMPUTING

Single system image is best implemented


through the client/server model

Client/server computing is an environment


that satisfies the business need by
appropriately allocating the application
processing between the client and server
processors

Communication mechanism: IPC, InterProcess


Communication

MAINFRAME-CENTRIC
CLIENT/SERVER COMPUTING

Uses the presentation capabilities of the


workstation to front-end existing
applications.

The data is displayed or entered through the


use of pull-down lists, scrollable fields, check
boxes, and buttons.

The user interface is easy to use, and


information is presented more clearly.

MAINFRAME-CENTRIC
CLIENT/SERVER COMPUTING

Character mode applications, usually driven from a


block mode screen, attempt to display as much data
as possible in order to reduce the number of trans

In contrast, the workstation GUI provides facilities to


build the screen dynamically. missions required to
complete a function.

Enables a much larger virtual screen to be used with


no additional data communicated between the client
workstation and server.

ELECTRONIC DATA INTERCHANGE


(EDI)
Example of this front-end processing.
Enables organizations to communicate
electronically with their suppliers or
customers
Electronic data interchange(EDI) is an
electronic communication method that
provides standards for exchanging data via
any electronic means.
Productivity may be enhanced significantly
by capturing information at the source and
making it available to all authorized users.

MAINFRAME CENTRIC COMPUTING


Deskt
op
Applicatio
n1

Application
2

Application
3

INTELLIGENT CHARACTER
RECOGNITION (ICR)
ICR technology can be an extremely effective way
to automate the capture of data from a form,
without the need to key.
Current experience with this technique shows
accuracy rates greater than 99.5 percent for
typed forms and greater than 98.5 percent for
handwritten forms.

DOWNSIZING & CLIENT/SERVER COMPUTING

Rightsizing and downsizing are strategies used


with the client/server model to take advantage
of the lower cost of workstation technology

Rightsizing and upsizing involve the addition


of more diverse or more powerful computing
resources to an enterprise computing
environment.

DOWNSIZING:

The
downward
migrations
of
business
applications are often from mainframes to PCs
due to low costing of workstation.
And also todays workstations are as powerful as
last decades mainframes.
The result of that is Clients having power at the
cost of less money, provides better performance
and then system offers flexibility to make other
purchase or to increase overall benefits.

RIGHTSIZING:

Moves the Client/Server applications to the most


appropriate server platform, in that case the
servers from different vendors can co-exist and
the network is known as the system.
Getting the data from the system no longer refers
to a single mainframe.
As a matter of fact, we probably dont know
where the server physically resides.

UPSIZING

The bottom-up trend of networking all the standalone PCs and workstations at the department or
work group level.
Early LANs were implemented to share hardware
(printers, scanners, etc.).
But now LANs are being implemented to share
data and applications in addition to hardware.

DOWNSIZING
Mainframes are being replaced by lesser
expensive PCs on networks. This is called
computer downsizing.
Companies implementing business process
reengineering
are
downsizing
organizationally. This is called business
downsizing.
All this would result in hundreds of smaller
systems, all communicating to each other
and serving the need of local teams as well
as individuals working in an organization.
This is called cultural downsizing.

DOWNSIZING & CLIENT/SERVER COMPUTING

Benefits of rightsizing are reduction in cost


and/or increased functionality, performance, and
flexibility in the applications of the enterprise

Significant cost savings usually are obtained


from a resulting reduction in employee,
hardware, software, and maintenance expenses

from the improved effectiveness of the user


community using client/server technology.

PRESERVING YOUR MAINFRAME


APPLICATIONS INVESTMENT THROUGH
PORTING

Applications development is rapidly moving away


from a mainframe-centric model
Downsize and still preserve a larger amount of
the investment in application code.
Micro Focus workbench provide the capability to
develop systems on a PC LAN for production
execution on an IBM mainframe.
ProxMVS product enable extensive unit and
integration testing.
These products can dramatically reduce
mainframe development costs.

PRESERVING YOUR MAINFRAME


APPLICATIONS INVESTMENT THROUGH
PORTING

Supports GUI development targeted for


implementation.

Object Oriented (OO) option to its workbench to


facilitate the creation of reusable components.

IBM's CICS and enable developers to directly


port applications using standard CICS call
interfaces from the mainframe to the
workstation.

PRESERVING YOUR MAINFRAME


APPLICATIONS INVESTMENT THROUGH
PORTING
This enables developers to create applications for
execution in the CICS MVS environment and
later to port them to these other environments
without modification.
Telon- that support the object-oriented
development concepts necessary to create a
structured development environment and to
support code and function reuse.
The largest savings come from new projects that
can establish appropriate standards at the start
and do all development using the workstation
LAN environment.

CLIENT/SERVER DEVELOPMENT
TOOLS
By reusing the models previously built to
accomplish integration, we all benefit from cost
and risk reduction.
Reuse as much as possible to save development
costs, reduce risk, and provide the users with a
common "look and feel.
Object Technology based tools for client/server
development demands that proper standards be
put in place to support shared development,
reusable code, and interfaces to existing systems,
security, error handling, and an organizational
standard "look and feel."

ADVANTAGES OF CLIENT/SERVER
COMPUTING
Enhanced Data Sharing
Integrated Services
Sharing Resources Among Diverse
Platforms
Data Interchangeability and
Interoperability
Masked Physical Data Access
Location Independence of Data and
Processing
Centralized Management

ADVANTAGES OF CLIENT/SERVER
COMPUTING
Enhanced Data Sharing - the same data is
available with the same currency to all
designated users.
Integrated Services - In the client/server
model, all information that the client (user) is
entitled to use is available at the desktop. The
desktop toolse-mail, spreadsheet, presentation
graphics, and word processingare available and
can be used to deal with information provided by
corporate application and database servers
resident on the network.

Example

: the retail automobile service station

RETAIL AUTOMOBILE SERVICE


STATION
The service station automation (SSA) project
integrates the services of gasoline flow
measurement, gas pumps billing, credit card
validation, cash registers management, point-ofsale, inventory control, attendance recording,
electronic price signs, tank monitors, accounting,
marketing, truck dispatch, and a myriad of other
business functions.
The system uses all of the familiar client/server
components, including local and wide-area
network services.

ADVANTAGES OF CLIENT/SERVER
COMPUTING
Sharing Resources Among Diverse Platforms , users may obtain client services and transparent
access to the services provided by database,
communications, and applications servers. ." An
event such as the push of a button, selection of a list
element, entry in a dialog box, scan of a bar code, or
flow of gasoline occurs without the application logic
being sensitive to the physical platforms.
Data Interchangeability and InteroperabilityAlmost all the development tools used for
client/server development expect to reference a
back-end database server accessed through SQL.

ADVANTAGES OF CLIENT/SERVER
COMPUTING

Masked Physical Data Access


When SQL is used for data access, users can
access information from databases anywhere
in the network.
The only noticeable difference may be
performance degradation if the network
bandwidth is inadequate.
The use of new data types, such as binary
large objects (BLOBs), enables other types of
information such as images, video, and audio
to be stored and accessed using the same SQL
statements for data access.

ADVANTAGES OF CLIENT/SERVER
COMPUTING

Location Independence of Data and


Processing
Developers today are provided with considerable
independence.
The network may be based in Open Systems
Interconnect (OSI), Transmission Control
Protocol/Internet Protocol (TCP/IP), or Systems
Network Architecture (SNA), but no changes are
required in the business logic coding.
The application developer deals with the
development language and uses a version of SDE
customized for the organization to provide
standard services.

ADVANTAGES OF CLIENT/SERVER
COMPUTING

Centralized Management -The first step in


effectively providing remote LAN management is
to establish standards for hardware, software,
networking, installation, development, and
naming

DBMS CONCEPT AND


ARCHITECTURE

Data models, Schemas, and Instances


A data model - a collection of concepts that
can be used to describe the structure of a
database -provides the necessary means to
achieve this abstraction.
Structure of a database we mean the data
types, relationships, and constraints that
should hold on the data.

CATEGORIES OF DATA MODELS


Conceptual (high-level) data models provide
concepts that are close to the way many end users
perceive data. Conceptual Data Models use concepts
such as entities, attributes, and relationships.
Physical Data Models describes how data is stored
in the computer by representing information such as
stored record formats, record orderings, and access
paths. An access path is a structure that makes the
search for particular database records efficient.
Implementation (record-oriented) data models:
Provide concepts that fall between the above two,
balancing user views with some computer storage
details.

SCHEMAS, INSTANCES, AND


DATABASE STATE
The description of a database is called the
database schema, which is specified during
database design.
A displayed schema is called a schema diagram.

SUPPLIER
SUPP

SUPP

STATU

CITY

NUMBER

NAME

PART

PART

COLO

WEIGH

NUMBER

NAME

PART

DELIVERY
SUPP
NUMBER

PART NUMBER

QUANTITY

CITY

SCHEMAS, INSTANCES, AND


DATABASE STATE
The data in the database in a particular moment
in time is called database state or snapshot. It
is also called the current set of occurrences or
instances in the database.
The distinction between database schema and
database state is very important.
The initial state of the database when the
database is first loaded with the initial data.

CURRENT STATE OF THE


DATABASE.
SUPP

SUPP

STATU

CITY

NUMBER

NAME

S1

Jones

20

New York

S2

Black

30

Paris

S3

Smith

10

London

SUPPLIER

PART

PART

COLO

WEIGH

NUMBER

NAME

P1

Desk

Blue

20

London

P2

Monitor

Red

10

Paris

SUPP

PART NUMBER

QUANTITY

P1

200

NUMBER
S1

CITY

PART

DELIVERY

DBMS ARCHITECTURE
The Three-Schema Architecture
The goal of the three-schema architecture is to
separate the user applications and the physical
database
The internal level - describes the physical storage
structure of the database.
The conceptual level -concentrates on describing
entities, data types, relationships, user operations,
and constraints.
The external or view level schema describes the
part of the database that a particular user group is
interested in and hides the rest of the database from
that user group

DBMS ARCHITECTURE

DATA INDEPENDENCE
The concept of data independence- defined as
the capacity to change the schema at one level of a
database system without having to change the
schema at the next higher level
Logical data independence - capacity to change
the conceptual schema without having to change
external schemas or application programs
Physical data independence - the capacity to
change the internal schema without having to
change the conceptual (or external) schemas.
Changes to the internal schema may be needed
because some physical files had to be
reorganized

DATABASE LANGUAGES
DDL - For describing data and data structures a
suitable description tool, a data definition
language
(DDL), is needed. With this help a data scheme
can be defined and also changed later. Typical
DDL operations are:
Creation of tables and definition of attributes
(CREATE TABLE ...)
Change of tables by adding or deleting attributes
(ALTER TABLE )
Deletion of whole table including content (!)
(DROP TABLE )

DML- a language for the descriptions of the


operations with data like store, search, read,
change, etc. the so-called data manipulation, is
needed. Such operations can be done with a data
manipulation language (DML). Typical DML
operations are:
Add data (INSERT)
Change data (UPDATE)
Delete data (DELETE)
Query data (SELECT)

DATABASE INTERFACES
Application poses with
the help of SQL, a
query to the database
system.
There,
the
corresponding answer
(result
set)
is
prepared and also
with the help of SQL
given back to the
application.

TYPE AND USE OF THE DATABASE


INTERFACE
Interactive: SQL can be used interactively from
a terminal.
Embedded: SQL can be embedded into another
language (host language) which might be used to
create a database application.

USER INTERFACES
Form-based Interfaces - can fill in all of the
fields and make new entries to the database or
only some of the fields to query the other ones.
Text-based Interfaces
To be able to administrate the database or for other
professional users there are possibilities to
communicate with the DBMS directly in the query
language (in code form) via an input/output
window.

FORM-BASED INTERFACES

TEXT-BASED INTERFACES