• No results found

Chapter5 : Client Server Computing

N/A
N/A
Protected

Academic year: 2021

Share "Chapter5 : Client Server Computing"

Copied!
123
0
0

Loading.... (view fulltext now)

Full text

(1)

Lecture 10

TIM 50 Autumn 2012

Thursday October 30, 2012

Chapter5 : Client – Server

Computing

(2)

Announcement

As TIM50Class eCommons now works, Students should submit business proposal and DB assignment 1 on eCommons. For details refer do class webpage.

3. The Mid-Term on November 1, Thursday

4. The grades for every assignment will be given in eCommons.

5. It's important to check webpage to get the latest information and assignments changes.

6. Business paper group released.

Submit your business proposal through e-Common

(3)

Business Information Systems

Computer System

Architecture, Functions

Network Computing

Architectures

Data Processing through

Network Systems

Information Technology

H/W S/W Binary System Data Formats

Boolean Logic, Gate Machine Language Hi-level Language Operating System

Window, Mac, Linux

ALU Memory RAM, ROM Mag/Flash/USB I/O Data Bus

Clock Pulse, Speed

Review

Data representation Data Copy Data Transfer Data communications Protocols Peer to peer Same Potential/Fn Client Server Functional Asymmetry ATM, Internet terminal M-phone

Client, Server, Data Server Middle Ware

(4)

Contents are re-edited using materials

from Internet Sites

(5)

Von Neumann and Harvard Architectures

(6)
(7)
(8)
(9)
(10)
(11)

PIXEL

Pixel is a smallest component of digital

image

Pixel is a color point of digital image

An image should be comprised of many

Pixels.

(12)
(13)

RESOLUTION

How quality of image

With the same size of picture

If high resolution, high memory is required

to store data

If low resolution, less memory is required to

store data

(14)

RESOLUTION by pixel

72 18 36 9 9 18 36 72

(15)

Basic Computer Systems

1 byte = 8 bit

1 word = 4 byte = 32 bit Machine 8 byte = 64 bit Machine

(16)
(17)
(18)

CE06_PP09-18

Connection Device Signals

Types of signals

Analog

Digital

(19)

Analog Signals

Analog signals – directly measurable

quantities in terms of some other

quantity

Examples:

Thermometer – mercury height rises as

temperature rises

Car Speedometer – Needle moves

farther right as you accelerate

Stereo – Volume increases as you turn

the knob.

(20)

Digital Signals

Digital Signals – have only two states. For

digital computers, we refer to binary

states, 0 and 1. “1” can be on, “0” can be

off.

Examples:

Light switch can be either on or off

(21)

21

(22)

Sampling Rate

Frequency at which ADC evaluates analog signal. As

we see in the second picture, evaluating the signal

more often more accurately depicts the ADC signal.

ADC: Analog to Digital Converter

(23)
(24)
(25)
(26)
(27)
(28)
(29)

Levels of Computer Functions Abstraction

Application Libraries Operating System Programming Language Assembler Language Graphical Interface Processor IO System Logic Design

Datapath and Control

Circuit Design Semiconductors

Materials Firmware

Circuits and devices Fabrication Digital Design Computer Design Application Programming System Programming Microprogramming Instruction Set Architecture - “Machine Language”

S/W

(30)

Computer

System

DigitalLogic Outputs

Computer S/W

Machine LanguageAssembler

Compiler LanguageHigh Level Language

Computer system Operations

(31)

Levels of Representation

High Level Language P rogram

Assembly Language Pr ogram

Machine Language Pro gram

Control Signal Spec Compiler Assembler Machine Interpretation temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; •lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) 0000 1001 1100 0110 1010 1111 0101 1010 1111 0101 1000 0000 1001 1100 1100 0110 1010 1111 0101 1000 0000 0101 1000 0000 1001 1100 0110 1010

(32)

32

Operating Systems(OS)

•the O

perating System (OS)

is a collection of programs that controls how the CPU, memory, and I/O devices work together

– kernel: manages the CPU's operations, controls how data and instructions are loaded and executed by the CPU, coordinates other hardware components

– file system: organizes and manages files and directories

– graphical user interface (GUI): provides intuitive, visual elements for interacting with the computer

(33)

Definition of a System

revisited

• “

A systems is a collection of compone

nts linked together and organized in s

uch a way as to be recognizable as a s

ingle unit.”

Linked components of a system also

define the boundary for the system

The environment is anything outside

of the system

(34)

Information Systems

An information system(IS) is typically considered to be a set of interrelated el ements or components that collect(input), manipulate(processes), and disse minate (output) data and information and provide a feedback mechanism to meet an objective.

