CLIENT
SERVER TECHNOLOGY
By
M.JEHAN
Example
Diagrams
Overview of client server computing
•
Dallas-based American airlines
Decision Technologies cut their computing budget by 90%-from $5 million to
under $500,000
•
As the result of an 18 month pjt that created
an open systems network.
•
Built with $4.5 million worth of
multi vendor UNIX based hardware and software.
•
The company develops systems for
companies such as American Airlines, Lufthansa German Airlines, Ryder Truck
Rental and Royal Caribbean Cruise Lines.
•
Consolidated Insurance Group in
Wilmington, Delaware, reduced capital expenses from $1 million to $300,000 and
operating expenses from $2.5 million to $500,000 in the first year after
replacing its headquarters based IBM 3090 mainframe and support staff 30 with 7
micro based servers supported by a staff 10.
Contd..
•
When United Airlines Inc. converted
to a client /server environment from mainframe computer environment, the
company saved millions in computer costs and improved flight schedules for its
pilots, which is predicted to save nearly $1.5 million a year
•
How are these
organizations achieving such savings?
Client /Server Computing
What is Client/Server Computing
• Client/Server
computing uses local processing power- the power of the desk top platform.
• Simple defn.- Server software accepts requests for data from client
software and returns the result to the client.
• The
client manipulates the data and presents the results to the user.
•
Tech defn.-Most of the
application processing is done on a programmable desktop computer, which
obtains application services from another computer in a master/slave
configuration.
contd..
Contd..
•
The use of open systems (hardware,
software, operating systems, databases and networks) enhances client/server
computing.
Application Tasks
An
application can be broken into six tasks:
• User
Interface- what are user actually sees
• Presentation
Logic- what happens when the user
interacts with the form on the screen
•
Application logic
•
Data requests and results acceptance
• Data
integrity- such as validation, security,
completeness
• Physical
data management- such as update, retrieval,
deletion, and addition.
Query Language
Architecture
•
Query
languages to support update, create, retrieve and delete fns as in the above
fig.
Original
Client/Server Applications
•
GUI
require a great deal of processing power to create the screen the user sees.
•
As
app. Tasks were split host and the screen generating desktop m/c as in the fig.
Distribution of
processing in client/server model
•
Distribution
of processing between the client and server is accommodated by the
client/server model.
Rightsizing
•
Client/server
technology evolves, the battle cry is now rightsizing- design new applications
for the platform they are best suited for, opposed to using a default
placement.
•
The
client/server model allows the app to be split into tasks and those tasks
performed on individual platforms.
•
Developers
review all the tasks within an application and determine whether each task is
best suited for processing on the server or on the client.
•
Determining
how the tasks are split can be the major factor in the success or failure of
client/server app. Contd…
•
Some
variations on this theme are:
•
Downsizing: A host based app. Is downsized when
it is reengineered to run in a smaller or LAN based environment.
•
Upsizing: App. that have outgrown their environment are re-engineered
to run in a larger environment.
–
Increasing
memory and storage on the server
–
Swapping
more powerful processor into the server.
–
Adding
processors to the server
•
Smartsizing: Technology based smart sizing affects
the entire organizational structure and involves re-engineering and redesigning
the business process.
Growth in installed micros and LANs
Benefits of
client/server computing
•
Dollar
Savings
–
Client/server
technology allows organizations to protect current investments by using
existing equipments and protect future investments by using scalable,
expandable products.
–
Client/server
based applications can be developed in less time than mainframe based
applications.
•
Increased
Productivity
–
End
user Productivity
•
Flexible
data access for end users was first provided by 4GLs
–
Developers
productivity
•
Developers
can be using client/server development tools
•
Most
C/S tools make use of object oriented technology
•
Flexibility and Scalability
–
Adding
new components or replacing existing ones is as straight forward
–
Users
can choose their own presentation interface
•
Resource
Utilization
–
C/S
architecture is designed to use LAN technology efficiently, minimizing
potential bottlenecks
•
Centralized
Control
–
Full
circle in the architecture of IS facilities
Centralized and decentralized control
•
Decentralized
portion of the computer system consists of the processing done in the client
and is the responsibility of business end user.
•
The
centralized portion of the responsibility of IS professionals-link to the
server
•
Open
Systems
–
Client/Server
computing to be effective, multiple environments must be supported.
–
When
applications are right sized, it is important that there be connectivity among
the components of the platform
–
There
must be support for multiple hardware vendors, multiple GUI platforms, multiple
OS, Multiple DBMS, Multiple communication protocols and multiple LAN OS
–
The
benefits of open systems- Interoperability and Portability
Evolution of
Client/Server Computing
•
Hardware
Trends
–
Power
–
Chips
–
Memory
–
40MB
hard drive is standard on an entry level micro.
•
Multiple
disk drivers.
Capacities of processors
•
Software
Trends
–
Relational
Databases
•
Multiple
structures with multiple management techniques
–
GUIs
•
MS-Windows,
openLook and etc.
–
Multi
threaded Processing
•
Thread
is a process or an execution
•
DOS
can execute only one process (thread) at a time.
•
MS
LAN Mgr Network OS – supports multiple threads of execution.
•
One
thread could controlling the printer, one the keyboard I/O another executing
app. Code.
–
Continuing
Evolution
•
Product
that generate GUIs have some intelligence about interfaces.
• Evolution of Operating
Systems
–
Micro
operating systems evolve, there should be some common capabilities. These
include
•
Portability
in the underlying kernel and app. Programming interfaces
•
Use
of 32 bit architecture
•
Support
for symmetric multiprocessing hardware
•
Extensions
for multimedia and pen based computing
•
Portable
OS interface for UNIX
• Networking Trends
–
LAN
based implementation
–
Token
ring running LAN manager
• Business
Consideration
–
Dept.
need more than one database.
–
Dealing
with voice, scanned images, text and graphic images.
Overview of
Client/Server Applications
•
A
client/server application has three components: a Client, a server and a
network
•
Each
of these components has a hardware and a software component.
Components of the
Client/Server Applications
•
Servers
-perform the routine.
•
Clients-
front ends
–
To
many users client is the “System”
•
The
data management software on the server is responsible for keeping the data
“Safe and Sound”.
•
Some
org. have applications where clients need to maintain concurrent connections
with more than one server-- many-to-many relationship.
Components
of Client/server computing
The Client
•
The
client hardware is the desktop m/c that runs client software.
•
It
could be a micro or a workstation
•
The
client software formulates the data requests and passes the requests to the
network software.
•
This
s/w send the request to the server , accepts the result from the server and
passes the result to the client software.
•
The
presentation component produces the interface that the user views and interact
with.
The Server
•
A
server is the machine that runs data management software
•
Compared
to a desktop micro server hardware
–
increased
memory capabilities;
–
increased
storage capabilities;
–
increased
power;
–
parallel processors;
–
improved
cycle times;
–
and
improved reliability
•
When
evaluating server hardware, the following measures should be kept in mind:
•
Reliability-
How often does it fail? What is the mean time between failures?
•
Availability-
How quickly does the system come back into service after a failure? To assure
high availability, some systems have self healing routines, continuous
processors, fault –tolerant hardware , alarms to high light problems before
become serious.
•
Flexibility
and Scalability. How easily can the server be expanded as processing needs
grow?
•
A
server has operating system software, data management software and a portion of
the network software
The Network
•
The
network hardware is the cabling, communicating cards and the devices that link
the server and the clients.
•
Connections
must allow servers to access other servers and for users (clients) to access
data on any network node
•
The
connection devices, such as routers and wire hubs.
•
The
communication and data flow over the network is managed and maintained by the
network software.
•
The
network OS manages the network related input /output processes of the server.
Classes of
Client/Server Applications
•
3
levels:-
–
Host
based processing
–
Client-Based
Processing
–
Cooperative
Processing
•
Host-Based
Processing
–
Most
client/server applications has a presentation layer running on the desktop
machine with all app. Processing running on the server/host.
–
Presentation
layer provides the user with an easy to use interface.
–
The
processing power of the desktop m/c is used to produce this interface, which
requires a great deal of m/c resources
–
Host
based processing applications require less functionality on the client.
–
Host
based processing does not permit organizations to re-think the business process
Classes of
Client/Server applications
•
Client-based
Processing
–
Client/server
applications puts all the app. Logic on the client m/c with the exception of
data validation routines, which are coded into the DBMS on the server.
–
Users
can access data on any node.
–
Many
of the host fns –security and reliability must be built into these new client
server app.
•
Cooperative
Processing
–
app.
Uses a fully cooperative peer-to-peer processing approach.
–
All
components of the system are equal and can request to provide services to each
other.
–
The
processing is performed where ever computing resources (devices, CPU, and
memory are available
–
A
single system can act as a client for other servers and a server for other
clients.
–
Data
manipulation may be performed on both the client and the server, whichever is
more appropriate.
Categories of
client/server Applications
•
Client/Server
app. Can also be categorized by their support function.
•
The
architecture of Client/Server computing promotes group interaction, whether it
is messages, mail, shared data, or shared app.
•
users
of an application can be anywhere on the network.
•
Office
Systems
–
Client/Server
computing provides a framework for electronic communication as in the Fig.
–
Users
on LAN C can Communicate with users on LAN A or LAN B
The foundation for
electronic communication
•
Front-Ends
to Existing Systems
–
Another
category of client/server app. Consists of screen emulation systems
(screen-scrapers), which convert existing character based screens to GUI
screens.
–
No
changes are made to the existing app. on the server
–
Benefits
of these systems are ease of use and increased worker productivity.
–
Existing
products facilitate building front-ends to existing systems.
–
They
capture the 3270/5250 data stream and map it into a client based display panel.
•
Database
access
–
To
provide a GUI for accessing corporate data
–
Query
oriented app. Provide a single window to the data of the organization.
Query
oriented Applications
•
Transaction-Processing
Applications
–
Also
known as mission-critical applications, include order entry, inventory, and
point-of-sale systems.
–
System
must run continuously.
•
Investigative
applications
–
Transaction
processing systems work with real time data.
–
Investigative
app. Are designed to support decision makers.
–
Investigative
app. Are often called Decision Support Systems (DSS) or Executive Information
Systems (EIS).
–
Ref.
next slide pic.
Snapshots of Data for investigative
applications
Understanding
Client/Server Computing
•
Dispelling
the Myths
Many
myths promoted by Marketing literature, others are promoted by the press, more
by omission than inclusion.
–
Client/Server
Computing is Easily Implemented
–
Current
Desktop Machines are sufficient
–
Minimal
Training is Required
–
All
Data are Relational
–
Development
time is Shorter
Obstacles-Upfront and Hidden
–
Client
server computing is not the easy task that marketing literature would have us
believe.
–
They
are some very real, and painful, hurdles on the road to success
•
Costs
–
Cost
saving prompt organizations to consider client/server computing
–
Conservative
figures for the cost per MIPS (millions of instructions per second) are:
–
IBM
Mainframe-About $100,000
–
Midrange-About
$50,000(includes some bandwidth processors)
–
Desktop-About
$300
•
Mixed
Platforms
–
In
the past, most org. operated homogeneous centralized mainframe and midrange
processors and terminal n/w
–
Managed
separately-independent systems and protocol
–
Today,
org have at least two micro OS, multiple n/w OS and variety of n/w topologies.
•
Maintenance
–
It
is costly and time consuming
•
Reliability
–
H/w
must be stable and include backup units and monitoring s/w for the system
itself.
•
Restructuring
Corporate Architecture
–
Client/server
technology also restructures the workflow processing.
–
Electronic
data interchange (EDI) is an example of a modification in workflow processing.
Open Systems and Standards
•
To
Business end users, open systems mean easy access to information
•
The
IEEE – open systems offers the following definition
“A comprehensive and consistent set of international
information technology standards and functional standards profiles that specify
interfaces, services, and supporting formats to accomplish interoperability and
portability of applications, data and people.”
Standards Areas
Four
areas of client/server computing
•
Platforms-Developed by hardware and software vendors- such as
Intel chips, UNIX, and DOS with Windows.
•
Networks-N/W protocols- such as OSI and TCP/IP
•
Middleware- Between App. and the OS, includes GUIs, database,
E-Mail systems
•
Applications- Org. decide on std app. to facilitate work group
interaction
Existing
Standards
•
Currently,
there are recognized stds for server OS environment and for network protocols
– UNIX
–
POSIX-Portable Operating Interface from
IEEE is a UNIX based specification.
–
TCP/IP-to connect LAN Based micros to
corporate data on a UNIX host.
–
OSI- to provide a common basis for
communication
–
RDA
and DRDA - Remote
Data Access (RDA) Architecture and Distributed Relational Database Architecture
–
Distributed
data management
Open Systems
Components of an open
systems environment
•
Factors
for Success
–
Identify
the business motivation for the change to client/server computing.
–
Whether
it is reduced costs, increased productivity, or a competitive advantage,
implementation of the new technology.
–
Internetworking –LAN,WAN
–
Interoperability-ability to interact
•
Considering
client m/c, client s/w, n/w, n/w s/w, server and server s/w.
–
Compatible Environments- whenever possible,
avoid mixing architectures
–
Perceived Benefits- ease-of use, cost saving, response
time, functionality, accessible data.
Host
•
The
term "host" is used in several contexts, in each of which it has a
slightly different meaning: 1) In Internet protocol specifications, the term
"host" means any computer that has full two-way access to other
computers on the Internet. A host has a specific "local or host
number" that, together with the network number, forms its unique IP
address. If you use Point-to-Point Protocol to get access to your
access provider, you have a unique IP address for the duration of any
connection you make to the Internet and your computer is a host for that
period. In this context, a "host" is a node in a network.
•
2)
For companies or individuals with a Web site, a host is a computer with
a Web server that serves the pages for one or more Web sites. A host can
also be the company that provides that service, which is known as hosting.
•
3)
In IBM and perhaps other mainframe computer environments, a host is a mainframe
computer (which is now usually referred to as a "large server"). In
this context, the mainframe has intelligent or "dumb" workstations
attached to it that use it as a host provider of services. (This does not mean
that the host only has "servers" and the workstations only have
"clients." The server/client relationship is a programming model
independent of this contextual usage of "host.")
•
4)
In other contexts, the term generally means a device or program that provides
services to some smaller or less capable device or program.
No comments:
Post a Comment