Open System Close System

(35)

System Decomposition

Components

Irreducible or

Subsystems

Decomposition

The division of a system into its

components and linkages

Hierarchical

(36)

General Representation of a System

(37)

System Architecture

The fundamental properties, the patterns

of relationships, connections, among the

components and between the system

environment are known collectively

as the architecture of the system”

(38)

© Oscar Nierstrasz ESE — Software Architecture ESE 10.38

What is Software Architecture?

The architecture of a system consists of:

the

structure(s) of its parts

including design-time, test-time, and

run-time hardware and software parts

the

externally visible properties

of those

parts

modules with interfaces, hardware units,

objects

the

relationships and constraints

between

(39)

© Oscar Nierstrasz ESE — Software Architecture ESE 10.39

Sub-systems, Modules and

Components

A sub-system is a system in its own right whose

operation is

independent

of the services provided

by other sub-systems.

A module is a system component that

provides

services

to other components but would not

normally be considered as a separate system.

A component is an

independently deliverable unit

of software that encapsulates its design and

implementation and offers interfaces to the

out-side, by which it may be composed with other

components to form a larger whole.

(40)

© Oscar Nierstrasz ESE — Software Architecture ESE 10.40

How Architecture Drives

Implementation

Use a

3-tier client-server architecture

:

- all business logic must be in the

middle tier, presentation and dialogue

on the client, and data services on the

server

Scale the application server processing

(41)

© Oscar Nierstrasz ESE — Software Architecture ESE 10.41

Coupling

Coupling is a measure of the

strength of the

interconnections

between system

components.

Coupling is tight between components if they

depend heavily on one another, (e.g., there is a lot

of communication between them).

Coupling is loose if there are few dependencies

between components.

Loose coupling

promotes maintainability

and

adaptability since

changes in one component are

(42)

© Oscar Nierstrasz ESE — Software Architecture ESE 10.42

Tight Coupling

Module A

Module B

Module C

Module D

Shared data

area

© Ian Sommerville 2000

(43)

© Oscar Nierstrasz ESE — Software Architecture ESE 10.43

Loose Coupling

Module A A’s data Module B B’s data Module D D’s data Module C C’s data © Ian Sommerville 2000

(44)

© Oscar Nierstrasz ESE — Software Architecture ESE 10.44

Architectural Parallels

Architects are the

technical interface

between the customer and the

contractor building the system

A bad architectural design for a building

cannot be

rescued by good construction

— the same is true

for software

There are

specialized types

of building and software

architects

There are

schools or styles

of building and software

(45)

© Oscar Nierstrasz ESE — Software Architecture ESE 10.45

Architectural Styles

An architectural style defines a

family of

systems

in terms of a pattern of

structural organization.

More specifically, an architectural style

defines a vocabulary of

components

,

connector

types, and a set of

constraints

on how they can be combined.

(46)

© Oscar Nierstrasz ESE — Software Architecture ESE 10.46

Layered Architectures

A layered architecture organises a system into a

set of layers each of which provide a set of

services to the layer “above”.

Normally layers are

constrained

so elements only see

other elements in the same layer, or

elements of the layer below

Callbacks

may be used to communicate to higher

layers

Supports the

incremental development

of

sub-systems in different layers.

When a layer interface changes,

only the adjacent

(47)

Definitions

Software Architectures – describe the

organization and interaction of software

components; focuses on logical organization of

software (component interaction, etc.)

System Architectures - describe the

placement of software components on physical

machines

The realization of an architecture may be

centralized (most components located on a single

machine), decentralized (most machines have

approximately the same functionality), or hybrid

(some combination).

(48)

Architectural Styles

(b) The object-based

architectural style

.

The (a) layered

architectural style

(49)

Architectural Styles

(a) The event-based architectural style

• Communication via event propagation, in dist. systems seen often in Publish/ Subscribe;

e.g., register interest in market info; get email updates

• Decouples sender & receiver; asynchronous communication Event-based arch. supports several communication styles: • Publish-subscribe • Broadcast • Point-to-point

(50)

Architectural Styles (5)

The shared data-space architectural style.

Data Centric Architecture; e.g., shared distributed file systems or Web-based distributed systems

Combination of data-centered and event based architectures

(51)

General Building Blok of Data Processing

Equipment, H/W

Software Building Block

Administrative an Operational Supports

What is Object of Project?

What are Major Information?

How can We Process the Information?

Network H/W

(52)

Business Organization Chart

(53)

S1 1960 1980 1990 A b ilit y t o f ill in fo rm a tio n n e e d s 2000 PC/LAN Client/Server db db db Distributed db db db db db Web Services Mainframe

Evolution of

(54)

54

Communication Components

Communication channel (provide connections)

Wire cable Fiber optic Telephone line Wireless technologies

Hardware

modem

network interface card (NIC)

Software (establishes connections, controls the flow of

data, directs data to the proper applications)

(55)

Graham Betts

Any transmission May be:

•analog or digital

•Serial or parallel

(56)

CE06_PP09-56

Communication Systems

Four basic elements

Sending and receiving devices

Communication channel

Connection devices

Data transmission specifications

(57)

What is a network

A

network

as a "group of computers

and associated devices that are

connected by communications

facilities."

A network provides two principle benefits:

the ability to communicate

and

the ability

to share.

A network can consist of two computers

connected together on a desk or

It can consist of many Local Area Networks

(LANs) connected together to form a Wide

Area Network (WAN) across a continent.

(58)

Network Classifications

Scope

Local area network (LAN)

Metropolitan area (MAN)

Wide area network (WAN)

Ownership

Closed versus open

Topology (configuration)

Bus (Ethernet)

Star (Wireless networks with central Access

Point)

(59)

Network Topologies

A

topology

refers to the manner in which the

cable is run to individual workstations on the

network.

the configurations formed by the connections between

devices on a local area network (LAN) or between two

or more LANs

There are three basic network topologies (not

counting variations thereon): the bus, the star,

and the ring.

It is important to make a distinction between a

(60)

Graham Betts

NETWORK TOPOLOGIES

(categorizing by shape)

(61)
(62)

Graham Betts

Ethernet

Developed at Xerox in 1976.

First protocol approved as an industry

standard protocol 1983

LAN protocol used on bus and star

Most popular LAN protocol

Inexpensive

(63)

Peer-to-Peer

Nodes act as both client and server;

interaction is symmetric

Each node acts as a server for part of the total

system data

Overlay networks connect nodes in the P2P

system

Nodes in the overlay use their own addressing

system for storing and retrieving data in the system

Nodes can route requests to locations that may not

(64)
(65)

Peer-to-Peer Computing

Computers on a network are treated as equals

Each computer can share resources with the other

computers on the network

Disadvantages

– Difficult to establish centralized control of services – Difficult to locate services

– Difficult to synchronize versions of files or software

– Difficult to secure network from unauthorized access and from viruses

Advantages

– Sharing files between personal computers – Internet file sharing

(66)

Client/Server Computing

In client/server computing, computer

processing is split between client machines and server machines linked by a network. Users interface with the client machines.

(67)

A Multitiered Client/Server Network (N-Tier)

(68)

68

Encoding

First step is

to understand how to connect

them

so that bits can be transmitted.

Next

encode binary data that the source want

to send into signals

that the links can carry

Then

decode the data back into the

(69)
(70)
(71)

Graham Betts

Encapsulation

Application Presentation Session Transport Network Data Link Physical data Device 1 Device 2 data H6 T6 data H5 T5 data H4 T4 (packet) H3 data T3 H2 data T2 H1 data T1 carrier FRAME Application Presentation Session Transport Network Data Link Physical

A typical frame Destination Address

Source

Address Data Padding CRC Preamble

FRAME FRAME FRAME

(Packet)

Originally Created by Bob Baker Modified 2006

(72)

Graham Betts

Sender

transmitted

Data is transmitted, on a single channel, one bit at

a time one after another

- Much faster than parallel because of way bits

processed (e.g. USB and SATA drives)

Receiver received

Serial Transmission

1 0 1 0 0 1 1 0

(73)

Graham Betts

Re

ceiv

er r

eceiv

ed

-each bit has it’s own piece of wire along which it travels - often used to send data to a printer

Parallel Transmission

Sender transmitt

ed

All bits are sent simultaneously

1 0 0 1 1 0 0 1

(74)

Graham Betts

Why Not use

Parallel

Instead of

serial

?

Due to inconsistencies on channels data arrives

at different times

Because of the way it is transmitted packet

switching cannot be used

The above two points makes parallel slower

than serial and requires higher bandwidth.

(75)

Graham Betts

• Developed in 1973 for use on the ARPANET

which was a defense force research network.

-Adopted in 1983

as the Internet standard

.

all hosts on the Internet are required to use

TCP/IP.

-

Allows transfer of data using packet

switching

(76)

Elements of a Network

communication links

:

point-point (e.g., A-to-B)

broadcast (e.g.,: Ethernet LAN)

host:

computer running

applications which use network (e.g.: H1

router

:

computer (often w/o applications-level programs) rout

ing packets from input line to output line. (e.g., A->C)

gateway

:

router directly connected to 2+ networks (e.g. A)

network

:

set of node (hosts/routers/gateways) within

single a

dministrative domain

(77)

Graham Betts

•Bandwidth

:The amount of data which can be transmitted on a medium over a fixed amount of time (second). It is measured on Bits per Second or Baud

•Bits per Second (bps):

A measure of transmission

speed. The number of bits (0 0r 1) which can be transmitted in a second

(more)

•Baud Rate

: Is a measure of how fast a change of state occurs (i.e. a change from 0 to 1) (more)

(78)

System Architectures for Distributed

Systems

Centralized: traditional client-server structure

– Vertical (or hierarchichal) organization of communication and control paths (as in layered software architectures)

– Logical separation of functions into client (requesting process) and server (responder)

Decentralized: peer-to-peer

– Horizontal rather than hierarchical comm. and control – Communication paths are less structured; symmetric

functionality

Hybrid: combine elements of C/S and P2P

– Edge-server systems

– Collaborative distributed systems.

Classification of a system as centralized or decentralized

refers to communication and control organization,

(79)

© Oscar Nierstrasz ESE — Software Architecture ESE 10.79

Film and picture library

Catalogue server Catalogue Video server Film clip files Picture server Digitized photographs Hypertext server Hypertext web

Client 1 Client 2 Client 3 Client 4

Wide-bandwidth network

(80)

Traditional Client-Server

Processes are divided into two groups

(clients and servers).

Synchronous communication:

request-reply protocol

In LANs, often implemented with a

connectionless protocol (unreliable)

In WANs, communication is typically

connection-oriented TCP/IP (reliable)

(81)

© Oscar Nierstrasz ESE — Software Architecture ESE 10.81

Client-Server Architectures

A client-server architecture

distributes application

logic and services

respectively to a number of client

and server sub-systems, each potentially running on

a different machine and communicating through

the network

Advantages

Distribution

of data is straightforward

• Makes

effective use of networked systems

. May require cheaper hardware

• Easy to

add new servers

or upgrade existing servers

Disadvantages

No shared data model

so sub-systems use different data

organisation. Data interchange may be inefficient

Redundant management

in each server

• May require a

central registry

of names and services — it may be hard to find out what servers and services are available

(82)

C/S Architectures

(83)

Layered (software) Architecture for

Client-Server Systems

User-interface level: GUI’s (usually) for

interacting with end users

Processing level: data processing

applications – the core functionality

Data level: interacts with data base or

file system

Data usually is persistent; exists even if no

client is accessing it

(84)

Examples

Web search engine

– Interface: type in a keyword string

– Processing level: processes to generate DB queries, rank replies, format response

– Data level: database of web pages

Stock broker’s decision support system

– Interface: likely more complex than simple search

– Processing: programs to analyze data; rely on statistics, AI perhaps, may require large simulations

– Data level: DB of financial information

Desktop “office suites”

– Interface: access to various documents, data,

– Processing: word processing, database queries, spreadsheets,… – Data : file systems and/or databases

(85)

IT System Architectures

Distributed processing systems

Client-Server Computing

2-tier architecture

3-tier architecture

N-tier architecture

Web-Based Computing

Peer-to-Peer Computing

(86)

Architecture categories

Two-tiers architecture

Three-tiers architecture

Service oriented architecture

(87)

Two-tiers architecture

87

The server handles both application and

database duties

(88)

Two-tiers architecture

Benefits

– Easy-to-use and access to information and services – Low cost in terms of infrastructure requirements

– High performance with a limited number of workstations

Drawbacks

– Inflexible in terms of adding more clients and software – Requires expensive middleware for integration

– Changes or modifications in database affect applications – Limited flexibility in moving program functionality from

one server to another

(89)
(90)
(91)

Three-tiers architecture

91

•Data Tier (Data Management)

•Business Tier (Business logic of functional modules)

•Presentation Tier (End-User Interface—GUI)

(92)

The “logical 3-tier” architecture

Client

Data

Display information to the user.

Store and provide access to persistent data.

Presentation Format information for display. Translate UI events into application events.

Application

Execute application logic.

The conceptual distinction between the tiers is important

Really only an “N-tier” architecture if carried through into the implementation architecture

(93)

Multitiered Architectures

(3 Tier Architecture)

(94)
(95)
(96)
(97)
(98)
(99)
(100)

Three-tiers architecture

in business systems

Benefits

– End-users have access to ERP applications over the Web. – Easily integrate ERP applications with existing systems. – Server-centric—No complex, expensive client software

installation.

– Client-centric—Architecture has better response time

because user requests are mostly processed on the client’s computer.

– Web-based architectures also allow better system-to-system integration.

Drawbacks

– Client-centric architectures lack security

(101)

Business Application Architecture

(102)

Client/Server security

Network environment has complex security issues.

Networks susceptible to breaches of security through

eavesdropping, unauthorised connections or

unauthorised retrieval of packets of information flowing

round the network. Specific security issues include:

System-level password security – user names and

passwords for allowing access to the system. Password

management utilities

Database-level password security - for determining

access privileges to tables; read/update/insert/delete

privileges

Secure client/server communication - via encryption –

but encryption can negatively affect performance

(103)

Middleware

From Wikipedia, middleware is

computer software

that provides services

to

software applications

beyond those av

ailable from the

operating system

.

Middleware can be described as "software glue".

Thus middleware is not obviously part of an operating system, not a

database management system, and neither is it part of one software application.

Middleware makes it easier for software developers to perform com munication and input/output, so they can focus on the specific purp ose of their application.

(104)

System Architecture

Mapping the software architecture to

system hardware

Correspondence between logical software

modules and actual computers

Multi-tiered architectures

Layer

and

tier

are roughly equivalent terms,

but

layer

typically implies software and

tier

is more likely to refer to hardware.

Two-tier and three-tier are the most

common

(105)

Distributed Systems 105

Uniprocessor Operating System

Separating applications from operating system

code through a microkernel.

(106)

Distributed Systems 106

Distributed Operating System

Tightly-coupled operating system for multi-processors and homogeneous multi-computers

.

Strong transparency.

(107)

Distributed Systems 107

Network Operating System

Loosely-coupled operating system for heterogeneous multi -computers (LAN and WAN). Weak transparency.

(108)

Distributed Systems 108

Middleware System

Additional layer on the top of NOS implementing general-purpose services. Better transparency.

(109)

Distributed Systems 109

Middleware Examples

Examples: Sun RPC, CORBA, DCOM, Java RMI (distribu

ted object technology)

Built on top of transport layer in the ISO/OSI 7 layer re

ference model: application (protocol), presentation (sema

ntic), session (dialogue), transport (e.g. TCP or UDP), net

work (IP, ATM etc), data link (frames, checksum), physical

(bits and bytes)

Most are implemented over the internet protocols

Masks heterogeneity of underlying networks,

hardware,

operating system and programming languages

– so provides a uniform programming model

with standard services

(110)

3 types of middleware:

Transaction oriented (for distributed database

applications)

Message oriented (for reliable asynchronous

communication)

Remote procedure calls (RPC) – the original

OO middleware

(111)

Distributed Computing &

Database Lab 111

Thin & Fat Clients

• Thin client

=

Network computer

– Typically no local storage

– has only presentation function

(= user interface)

• Fat

Client

= Desktop PC, Workstation

– has both presentation function and logic function

(=application)

• Motivation for Thin Clients

– Hidden costs of System administration and supports

• Networks computers move toward centralized system

Admin. , but local processing at client

– Java(mobile code)  an enabling technology

• E.g. PDA, ….

(112)

File Server Architecture

(113)

Database server architecture

Thinner

clients

DBMS only on server

(114)

Three-tier architecture Thinnest clients

Business rules on

separate server

DBMS only on DB server

(115)

Application Layering

The simplified organization of an Internet search

engine into three different layers.

(116)

Principles of Information Systems, Seventh Edition 116

Key Technology Infrastructure

Components

(117)

Internet Architecture:

(118)

The Domain Name System

(119)

Google: System Architecture

Provide powerful, fast search capability for material

on the Internet

Derive income from advertising that is targeted to

each user based on their searches

Basic requirements

– Capable of responding to millions of simultaneous requests from all over the world

– Perform a web crawl of the Internet retrieve and organize data

– Establish ranking of results with appropriately targeted advertising

– High reliability of the system

– System is easily scalable and cost effective

(120)

Google Data Center Search Application

Architecture

(121)

Simplified Google System Hardware

Architecture

(122)

The Future of Network Computing

More Tier, More Functional Server

Powerful One Server(2–Tier)

Functions, Flexibility of Systems

Mobile Server

(123)

Summary of Class

Computer System

Data Presentations

Analog/ Digital Data /Systems

Data/ Computer Communications

System, Software Architecture

Layering Structure

Protocols

Networks Computing

Client/Server

References

Related documents