0% found this document useful (0 votes)
85 views

CSComputing

computing

Uploaded by

pkrsuresh2013
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
85 views

CSComputing

computing

Uploaded by

pkrsuresh2013
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 108

ITC 223: CLIENT SERVER COMPUTING

OBJECTIVES
ƒ Reinforce the knowledge in the networking system
ƒ Special emphasis on Internet Protocols and Client Server based architecture

CONTENTS
1. Introduction Client/Server

2. Client Server Components

3. Networking and Communication

4. Transport Layer Protocols

5. Introduction to Operating System

6. Understanding Middleware

7. Business Process Reengineering

8. Data Warehousing

9. Performance Tuning and Optimization

10. Securing a Client/Server System

11. The Recent Trends in Client/Server Computing

12. Client/Server Database and Development

TEXT BOOKS
-Alex Berson, "Client/Server Architecture"
-Neil Jonkins et al, "Client/Server Unleashed"
-Jeffrey D. Schank, "Client/Server Applications and Architecture"
CLIENT-SERVER COMPUTING

INTRODUCTION TO CLIENT/SERVER
TRADITIONAL CONCEPT
ƒ In the early days of network-based computing, organizations could not afford to have a hard
disk and processor on every system in the network.
ƒ The cost of memory and processors was pretty high.
ƒ Centralized computing system with several dumb terminals and a single Intelligent System.
ƒ A dumb terminal is a system on a network, which consists of only a keyboard and a monitor.
It does not have its own processor or storage device.
ƒ Intelligent terminal is a normal system, it has its own storage device and processor. This
intelligent system handled all the processing requirements of the computers connected to it.

TRADITIONAL ARCHITECTURE
ƒ The Intelligent System controls all processing jobs and resources.
ƒ The dumb terminals depend on this central Intelligent System.

EVOLUTION OF CLIENT/SERVER TECHNOLOGY


ƒ For over two and a half decades till mid 1970s, networking scenario was Proprietary.
ƒ Proprietary networking is a networking design or technique that is owned by a company.
ƒ Such designs are built to match the specifications and requirements of an organization.
ƒ Proprietary networking solutions were quite expensive
ƒ It has its own set of networking and connectivity standards.

Page 1 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

OPEN SYSTEMS
ƒ For create better and improved networking solution the concept of open system introduced.
ƒ Open systems are systems that adhere to a standard set of interfaces
ƒ Standardization: Chips, Peripherals, Networking protocols, O/S and Software Components.
ƒ Allows the implementation of networking & software products from multiple vendors

BIRTH OF CLIENT/SERVER TECHNOLOGY


ƒ A new computing technology based on open systems, called distributed computing was
introduced.
ƒ Distributed computing: Computing load distributed across multiple machine on a network.
ƒ This new technology was further developed, called Client/server technology.

Page 2 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

WHAT IS CLIENT/SERVER?
ƒ Client/Server is a computational architecture that involves client processes requesting service
from server processes.
ƒ It is an architectural model in which a system's functionality and its processing are divided
between the client PC (front end) and a server (back end).
ƒ System functionality: Programming Logic, business rules and data management is segregated
between client and server.
ƒ SERVERS: Powerful computers or processes dedicated for managing the network traffic,
storage space, and resources such as files and printers.
ƒ CLIENTS: PCs or workstations on which users run applications.
ƒ The clients rely on servers for resources, such as files, hard disk, and printers.

BUILDING BLOCKS OF CLIENT SERVER TECHNOLOGY


These building blocks of the client/server technology are:
• Client

• Server

• Network

• Applications

THE CLIENT SIDE


ƒ The client is the user interface in a client/server environment
ƒ Client machines use sophisticated GUI tools that provide users with a consistently tailored
system view.

Page 3 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ The client manages all user interactions, and hides the server and the network from the user.
ƒ It creates an illusion that the entire application is executing locally, without the use of other
processes, machines, or networks.

THE SERVER SIDE


ƒ A server in a client/server environment is a reactive process, activated by requests sent from
clients.
ƒ The client programs send requests to the server for providing services, such as transmitting a
requested file, processing a program code, executing a set of SQL statements, or printing a
file.
ƒ A server is capable of providing multitasking support and shared memory services.

THE NETWORK
ƒ The Network in a client/server environment, connects the clients with the servers.
ƒ Client computers communicate with the server through the network.
ƒ Network classification according to geographical coverage : LAN,MAN,WAN

Page 4 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

THE APPLICATIONS

ƒ The applications ties the other three components to form the client/server architecture.

ƒ Software applications that run on the client and the server establish the communication
between the client and the server.

BENEFITS OF CLIENT/SERVER

1. IMPROVED INFORMATON ACCESS

ƒ A well designed client/server system provides users with easy access to information.

ƒ The user friendly front-end application displays information that the user requests.

2. INCREASED PRODUCTIVITY

ƒ A client/server system increases users productivity by providing them with the tools to
complete their tasks more easily.

ƒ It automatically validates information, performs calculations and reduces duplicate data


entry.

3. AUTOMATED BUSINESS PROCESSES

ƒ A client/server system can automate company's business process by eliminating manual


labor.

ƒ Example : Electronic Purchase Ordering System.

Page 5 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

4. POWERFUL REPORTING CAPABILITIES

ƒ Information is stored in relational database hence can be easily queried.

ƒ Client/server system provide features that enables end users to create and customize
report.

5. IMPROVED CUSTOMER SERVICE

ƒ Provides fast response to customer.

6. RAPID APPLICATION DEVELOPMENT

ƒ Provides programmers to create applications by taking advantage of OOP technique.

ƒ GUI design tools provide drag and drop facilities.

7. COST REDUCTIONS AND SAVINGS

ƒ Many companies have replaced their mainframe systems with client/server and saved
millions of dollars.

ƒ People can accomplish their task faster so they save time and effort which also translates
into a financial savings.

8. INCREASED REVENUE

ƒ A client/server system does not generate revenue itself.

ƒ Plays a significant role in contributing to increase revenue.

ƒ Examples :

9 Enables a new product to de developed faster so that it hits the market sooner.

9 Enables a company to spot sales opportunities faster.

9 Identifies which marketing strategy work well and should be used again.

9 Identifies the desire of a customer.

9. QUICK RESPONSE TO CHANING MARKETPLACE

ƒ Business are changing rapidly.

ƒ The market place is now more competitive.

ƒ Change in business can be made with the help of client/server technology.

ƒ During 1980s,no real business processing were done on LANs : Centralized System.

ƒ Successful client/server breaks up a company's major business areas into several distinct
units.

Page 6 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

"IGNORE THE MYTH"

1.Robust client/server systems can be developed overnight.

2.Implementing a client/server system is inexpensive

MOVING TO CLIENT/SERVER

ƒ Companies are introducing client/server systems into their organization from two general
directions.

ƒ Some companies are downsizing to client/server and replacing their mainframes.

ƒ Others are upsizing to client/server and replacing their file server based database system.

1.DOWNSIZING

ƒ Replacements of mainframe systems.

ƒ The three main issues of replacement of mainframe computers are as follows

9 The mainframe's inability to support adhoc queries.

9 Inabilities to quickly modify mainframe programs.

9 The high maintenance and support costs for keeping a mainframe running.

2.UPSIZING

ƒ Many smaller to midsize firms are upsizing to client/server.

ƒ Companies are turning to client/server system because of the limitation in current system.

9 Incapable of managing larger number of concurrent users.

9 Incapable of handling the increased volume of data.

9 Incapable of providing acceptable performance.

ADJUSTING TO CLIENT/SERVER CHANGES

ƒ Designing, development and implementing a successful client/server system requires


increase end user involvement.

ƒ Department of Information System has to improve their communication skills.

ƒ Gain a better understanding of how the business works.

ƒ The IS staff must acquire new technical skills required to build client/server systems.

ƒ Client/server systems are so powerful and flexible : Business re-engineering concepts

ƒ Re-engineering translates people to learn new ways of doing jobs in addition to the new
computer system.

Page 7 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

CLIENT SERVER IMPLEMENTATION

ƒ The client/server system can be either centralized or distributed.

ƒ Under centralized implementation, several client systems are connected to a single


centralized server in a network.

ƒ Distributed implementation, on the other hand, involves a collection of client systems


connected to various distributed servers in a network.

ƒ Distributed client/server system includes several groups of centralized networks.

CLIENT/SERVER PROCESS

Typically, the following steps are involved in processing a client request in a client/server
environment.

1. Client sends a request, such as retrieving data from a database, to the server.
2. Server accesses the database and retrieves the required data for the client.
3. Server processes the retrieved data, if required.
4. Server sends this processed information to the client.
5. Client then presents this information to the user.

Page 8 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

TYPES OF SERVERS IN A CLIENT/SERVER MODEL

You might implement various types of servers in a client/server environment. The various types
of servers available in a client/server model are:

• File server
• Database server
• Transaction server
• Application server
• Groupware server

1. FILE SERVER

ƒ A file server, also known as Networked File Server (NFS), is a server on the network that
stores the data files, which can be accessed by network clients.

ƒ When a client sends a request for a file over the network, the file server searches and
returns the requested file to the client.

2. APPLICATION SERVER

ƒ An application server regulates resources and processes, such as e-mail, on the network.
ƒ Various resources are placed on the server, enabling users at the client end to share these
resources, as and when required.

Page 9 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

3. GROUPWARE SERVER
ƒ A groupware server is responsible for handling the management of semi-structured
information, such as text, image, mail, bulletin boards, and the flow of work, in a network.

ƒ Groupware servers enable people in a client/server environment to be in direct contact


with each other

ƒ For instance, groupware servers might be implemented to enable conferencing or


electronic meetings among employees of an organization located in Jomsom and
Kathmandu.

4. DATABASE SERVER

ƒ A database server in a client/server environment is responsible for maintaining data on


the network.

ƒ A database server is responsible for handling database queries from the clients and
returning requested data to them.

5. TRANSACTION SERVER

ƒ A transaction server in a client/server environment contains an SQL database engine.

ƒ Clients invoke remote procedures that reside on the transaction server.

ƒ The transaction server handles a set of SQL statements sent by a client as a single
transaction

Page 10 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

CLIENT SERVER MODELS

ƒ Client/server systems can be classified based on the way in which the system have been
built.

ƒ There are four different models :

o Distributed Presentation
o Remote Presentation
o Distributed Logic
o Remote Data
o Distributed Data

SERVER

DATA DATA DATA DATA DATA

NETWORK
APP. APP. APP.
LOGIC LOGIC LOGIC

END
USER
DISPLAY

DATA

APP. APP. APP.


LOGIC LOGIC LOGIC

END END END END END


USER USER USER USER USER
DISPLAY DISPLAY DISPLAY DISPLAY DISPLAY

CLIENT

Page 11 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

1. DISTRIBUTED PRESENTATION

ƒ Distributed presentation means both the client and the server machines format the display
presented to the end user.

ƒ The client machine intercepts display output from the server and reroutes the output
through its own process before presenting to the user.

ƒ The easiest model is to provide terminal emulation on the client.

ƒ More advanced form of terminal emulation : Screen scraping.

2. REMOTE PRESENTATION

ƒ It is useful when moving from a dumb terminal environment to a PC-LAN environment.

ƒ The server sends a raw data stream to client.

ƒ The client formats the data and presents it to the end user.

ƒ All the core system and application logic resides on the server.

ƒ The client and server process communicate through more advanced protocols such as
IBM's Advanced Peer to Peer Communications (APPC).

3. DISTRIBUTED LOGIC

ƒ A distributed logic client/server splits the logic of application between the client and server
processes.

ƒ Typically, an event-driven GUI application on the client controls the application.

ƒ The client and server process can communicate through variety of middleware tools.

4. REMOTE DATA

ƒ The client handles all the application logic and end user presentation.

ƒ The server provides only the data.

ƒ Clients typically use remote SQL or ODBC to access the data stored on the server.

ƒ Applications built in this way are currently the most common in use.

5.DISTRIBUTED DATA

ƒ The distributed data model uses data distributed across multiple networked systems.

ƒ Data sources may be distributed between the client and the server or multiple servers.

ƒ It is complex and requires a great deal of planning and decision making to use effectively.

ƒ It requires advanced data management scheme to enforce data concurrency,sercurity and


integrity across multiple platforms.

ƒ This model is the most difficult client/server model to use.

Page 12 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

CLIENT SERVER COMPONENTS

A. CLIENT SIDE COMPONENTS

CLIENT HARDWARE

ƒ Client hardware can range from an old Apple II to a Cray supercomputer.

ƒ All the client needs

√ Connection to the server.


√ Capability to run client's software.

ƒ Some newer systems like mobile phones, palms or PDAs are also clients.

ƒ Although they can’t perform as many functions as a desktop machine.

ƒ They can only send and receive information to and from server.

CLIENT SOFTWARE

ƒ Most client software is available for many computers and operating systems.

ƒ In previous days client software was all command line software.

ƒ Now there are graphical interfaces for most client software : User friendly.

OPERATING SYTEMS ON CLIENT

1. Microsoft Windows 3.x, Windows 95, Windows NT, Windows XP

ƒ Windows 3.0 was the 3rd major release of Microsoft Windows.

ƒ It was first widely successful version of Windows enabling Microsoft to compete with Apple
Macintosh.

ƒ Windows 3.1 is a host based o/s that runs on Intel 386 based PCs and above.

ƒ It has larger degree of backward compatibility with older windows platform

ƒ Windows 95 is a consumer-orientated graphical user interface-based operating system.

ƒ 32/16 bit Windows built with the concept of cooperative multitasking.

ƒ It requires Intel 486 based PC with 8 MB of RAM to run.

ƒ Windows 95 was intended to combine the functions of Microsoft's formerly separate MS-
DOS and Windows products.

ƒ Long file name support

ƒ VFAT File System.

Page 13 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ Windows NT is the first 32 bit operating system.

ƒ Windows NT supports preemptive multitasking and threading like most large scale
systems.

ƒ Available in two versions : Workstation Edition and Server Edition.

ƒ The NTFS file system has powerful multi-user and security features.

ƒ Different windows product beneficial for the development of client/server systems are

√ OLE
√ Activex

OLE : Object Linking and Embedding.

ƒ It is implemented as a set of DLL for windows o/s.


ƒ OLE is a distributed object system and protocol developed by Microsoft.
ƒ OLE allows an editor to "farm out" part of a document to another editor and then reimport
it.
ƒ All data can be thought of as an object.
ƒ Example: Graphic image,Spreadsheet chart, Text.
ƒ OLE 1.0, released in 1990, was the evolution of the original dynamic data exchange.
ƒ There are 3 terms used in OLE :
o OLE Object : A cell from spreadsheet or image from graphics program.
o OLE Server : Graphics application would be a server application for a picture that
was embedded in word processor document.
o OLE Client : Word processor.

Activex

ƒ In 1996, Microsoft renamed the OLE 2.0 technology to ActiveX.


ƒ This version is commonly used by Web designers to embed multimedia files in Web pages.

2. IBM OS/2

ƒ IBM's main client operating system is OS/2.


ƒ By mid 1980s, DOS was beginning to show its limitations.
ƒ The introduction of more sophisticated hardware and the demands of more complex
applications limited MS-DOS by its 16 bit architecture.
ƒ IBM and Microsoft signed the Joint Development Agreement in August 1985.
ƒ OS/2 1.0 was announced in April 1987 and released in December, as a text mode-only
Operating System.

Page 14 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ The promised GUI, Presentation Manager, was introduced with OS/2 1.1 in November
1988.
ƒ OS/2 was expected to fill the gap between DOS and large o/s UNIX.
ƒ But many users opted to stay with DOS to switch to windows or to change to UNIX.
ƒ There were several technical reasons for the breakup and several practical reasons why
the public preferred Windows
o API incompatibility
o OS/2 could not run Windows programs
o Insufficient backwards compatibility
o The 640 KB barrier has been broken by other means.
ƒ In 1992 IBM without Microsoft relauched OS/2 with improved support for running DOS
and added support for running windows application.
ƒ It seemed costly because IBM had to pay a royalty to Microsoft.
ƒ That latest version of OS/2,OS/2 Warp contain no Microsoft code : no royalty
ƒ Price is reduced to half.
ƒ The main drawbacks: IBM needs to update its OS/2 every time Microsoft releases new
version of windows.

3. X Window

ƒ The X Window is a vendor and hardware independent network based windowing system.
ƒ It was developed at MIT and has become the de facto industry standard for window-based
applications in the UNIX environment.
ƒ The XClient and XServer communicate by means of the Xprotocol.
ƒ The Xprotocol is asynchronous : requests are not normally acknowledged.

4.Apple

ƒ Apple makes the Macintosh range of desktop computers (Mac).

ƒ Reputation : High display quality, Easy to use.

ƒ Apple launched a challenge to Intel/Microsoft with the release of its Power Macintosh or
Power PC desktop computer.

ƒ It is based on RISC processor developed by IBM.

ƒ Apple, IBM and Motorola has developed Power PC Technology.

ƒ The PowerMac is able to run Mac software and native Power PC.

ƒ The PowerMac also provides support for DOS and windows application through Insigna’s
soft windows emulation package.

ƒ Performance of MS Windows is unfortunately comparable to that of a low end 486 PC.

Page 15 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

B. SERVER SIDE COMPONENTS

SERVER HARDWARE

ƒ Server hardware traditionally has been a minicomputer : Sun or Cray or a high end IBM or
DEC computer.

ƒ Introduction of Pentium and power pc processors more PCs are being used as a server.

ƒ Example : A company wanted to post employee manuals, memos on a web server ???

ƒ Solution : Pentium computer would be sufficient.

ƒ Example :A large corporation wanted to maintain an upto date nation wide inventory ???

ƒ Solution : A more powerful computer is required.

SERVER SOFTWARE

ƒ Concept of multiple servers on one computer.

ƒ In a typical intranet: A mail server to process and deliver mail, FTP server to manage file
transfers, a web server to host and serve world wide web documents.

ƒ Each server listens for a specific requests

ƒ The appropriate server then answers the request.

ƒ Memory and space requirements are directly proportional to no of concurrent users and no
or requests to be processed at one time

1. PC-Based Servers

ƒ PC based servers are continually increasing its use rate.

ƒ Choose a system with proven reliability.

ƒ Make sure that each system offers expansion and upgradation features.

ƒ Server should be able to grow with business requirements.

ƒ PC based servers are available from a wide range of vendors : IBM,HP and Compaq

2. UNIX Servers

ƒ UNIX based servers are available from many hardware vendors.

ƒ RS/6000 range from IBM, HP-UX range from Hewlet Packard and DEC Alpha from Digital.

ƒ Can be scaled up from individual workstations through enterprise level servers.

ƒ UNIX servers are suited for both the commercial and numeric computing environments.

ƒ Wide range of performance options from single processor systems (SMS) to Massively
Parallel Systems.

Page 16 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ They support an extensive range of connectivity, storage and media options.

ƒ Growth areas of UNIX based servers : Web Servers, Database Servers etc

ƒ UNIX servers can act as very large scale servers.

ƒ IBM’s RS/6000 SP is an open parallel computer based on RISC technology.

ƒ It has a flexibility to function as an application server or data server.

3. IBM AS/400 : Application System/400

ƒ The AS/400 (also known as AS/400, iSeries (since 2000) and System i5 (since 2006)) is
a type of minicomputer produced by IBM.

ƒ The AS/400 is an object-based system with an integrated DB2 database,Security system


and Network Management System.

ƒ The cost of AS/400 ownership can be much less

ƒ First, key systemfunctions are built in and tested to work together.

ƒ Second integrated functions reduces programming cost : No payment to outside vendors.

ƒ Third simpler operation helps users to become more productive.

ƒ The AS/400 has an open approach to communication : Available to link AS/400 into even
the most complex networked systems.

ƒ It can interact with other computing environments including UNIX,Windows NT and


Windows 95.

ƒ AS/400 advanced series incorporates special design features that make it ideal for data
warehousing applications.

4. Mainframe

IBM Z890 Mainframe

ƒ Mainframes : Big irons

ƒ Large and expensive computers used mainly by government institutions and large
companies for mission critical applications.

ƒ Focus of client/server systems : Smaller PCs and Midrange systems.

ƒ Mainframe is very much a part of picture.

ƒ Realizations of companies that it makes a good, large data server in a client/server


system.

ƒ Vendors : IBM,Hitachi Data Systems

ƒ Downsizing could not kill mainframe environment.


Page 17 © KUMAR PUDASHINE
CLIENT-SERVER COMPUTING

C. NETWORK OPERATING SYSTEM FOR CLIENT-SERVER

1. Novell Netware Operating System

ƒ NetWare is a network operating system developed by Novell, Inc.

ƒ It runs on any IBM or compatible and supports all major LAN vendor’s hardware.

ƒ Philosophy is to make itself a de facto industry standard by dominating the market place.

ƒ NetWare was based on the NetWare Core Protocol (NCP), which is a packet-based
protocol.

ƒ NCP was directly tied to the IPX/SPX protocol, which meant that natively, NetWare could
only communicate using IPX/SPX.

ƒ NetWare evolved from a very simple concept.

ƒ One or more dedicated servers were connected to the network, and disk space was shared
in the form of volumes.

ƒ Clients had to log in to a server in order to be allowed to map volumes, and access could
be restricted according to the login name.

ƒ Similarly, they could connect to shared printers on the dedicated server, and print as if
the printer was connected locally.

# Topology

ƒ Netware can run on a number of different topologies.

ƒ Depending on hardware it can run on different configuration.

ƒ 3 Com’s Ethernet bus hardware : Bus Topology

ƒ ARCnet hardware : Token Ring Topology

#Netware and the concept of a File Server

ƒ Netware is designed for true network file server support.

ƒ The file server software forms a shell around the operating system and is able to intercept
commands from application programs before they can reach to o/s’s command processor.

ƒ Interaction of File Server and individual workstation ?

ƒ The network interface to network file server (Network Shell) resides in each workstation.

ƒ It is responsible for intercepting network commands from an application program.

ƒ When application program requests a specific File ?

√ The shell must first determine whether the request is for a local file or a network
request for information located in a file server.

√ If information resides on workstations local drive : handled as normal I/O.

Page 18 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

√ If requested file is located on a file server then

√ The request translator issues a read request to the file server

√ Server locates the file and transmits it to the workstation in the form of reply packet.

√ The packet is received by a reply translator, which converts this information into a
form the local workstation can handle.

√ The command processor then provides the application program with this data.

2. Microsoft Windows NT

ƒ Microsoft supplies a file server network operating system called Network Operating
System : Windows NT Server.

ƒ The NT server runs on top of Microsoft’s 32 bit Operating System.

ƒ True 32 bit o/s available in client and server versions.

ƒ The key features of NT are as follows

√ Preemptive Multitasking

√ Multithreaded processes

√ Portability

√ Support for symmetric Multiprocessor Processing (SMP)

ƒ Preemptive multitasking permits simultaneous foreground and background multitasking.

ƒ Multithreaded process refers to the threads under NT that functions as execution agents.

ƒ It uses NTFS : Support file name upto 256 characters.

ƒ It also permits Transaction Tracking : Rolls back to its previous state just before the
system crash.

ƒ It includes the support for the IEEE 802.2 specifications, SDLC (Synchronous Data Link
Control), X.25 protocols.

# Windows NT’s Architecture

ƒ Microsoft designed windows NT to be modular and portable.

ƒ It is composed of kernel as well as several different subsystems.

ƒ A Virtual Dos Machine runs MSDOS and 16 bit windows applications.

ƒ The kernel is responsible for NT’s basic operations.

ƒ It allocates and synchronizes multiple processsors as well as handling interrupts and error
exceptions.

ƒ NT Executive manages the interface between the kernel and various subsystems.
Page 19 © KUMAR PUDASHINE
CLIENT-SERVER COMPUTING

ƒ Hardware Abstraction Layer translates the NT Executive’s command into a form that
can be understood by the hardware found in the physical platform running NT.

# Performance Features of Windows NT

ƒ Windows NT is a true 32 bit operating system.

ƒ Applications can execute multiple commands simultaneously.

ƒ Windows NT also supports system with multiple processors and provides the ability to
perform Symmetric Multiprocessor Processing (SMP)

ƒ It allows system and applications requirements to be evenly distributed across all


available processor.

ƒ Uses flat memory model ( application can access upto 2 GB of RAM).

ƒ Requires at least an Intel based 486 DX machine and at least 12 MB or RAM and 100 MB
or secondary storage.

# Security Under NT

ƒ Windows NT requires user to enter a password each time they start the O/S.

ƒ Another security feature of NT is the User Manager.

ƒ Event viewer program enables network managers to view a log of all network errors.

ƒ NT is certifiable at US government C2-level for secure environments.

# Running NT with other Operating System

ƒ Windows NT server provides built in file sharing and print sharing capabilities.

ƒ It includes built in support for IPX/SPX,TCP/IP and NetBEUI protocols

ƒ NT is compatible with 95,VINES,Netware, UNIX

ƒ It provides API that permits network operating system vendors to write client software for
their products to run.

ƒ It supports SNMP (Simple Network Management Protocol) .

#Internet Information Server (IIS)

ƒ Microsoft’s Internet Information Server is a web server integrated into Windows NT


server.

ƒ You can quickly install all the services required for the Internet and Intranets.

ƒ The IIS contains a performance monitor to measure all Internet events in real time.

Page 20 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

3. Banyan VINES

ƒ Banyan System’s VIRtual Networking System (VINES) is a network o/s based on heavily
modified version of UNIX.

ƒ VINES places a premium on internetwork connectivity, security and transparent


operations.

ƒ VINES support a wide variety of hardware platform.

ƒ All VINES services including naming,file,printer and mail executes as UNIX processes.

ƒ These services can be stopped and started from the server without distributing other
services.

ƒ VINES version 6.0 support for client running DOS,Windows 95,OS/2.

ƒ It supports various protocols VINES/IP,IPX,AppleTalk and NetBIOS.

ƒ Its global directory makes it a leader in internetwork connectivity.

# Street Talk

ƒ Distribute database which provides global directory for network communication.

ƒ Serves as resource naming service.

ƒ Resources : Users,Services (Such as Printers,Files)

ƒ Street Talk name structure is three fold separated by @

ƒ Object @ group @ organization

ƒ Example : Allan William, an account executive in PolyTech General’s Western regional


office might have Street Talk name as : ALLANWILLIAMS@SALES@WESTERN

# Security Under VINES

ƒ VINES provides several different layers of security.

ƒ A Network administrator can require a password for login to the network.

ƒ Can also specify hours and days permitted for a particular user to log into network.

ƒ VINES version 3.0 and later contains security software known as Vanguard.

ƒ Lets the administrator to limit the number of simultaneous logins.

ƒ Under VINES each user service and communication link has an ARL : Access Rights List.

Page 21 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

NETWORKING AND COMMUNICATION

THE OSI MODEL

ƒ This model is based on a proposal developed by the ISO.

ƒ The model is called ISO OSI(Open Systems Interconnection) Reference Model.

ƒ Because it deals with connecting open systems: Systems that are open for communication
with other systems.

ƒ The principles that were applied to arrive at the seven layers :

9 A layer should be created where a different abstraction is needed.

9 Each layer should perform a well-defined function.

9 The function of each layer should be chosen with an eye toward defining
internationally standardized protocols.

9 The layer boundaries should be chosen to minimize the information flow across the
interfaces.

9 The number of layers should be large enough :Distinct functions in different layer

ƒ Note : The OSI model itself is not a network architecture.

ƒ Because it does not specify the exact services and protocols to be used in each layer.

ƒ It just tells what each layer should do.

ƒ The OSI model consists of seven distinct layers

Page 22 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

Physical Layer

ƒ The lowest layer in the OSI model is physical layer.

ƒ The physical layer is concerned with transmitting raw bits over a communication channel.

ƒ The design issues largely deal with mechanical,electrical and timing interfaces.

Data Link Layer

ƒ The data link layer provides reliable data delivery across the physical network.

ƒ Breaks up input data into data frames.

ƒ It deals with error detection and control.

ƒ Another issues of data link layer is flow control.

Network Layer

ƒ Network layer controls the operation of subnet.

ƒ A key design issue is determining how packets are routed from source to destination.

ƒ Routing can be based on static or dynamic algorithm.

ƒ It also takes care of network congestion.

Transport Layer

ƒ This layer deals with the management of data into packets.

ƒ Based upon the protocol this layer do or do not provide error recovery

ƒ TCP : Do provide error recovery.

ƒ UDP : Do not provide error recovery.

ƒ The transport layer is a true end-to-end layer,all the way from the source to the
destination.

Session Layer

ƒ The session layer allows users on different machines to establish sessions between them.

ƒ Sessions offers various services : Dialog control, token management and synchronization.

ƒ Dialog Control : Keeping track of whose turn is to transmit.

ƒ Token management : Preventing two parties from attempting the same critical operations
at the same time.

ƒ Synchronization : Check pointing long transmissions to allow them to continue from where
they were after a crash.

Page 23 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

Presentation Layer

ƒ The presentation layer is concerned with the syntax and semantics of the information
transmitted.

ƒ This layer's main purpose is defining data formats such as ASCII,EBCDIC .

ƒ Encryption is also defined by OSI as a presentation layer service.

Application Layer

ƒ The application layer contains a variety of protocols that are commonly needed by users.

ƒ One widely used application protocol is HTTP which is the basis for the WWW.

PROTOCOLS

ƒ The OSI model provides a conceptual framework for designing networks.

ƒ A protocol is a set of rules that governs the communications between computers on a


network.

ƒ Mostly wide used protocol : TCP/IP

1. TCP/IP

ƒ It is becoming the de facto industry standard for client/server applications.

ƒ It has grown to be the protocol of choice for multivendor,heterogeneous platforms.

ƒ The four layers of TCP/IP : Application,Transport,Internet and Host to Network

2. XNS

ƒ Xerox Network Services Internet Transport Protocol.

ƒ It follows a five-layer model and was developed by Xerox Corporation.

ƒ This protocol was primarily used to connect Ethernet devices.

3. IPX

ƒ Internet Packet Exchange Protocol.

ƒ It is the default protocol in Novell's Netware Network.

4. AppleTalk

ƒ AppleTalk is Apple Computer Inc's Protocol.

ƒ It is used to connect Macintosh computers and other network devices.

5. SNA

ƒ SNA is IBM's proprietary networking architecture.

Page 24 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ It was originally proposed to provide remote access to large mainframe computers.

ƒ SNA is also seven layered.

ƒ Issues like SNA gateways from PC-LAN based networks to mainframes for data access will
affect network design.

6. LAN Protocols

ƒ The most commonly used LAN protocols are : Ethernet,Token Ring,FDDI,ATM

# Ethernet

ƒ Most widely used protocol.

ƒ Ethernet uses an access method called CSMA/CD.

ƒ The Ethernet protocol allows linear bus, star, or tree topologies.

ƒ Data can be transmitted over wireless access points, twisted pair, coaxial, or fiber optic
cable.

ƒ It supports a speed of 10 Mbps up to 1000 Mbps.

#Token Ring

ƒ The Token Ring protocol was developed by IBM in the mid-1980s.

ƒ The access method used involves token-passing.

ƒ The computers are connected so that the signal travels around the network from one
computer to another in a logical ring.

ƒ A single electronic token moves around the ring from one computer to the next.

ƒ If a computer does not have information to transmit, it simply passes the token on to the
next workstation.

ƒ If a computer wishes to transmit , it attaches data to the token.

ƒ The Token Ring protocol requires a star-wired ring using twisted pair or fiber optic cable.

ƒ It can operate at transmission speeds of 4 Mbps or 16 Mbps.

#FDDI

ƒ FDDI : Fiber Distributed Data Interface

ƒ Network protocol used primarily to interconnect two or more local area networks.

ƒ The access method used by FDDI involves token-passing.

ƒ FDDI uses a dual ring physical topology

ƒ A major advantage of FDDI is speed. It operates over fiber optic cable at 100 Mbps.

Page 25 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

#ATM

ƒ Asynchronous Transfer Mode.

ƒ It is a network protocol that transmits data at a speed of 155 Mbps and higher.

ƒ ATM works by transmitting all data in small packets of a fixed size.

ƒ ATM supports a variety of media such as video, CD-quality audio, and imaging.

ƒ ATM employs a star topology, which can work with fiber optic as well as twisted pair cable.

ƒ ATM is most often used to interconnect two or more local area networks

TOPOLOGIES

ƒ Physical Topology and Logical Topology.

ƒ Logical Topology: Method used to pass information between workstations.

ƒ Physical Topology : Refers to the arrangement of computers & other devices in a network.

ƒ Main Types of Physical Topologies : Linear Bus, Star ,Ring and Tree

# Linear Bus Topology

ƒ linear bus topology consists of a main run of cable with a terminator at each end.

ƒ All nodes (file server, workstations, and peripherals) are connected to the linear cable.

ƒ Ethernet and LocalTalk networks use a linear bus topology.

# Star Topology

ƒ It is designed with each node connected directly to a central network hub or switch.

ƒ Data on a star network passes through the hub/switch before continuing to its destination.

ƒ The hub or concentrator manages and controls all functions of the network.

ƒ It also acts as a repeater for the data flow.

Page 26 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

# Tree Topology

ƒ A tree topology combines characteristics of linear bus and star topologies.

ƒ It consists of groups of star-configured workstations connected to a linear bus backbone


cable.

# Ring Topology

# Mesh Topology or Fully Connected Topology

# Extended Hypercube Topology

Page 27 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

CABLES

ƒ Medium through which information usually moves from one network device to another.

ƒ There are several types of cable which are commonly used with LANs.

ƒ The type of cable chosen for a network is related to the network's topology, protocol, and
size.

# UTP : Unshielded Twisted Pair Cable

ƒ Twisted pair cabling comes in two varieties: shielded and unshielded.

ƒ UTP is the most popular and is generally the best option for most of the networks.

ƒ The cable has four pairs of wires inside the jacket.

ƒ Each pair is twisted with a different number of twists per inch to help eliminate
interference from adjacent pairs and other electrical devices.

ƒ The tighter the twisting, the higher the supported transmission rate and the greater the
cost per foot.

ƒ The EIA/TIA (Electronic Industry Association/Telecommunication Industry Association) has


established standards.

Categories of Unshielded Twisted Pair

Type Use

Category 1 Voice Only (Telephone Wire)

Category 2 Data to 4 Mbps (LocalTalk)

Category 3 Data to 10 Mbps (Ethernet)

Category 4 Data to 20 Mbps (16 Mbps Token Ring)

Category 5 Data to 100 Mbps (Fast Ethernet)

Page 28 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ The standard connector for unshielded twisted pair cabling is an RJ-45 connector

ƒ RJ stands for Registered Jack, standard borrowed from the telephone industry.

#Coaxial Cable

ƒ Coaxial cable has a single copper conductor at its center.

ƒ A plastic layer provides insulation between the center conductor and a braided metal
shield.

ƒ The metal shield helps to block any outside interference from fluorescent lights, motors,
and other computers.

ƒ Although coaxial cabling is difficult to install, it is highly resistant to signal interference.

ƒ Thin coaxial cable is also referred to as thinnet.

ƒ 10 Base 2 refers to the specifications for thin coaxial cable carrying Ethernet signals.

ƒ The 2 refers to the approximate maximum segment length being 200 meters.

ƒ Thick coaxial cable is also referred to as thicknet.

ƒ 10Base5 refers to the specifications for thick coaxial cable carrying Ethernet signals.

ƒ The 5 refers to the maximum segment length being 500 meters.

ƒ Thick coaxial cable has an extra protective plastic cover.

ƒ The most common type of connector used with coaxial cables is the Bayone-Neill-
Concelman (BNC) connector.

Page 29 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

#Fiber Optic Cable

ƒ It consists of a center glass core surrounded by several layers of protective materials.

ƒ It transmits light rather than electronic signals eliminating the problem of electrical
interference.

ƒ Fiber optic cable has the ability to transmit signals over much longer distances than
coaxial and twisted pair.

ƒ It also has the capability to carry information at vastly greater speeds.

ƒ This capacity broadens communication possibilities to include services such as video


conferencing and interactive services.

Wireless LANs

ƒ Wireless LANs use high frequency radio signals, infrared light beams, or lasers to
communicate between the workstations and the file server.

ƒ Each workstation on a wireless network has some sort of transceiver to send and receive
the data.

ƒ Information is relayed between transceivers as if they were physically connected.

ƒ For longer distance :Cellular telephone technology, microwave transmission, satellite.

ƒ Wireless networks are also beneficial in older buildings where it may be difficult or
impossible to install cables.

ƒ Wireless LANs have several disadvantages

ƒ They provide poor security, and are susceptible to interference from lights and electronic
devices

ƒ They are also slower than LANs using cabling.

Page 30 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

BANDWIDTH

ƒ Bandwidth refers to the amount of data a cable can carry; measured in bits per second
(bps) for digital signal, or in hertz(Hz) for analog signals.

ƒ An analog bandwidth is computed as : Higher frequency-Lower frequency.

ƒ For example, the bandwidth of the human voice is roughly 2700 Hz (3000-300).

ƒ A larger bandwidth means greater potential data-transmission capability.

ƒ For digital signals, a higher bit rate represents a larger bandwidth.

ƒ Bandwidth of analog signal is represented as :

INTERNETWORKING OR LINKING LAN OVER WIDE AREA

# REPEATERS

ƒ A repeater is an electronic device that receives a weak or low-level signal and


retransmits it at a higher level or higher power.

ƒ By the use of repeater signal can cover longer distances without degradation.

ƒ In telecommunication, the term repeater has the following standardized meanings:

√ An analog device that amplifies an input signal regardless of its nature.

√ A digital device that amplifies, reshapes, or performs a combination of any of these

ƒ Repeaters are used in both copper-wire cables carrying electrical signals.

ƒ It is also used in fiber optics carrying light:Optical-Electrical-Optical (OEO) repeaters.

Page 31 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

# BRIDGES

ƒ Bridge generally refers to a hardware device that can pass packet from one network to
another.

ƒ It operates on data link layer.

ƒ A bridge makes the network look like a single network to higher level protocol.

ƒ It is used to connect LANs using the same network protocol.

ƒ Bridges are used only when the same network protocol (such as TCP/IP) is on both LANs.

ƒ The bridge does not care which physical media is used.

ƒ It can connect twisted pair LANs to coaxial LANs.

ƒ Two or more LANs involved in one organization and possibility of lot of traffic ??

ƒ It is better to connect the two LANs directly with a bridge instead of loading the backbone
with the cross traffic.

BRIDGE
LAN A LAN A

ROUTER ROUTER

BACKBONE

Page 32 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

# ROUTERS

ƒ A Router is a computer networking device that forwards data packets across an


internetwork toward their destinations, through a process known as routing.

ƒ Routing occurs at layer 3 (the Network layer e.g. IP) of the OSI seven-layer protocol
stack.

ƒ A router acts as a junction between two or more networks to transfer data packets among
them.

ƒ The first router was created at Stanford University by a staff researcher named William
Yeager

ƒ In order to route packets, a router communicates with other routers using routing
protocols.

ƒ This information creates and maintains a routing table.

ƒ LANs can be tied to WAN through a router that handles the passage of data between LAN
and WAN backbone.

ƒ Example : Cisco Routers,Fortinet etc

Page 33 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

# GATEWAYS

ƒ A gateway is a hardware or a software package that connects two different network


environments.

ƒ For Example : It is used to connect PC based network and IBM mainframe or token ring
network.

ƒ Gateways usually operate above communication subnet.

ƒ Gateway must also do protocol conversion : Connected to different environments.

ƒ In general gateway may provide variety of services :

√ Packet format and/or size of conversion.

√ Protocol conversion.

√ Data translation.

√ Multiplexing.

Page 34 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

COMMUNICATION

# THE COMMUNICATION MODEL

ƒ The fundamental purpose of a communication system is the exchange of data between


two parties.

ƒ Simplified communication model is represented as :

Source Transmitter Transmission Receiver Destination


System

1. SOURCE

ƒ This device generates the data to be transmitted.

ƒ Example : Telephones and PCs.

2. TRASMITTER

ƒ Usually the data generated by a source system are not transmitted directly.

ƒ A transmitter transforms and encodes the information to produce electromagnetic signals.

ƒ Example : Modem takes digital bit stream and transforms that bit stream into analog
signals.

3. TRANSMISSION SYSTEM

ƒ This can be a single transmission line or a complex network connecting source and
destination.

ƒ Example : Public Telephone Network.

4. RECEIVER

ƒ The receiver accepts the signal from the transmission system

ƒ And converts it into a form that can be handled by the destination device.

ƒ Example : Modem accepts analog signal and converts into digital.

5. DESTINATION

ƒ Takes the incoming data from the receiver.

ƒ Example : Server

Page 35 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

# COMMUNICATION IN CLIENT/SERVER ARCHITECTURE

ƒ Communication in Client/Server architecture can be viewed in two segments

9 Local Network

9 Outside a Local Network [Telecommunication]

ƒ Within local network, client applications communicate to servers using protocol suites of
LAN.

ƒ When data is communicated over wide area , telecommunication plays an important role.

LOCAL NETWORK : COMMUNICATION IN LAN

ƒ Client communicating with the server.

ƒ Simplified model of client/server communications :

ƒ In this model client and the server are connected over a physical wire
(cables,gateways,bridges).

Accept request

Specific database transaction

Authenticate and provide access

CLIENT SERVER

Node identification : login

Handshake Protocol

Load Protocol Suite

Physical Connection

Page 36 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

1. Protocols are verified and the client establishes software contact with the server.
[ Think of as telephone ringing on the other end when you call someone ]

2. Server sends handshake protocols. [ You know that your connection is good ]

3. The user longs into the client sending username and password to the server.

4. The server authenticates them and provides the service according to that particular user’s
privileges.

5. Then the user boots up a specific application.

6. Server processes the request and send the result to client.

UNDERSTANDING TELECOMMUNICATIONS

ƒ From 9.6 Kbps dial up lines to 2.5 Gbps SONET [ Synchronous Optical Network].

ƒ It plays an integral role in establishing communications between your applications and


data.

ƒ As business become global and workers more mobile : Client/server applications must
communicate over even larger geographical areas.

WHEN DIAL UP IS NOT ENOUGH ?

ƒ Dialup connections are used with simple file transfer and electronic mail functions.

ƒ What happens when you want to build robust, fault tolerant communications for your
application ? : No dial up

ƒ Leased Line required .

HOW FAST CAN YOU GO ?

ƒ Choices based on technology : Leased line, ISDN,ATM.

ƒ Leased Line : T-1 is popular.

ƒ T-1 is divided into 24 channels of 64 Kbps each.

ƒ T-2 : Equivalent to four T-1s

ƒ T-3 : Equivalent to 25 T-1s

ƒ SMDS : Switched Multimegabit Data Services [Provides a dedicated h/w link]

ƒ ATM : Asynchronous Transfer Mode.

ƒ Synchronous Optical Network : Offers bandwidth ranging from 55 Mbps to 2.5 Gbps.

Page 37 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

DESIGN CONSIDERATIONS

ƒ From communications perspective, client/server architects and designers must consider


three main factors :

o LAN protocols and communication issues.

o WAN Protocols and communication issues.

o Application design issues.

CLIENT/SERVER COMMUNICATON EVOLUTION FRAMEWORK

LAN

REMOTE ACCESS
NOS
ENTERPRISE
ANALOG
DIALUP

ANALOG
PROTOCOL DIALUP
ISDN

ISDN

LEASED
LINE

ATM

SONET

ƒ Figure illustrates how your client/server communication framework could evolve.

9 LAN Phase

9 Remote Access Phase

9 Enterprise Phase

Page 38 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

# REMOTE ACCESS PHASE

ƒ The First logical step to extend application beyond LAN is to grant remote access.

ƒ A 2 or 3 user branch office may also make use of remote access.

ƒ Remote access is facilitated by Remote Node/Remote Control.

ƒ In remote control, remote user will dial in and take control of a physical PC of LAN.

ƒ In remote node, remote user will Load LAN protocol and sent it over phone line.

ƒ Remote Access Server is used .

ƒ The simplest form of communication is to use analog modem.

ƒ For sophisticated system , BRI(Basic Rate Interface) ISDN can be used.

ƒ ISDN provides 2 channel of 64 Kbps and one channel of 16 kbps .

ƒ Two 64 Kbps : 2B

ƒ One 16 Kbps : 1D

ƒ So BRI is rated as 2B + D

ƒ D channel is used for call setup and is not available for your use.

ƒ Multiplexed voice and data can be passed from two B channels : Throughput of 128 Kbps.

ƒ PRI(Primary Rate Interface) ISDN : 23B+D

# ENTERPRISE PHASE

ƒ True client/server architecture.

ƒ Site to site communications, database to database communication, real time transaction


processing etc.

ƒ Simplest communication approach is Analog dialup.

ƒ Modern technologies like ATM,ISDN should be used.

ƒ ISDN may prove to be a good evolution from dialup analog lines.

ƒ Depending upon the bandwidth needs of your application, you may decide to step to T-1
or ATM.

Page 39 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

EFFECTS OF NETWORK DESIGN AND BANDWIDTH ON CLIENT/SERVER

# CLIENT/SERVER FRAMEWORK FOR NETWORK DESIGN

STRATEGIC
BUSINESS FACTORS
REQUIREMENT

APPLICATION
FACTORS

NETWORK
DESIGN

PHYSICAL
PLANT

PROTOCOL

TOPOLOGY

WAN LINKS

PUBLIC VS
PRIVATE N/W

1. NUMBER OF USERS

ƒ Plan for the number of users.

ƒ How many would be "casual" or "occasional" users.

ƒ Depending upon the bandwidth requirement physical plant may be :

o UTP 5 for normal bandwidth.

o FDDI or ATM for larger bandwidth.


Page 40 © KUMAR PUDASHINE
CLIENT-SERVER COMPUTING

2. NUMBER OF SITES

ƒ The number of sites your application will span affects WAN links, protocols etc.

ƒ What kind of internetworking devices will be used ?

ƒ Dialup lines / Leased Line ?

ƒ For normal application : Dialup Line

ƒ For real time application : Leased Line

3. TYPE OF APPLICATION

ƒ Essence of client/server computing is decision support and heterogeneous data access.

ƒ Type of application affects network design.

ƒ If video or imaging file is required : ATM on LAN and ISDN on WAN should be considered

4. DESIGN OF APPLICATION

ƒ This is double – edged sword.

ƒ When client/server applications do not deliver on performance ?

ƒ Every one ends up pointing fingers at each other.

ƒ The application designer say that the network is not optimized.

ƒ The network designer say that application is poorly designed.

5. FAULT TOLERANCE

ƒ How mission critical is your application ?

ƒ Establishing fault tolerance at each level : Adding servers, establishing intelligent routers.

ƒ If application is spread over a wide area : Telecommunication link could fail.

ƒ Must consider sophisticated routing technology.

ƒ Make network itself fault-tolerant by establishing backup lines.

6. DATA ACCESS

ƒ If your application requires data to be dumped from a mainframe database : Gateway


plays an important role.

ƒ Gateway brings translation overhead with them.

ƒ This may result in slower performance.

ƒ Using ODBC is simple but it may not be fast enough for certain application.

ƒ Native database API may be a better solution.

Page 41 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

CHAPTER 4 : TRANSPORT LAYER PROTOCOLS

PROCESS TO PROCESS DELIVERY

ƒ The data link layer is responsible for delivery of frames between two neighboring nodes
over a link.

ƒ This is called node to node delivery.

ƒ The network layer is responsible for delivery of datagrams between 2 hosts.

ƒ This is called host to host delivery.

ƒ Communication on the Internet is not defined as the exchange of data between two nodes
or between two hosts.

ƒ Real communication takes place between two processes (application programs).

ƒ We need process to process delivery.

ƒ The transport layer is responsible for process to process delivery.

CLIENT-SERVER PARADIGM

ƒ There are several ways to achieve process to process communication.

ƒ The most common one is through client-server paradigm.

ƒ A process on the local host called client needs service from a process usually on the
remote host called server.

ƒ Both process have the same name.

ƒ For Example :To get the day and time from a remote machine.

ƒ We need a daytime client process running on the local host and a daytime server process
running on a remote machine.

ADDRESSING

ƒ Whenever we need to deliver something to one specific destination : Address is required.

ƒ At data link layer, we need a MAC address to choose one node among several nodes.

ƒ A frame in the data link layer needs a destination MAC address for delivery and a source
address for the next node’s reply.

ƒ At network layer, we need an IP address to choose one host among millions.

ƒ A datagram in the network layer needs a destination IP address for delivery and a source
IP address for the destination’s reply.

ƒ At transport layer, we need a transport layer address called a port number to choose
among multiple processes running on the destination host.

ƒ The destination port number is needed for delivery and a source port number is needed
for the reply.
Page 42 © KUMAR PUDASHINE
CLIENT-SERVER COMPUTING

ƒ In the Internet model, the port number are 16 bit integers between 0 and 65535.

ƒ The client program define itself with a port number chosen randomly by the transport
layer software running on the client host.

ƒ This is called ephemeral port number.

ƒ Server process must also define port number.

ƒ This port number however, cannot be chosen randomly.

ƒ If the computer at the server side runs a server process and assigns a random number as
the port number, the client process will not know the port number.

ƒ Of course, one solution would be to send a special packet and request the port number of
the server : More overhead.

ƒ The internet has decided to use universal port numbers for servers : Well known ports.

ƒ HTTP : 80

IANA RANGES : INTERNET ASSIGNED NUMBER AUTHORITY

ƒ IANA has divided the port numbers into three ranges

1. Well Known Ports

ƒ The ports ranging from 0 to 1023 are assigned and controlled by IANA.

2. Registered Ports

ƒ The ports ranging from 1024 to 49,151 are not assigned/controlled by IANA.

ƒ They can only be registered with IANA to prevent duplication.

3. Dynamic Ports

ƒ The ports ranging from 49,152 to 655,35 are neither controlled nor registered.

ƒ They can be used by any process.

ƒ These are the ephemeral ports.

IP ADDRESS VS PORT NUMBERS

ƒ The destination IP address defines the host among the different hosts in the world.

ƒ After the host has been selected, the port number defines one of the processes on this
particular host.

Page 43 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

SOCKET ADDRESS

ƒ Process to process delivery needs two identififiers.

ƒ IP address and the port number at each end to make connection.

ƒ The combination of IP address and port number is called socket address.

ƒ The client socket address defines : client process uniquely.

ƒ The server socket address defines : server process uniquely.

ƒ The IP header contains IP address.

ƒ The UDP or TCP header contains the port number.

MULTIPLEXING AND DEMULTIPLEXING

MULTIPLEXING

ƒ At the sender side, there may be several processes that need to send packets.

ƒ However, there is one Transport Layer Protocol (TCP or UDP)

ƒ This is a many to one relationships and requires multiplexing.

DEMULTIPLEXING

ƒ At the receiver side, the relationship is one to many and requires demultiplexing.

ƒ The transport layer receives datagram form network layer.

ƒ After error checking and dropping of header, it delivers each message to the appropriate
process based on the port number

CONNECTIONLESS VS CONNECTION ORIENTED SERVICE

CONNECTIONLESS SERVICE

ƒ In a connectionless service, the packets are sent from one party to another with no need
for connection establishment and connection release.

ƒ The packets are not numbered : They may be delayed , lost or arrive out or sequence.

ƒ There is no acknowledgement.

ƒ In Internet model, UDP is connectionless.

CONNECTION ORIENTED SERVICE

ƒ In a connection oriented service, a connection is first established between the sender and
the receiver.

ƒ Data are transferred

Page 44 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ At the end, the connection is released.

1. CONNECTION ESTABLISHMENT

1. Host A sends a packet to announce its wish for connection and includes its initialization
information about traffic from A to B.

2. Host B sends a packet to acknowledge the request of A.

3. Host B sends a packet that include initialization about traffic from B to A.

4. Host A sends a packet to acknowledge the request of B.

ƒ Each connection request needs to have a sequence number to recover from the loss or
duplication of packet.

ƒ Each ACK needs to have an ACK number for the same reason.

ƒ The first sequence number in each direction for each connection must be random.

ƒ In other words, a sender cannot create several connections that start with the same
sequence number.

ƒ This reason is to prevent a situation called a playback.

2. CONNECTION TERMINATION

Page 45 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

Page 46 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

RELIABLE VERSUS UNRELIABLE

ƒ The Transport layer service can be reliable or unreliable.

ƒ If Application layer program needs reliability : Use a reliable TCP protocol by implementing
flow and error control.

ƒ This means a slower and more complex service.

ƒ If the application program does not needs reliability and has its own flow and error control
mechanism : Unreliable protocol can be used.

ƒ In the internet there are two different transport layer protocols.

ƒ UDP is connectionless and unreliable.

ƒ TCP is connection-oriented and reliable.

ƒ One Question ?

ƒ If the data link layer is reliable and has flow and error control, do we need this at the
transport layer too ?

ƒ The answer is yes.

ƒ Reliability at the data link layer is between two nodes : we need reliability between two
ends.

UDP : USER DATAGRAM PROTOCOL

ƒ The simple unreliable transport layer protocol in the internet is called the UDP.

ƒ UDP is a connectionless, unreliable transport protocol

ƒ It performs very limited error checking.

ƒ If UDP is a powerless, why would a process want to use it ?

ƒ Sending a small message using UDP takes much less interaction between the sender and
receiver than using TCP.

ƒ UDP is a convenient protocol for multimedia and multicasting applications.

PORT NUMBERS

ƒ UDP uses port numbers as the addressing mechanism in the transport layer.

ƒ Some well known port numbers used by UDP are as follows.

Port No Protocol Description


7 Echo Echoes a received datagram back to the sender.
9 Discard Discards any datagram that is received.
13 Daytime Returns the date and time.
53 Name Server Domain Name Service
111 RPC Remote procedure call.

Page 47 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

USER DATAGRAM

ƒ UDP packets called user datagrams, have a fixed size header of 8 bytes.

HEADER DATA

Source Port No Destination Port No


16 Bits 16 Bits

Total Length Checksum


16 Bits 16 Bits

1. Source Port No

ƒ This is the port number used by the process running on the source host.

ƒ It is 16 bit long which means that port number can range from 0 to 65535.

2. Destination Port No

ƒ This is the port number used by the process running on the destination host.

ƒ It is also 16 bit long.

3. Total Length

ƒ This is a 16 bit field that defines the total length of the user datagram header plus data.

ƒ The 16 bits can define a total length of 0 to 65535 bytes.

4. Checksum

ƒ This field is used to detect errors over the entire user datagram (header plus data)

ƒ The calculation of checksum and its inclusion is a UDP are optional.

ƒ It checksum is not calculated, the field is filled with 0.

APPLICATIONS OF UDP

ƒ UDP is suitable for a process that requires simple request-response communication with
little concern for flow and error control.

ƒ UDP is used for some route updating protocols : RIP (Routing Information Protocol)

ƒ UDP is a suitable transport protocol for multicasting. Multicasting capabilities are


embedded in UDP software but not in the TCP software.

Page 48 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

TCP : TRANSPORT CONTROL PROTOCOL

ƒ The reliable, but complex transport layer protocol in the internet is called TCP.

ƒ TCP is called stream connection oriented and reliable transport protocol.

ƒ It adds connection oriented and reliability features to the services of IP.

PORT NUMBERS

ƒ Unlike UDP, TCP uses port numbers as transport layer addresses.

Port No Protocol Description


7 Echo Echoes a received datagram back to the sender.
9 Discard Discards any datagram that is received.
25 SMTP Simple Mail Transfer Protocol.
20 FTP,Data File Transfer Protocol ( Data connection)
21 FTP,Control File Transfer Protocol ( Control direction)

TCP SERVICES

1. Stream Delivery Service

ƒ TCP allows the sending process to deliver data as a stream of bytes and the receiving
process to obtain data as a stream of bytes.

ƒ TCP creates an environment in which the two processes seem to be connected by an


imaginary tube.

2. Sending and Receiving Buffers

ƒ The sending and receiving processes may not produce and consume data at the same
speed.

ƒ TCP needs buffers for storage.

ƒ There are two buffers : Sending buffer and Receiving buffer.

3. Bytes and Segments

ƒ Although buffering handles the disparity between the speed of producing and consuming
process.

ƒ The IP layer as a service provider for TCP needs to send data in packets.

ƒ At the Transport layer, TCP groups a number of bytes together into a packet called a
segment.

ƒ TCP adds a header to each segment and delivers the segment to the IP layer for
transmission.

ƒ The segment are encapsulated in an IP datagram and transmitted.

ƒ Note that the segments are not necessarily the same size.

Page 49 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

4. Full Duplex Service

ƒ TCP offers full duplex service where data can flow in both directions at the same time.

5. Numbering Bytes

ƒ There are two fields called Sequence No and ACK No

# Byte Numbers

ƒ TCP numbers all data bytes that are transmitted in a connection.

ƒ Numbering is independent in each direction.

ƒ When TCP receives bytes of data from the process and stores them in the sending buffer,
it numbers them.

ƒ The numbering does not necessarily start from 0.

ƒ It starts with a randomly generated number between 0 and 232 -1

ƒ For Example :

ƒ If random number happens to be 1057 and total data to be sent are 6000 bytes the bytes
are numbered from 1057 to 7056.

# Sequence Number

ƒ After the bytes have been numbered, TCP assigns a sequence no to each segment that is
being sent.

ƒ The sequence no for each segment is the number of the first byte carried in that segment.

ƒ Question ?

ƒ Imagine a TCP connection is transferring a file of 6000 bytes. The first byte is numbered
10010. What are the sequence no of each segment if data are sent in 5 segments with the
first 4 segments carrying 1000 bytes and the last segment carrying 2000 bytes.

ƒ Segment 1 -> SeqNo: 10010 [ Range 10010 – 11009]


ƒ segment 2 -> SeqNo: 11010 [ Range 11010 – 12009]
ƒ Segment 3 -> SeqNo: 12010 [ Range 12010 – 13009]
ƒ Segment 4 -> SeqNo: 13010 [ Range 13010 – 14009]
ƒ Segment 5 -> SeqNo: 14010 [ Range 14010 – 16009]

# ACK Number

ƒ However, the ACK No defines the number of the next byte that the party expects to
receive.

ƒ ACK No is cumulative.

ƒ The receiver takes the number of the last byte that it has received and adds 1 to it.

ƒ The term cumulative here means that if a party uses 5643 as an ACK No, it has received
all bytes from the beginning up to 5642

Page 50 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

TCP SEGMENT

ƒ The unit of data transfer between two devices using TCP is a segment.

ƒ This segment consists of 20 to 60 bytes header.

ƒ The header is 20 bytes if there are no options and 60 bytes if it contains options.

1. Sourcee Port Address

ƒ This is a 16 bit field that defines the port number of the application program in the host
that is sending the segment.

2. Destination Port Address

ƒ This is a 16 bit field that defines the port number of the application program in the host
that is receiving the segment.

3. Sequence Number

ƒ This 32 bit field defines the no assigned to the first byte of data contained in this segment.

ƒ To ensure connectivity, each byte to be transmitted is numbered.

4. ACK No

ƒ This 32 bit field defines the byte number that the sender of the segment is expecting to
receive from the other party.

ƒ If the byte number x has been successfully received x+1 is the ACK No.

Page 51 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

5. Header Length

ƒ This 4 bit field indicates the no of 4 byte word in TCP header.

ƒ The length of header can be between 20-60 bytes.

ƒ Therefore the value of field can be 5 (5 x 4=20 ) and 15 ( 15 x 4 =60)

6. Reserved

ƒ This is a 16 bit field reserved for future.

7. Control

ƒ This field defines 6 different control bits or flags.

ƒ One or more of these bits can be set at a time.

URG ACK PSH RST SYN FIN

ƒ Description of Flags :

Flags Description

URG The value of the Urgent Pointer is Valid.


ACK The value of the ACK is valid.
PSH Push the data.
RST The connection must be reset
SYN Synchronize sequence no during connection.
FIN Terminate the connection.

8. Window Size

ƒ This field defines the size of the windows in byte that the other party must maintain.

ƒ Maximum size of windows is 65535 bytes.

9. Checksum

ƒ This is 16 bit field which contains the checksum value.

10.Urgent Pointer

ƒ This 16 bit field, which is valid only if the urgent flag is set.

ƒ It is used when the segment contains urgent data.

11. Options

ƒ There can be up to 40 bytes of optional information in the TCP header.

Page 52 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

IP : INTERNET PROTOCOL

ƒ The Internet Protocol is the host to host network layer delivery protocol for the Internet.

ƒ IP is an unreliable and connectionless datagram protocol which provides service in a best


effort delivery service.

ƒ The term best-effort means that IP provides no error control or flow control.

ƒ IP uses only an error detection mechanism and discards the packet if it is corrupted.

ƒ IP does its best to deliver a packet to its destination, but with no guarantees.

ƒ If reliability is important : IP must be paired with a reliable protocol such as TCP.

ƒ Example of a more commonly best-effort delivery service : Post office

ƒ The post office does its best to deliver the mail but might not always succeed.

ƒ If an unregistered letter is lost, it is up to the sender or would be recipient to discover to


loss and rectify the problem.

ƒ IP is also a connectionless protocol for packet switching network which uses the datagram
approach.

ƒ This means that each datagram is handled independently and each datagram can follow a
different route to the destination.

ƒ IP relies on a higher level protocol to take care of all these problems.

DATAGRAM

ƒ Packets in the IP layer are called datagrams.

ƒ A datagram is a variable length packet consisting of two parts : Header and Data.

ƒ The Header is 20 to 60 bytes in length and contains information essential to routing and
delivery.

Page 53 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

1. VER : Version

ƒ This field defines the version of IP

ƒ Currently the version is 4 : IPV4

ƒ Future trends : IPV6

2. IP Header Length : HLEN/IHL

ƒ Because of the option field : Length of header is variable.

ƒ Represents maximum up to 60 byte header length.

ƒ This field defines the length of the datagram header in 4 byte word.

ƒ Its value must be multiplied by 4 to give the length in bytes.

3. Type of Service

ƒ This field defines the quality of service.

ƒ How the datagram should be handled ?

4. Total Length

ƒ This field defines the total length ( header plus data) of the IP datagram in bytes.

ƒ To find the length of data coming from the upper layer, subtract the header length from
total length.

ƒ The header length can be found by multiplying the value in IHL/HLEN field by 4.

ƒ Length of Data = Total Length – Header Length

ƒ Total length of IP datagram is limited to (216 -1) = 65535 of which 20-60 bytes are
header and the rest is the data from the upper layer.

5. Fields Related to Fragmentation

a. Identification

ƒ The identification helps the destination in reassembling the datagram.

ƒ It knows that all fragments having the same identification value should be assembled in
one datagram.

b. Flags

ƒ This is a 3 bit field.

ƒ The first bit is reserved.

ƒ The second bit is called do not fragment bit.

ƒ If it’s value is 1, the machine must not fragment the datagram.


Page 54 © KUMAR PUDASHINE
CLIENT-SERVER COMPUTING

ƒ If it’s value is 0, the datagram can be fragmented.

ƒ The third bit is called more fragment bit.

ƒ If it’s value is 1, it means the datagram is not the last fragment ; there are more
fragments after this one.

ƒ If it’s value is 0, it means this is the last or only fragment.

c. Fragment Offset

ƒ This 13 bit field shows the relative position of this fragment with respect to whole
datagram.

ƒ It is the offset of the data in the original datagram measured in units of 8 bytes.

ƒ For Example

ƒ A datagram with a data size of 4000 bytes is fragmented into three parts

ƒ First fragment carries bytes 0 to 1399 : The offset of for this fragment will be 0/8=0.

ƒ The second fragment carries byte 1400 to 2799 : The offset value for this fragment will be
1400/8=175.

ƒ Finally, the third segment carries bytes 2800 to 3999 : The offset value for this fragment
will be 2800/8=350

6. Time to Live

ƒ This field is used to control the maximum no of hops (routers) visited by datagrams.

ƒ When a source host sends the datagram, it stores a number in this field.

ƒ This value is approximately 2 times the maximum no of routes between any 2 hosts.

ƒ Each router that processes the datagram decrements this no by 1.

ƒ If this value after being decremented is zero, the router discards the datagram.

ƒ The whole purpose is to prevent a datagram from becoming errant.

7. Protocol

ƒ This field defines the higher level protocol that uses the services of the IP layer.

ƒ An IP datagram can encapsulate data from several higher level protocols such as TCP or
UDP.

ƒ This field specifies the final destination protocol to which the IP datagram should be
delivered

ƒ Example 6 : TCP

ƒ UDP : 17

Page 55 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

8. Checksum

ƒ The checksum in the IP packet covers only the header, not the data.

ƒ There are two good reasons.

ƒ First, all higher level protocols that encapsulate data in the IP datagram have a checksum
field that covers the whole packet.

ƒ Second the header of the IP packet changes with each visited router, but data do not.

ƒ If the data are included, each router must recalculate the checksum for the whole packet.
(increase processing time for each router)

9. Source Address

ƒ This field defines IP address of source.

ƒ This field must remain unchanged during the time IP datagram travels from source to
destination.

10 . Destination Address

ƒ This field defines the IP address of the destination.

11.Options

ƒ Not required for every datagram.

ƒ They are only used for network testing and debugging.

Question ?

ƒ How can we make a connection oriented transport layer protocol over a connectionless
network layer protocol such as IP ?

ƒ According to the design goal of Internet model, the two layers are totally independent.

ƒ The transport layer only uses the services of network layer.

ƒ Let us give an analogy :

ƒ The post office service is connectionless

ƒ Each parcel delivered to the post office is independent from the next even if we deliver
100 parcel to the same destination.

ƒ The post office cannot guarantee that the parcel arrive at the destination in order even if
the parcel are numbered.

ƒ But we can create connection oriented service on top of this service.

ƒ Have an agent at destination city and make the agent to arrange the parcels.

ƒ This agent can keep track of all the parcels until all have arrived.

Page 56 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ TCP : Three Way Handshake

ƒ TCP transmits data in full duplex mode.

ƒ When two TCPs in two machines are connected they are able to send segments to each
other simultaneously.

ƒ This implies that each party must initialize communication and get approval from the
other party before any data transfer.

ƒ The steps of the process are as follows.

CLIENT SERVER

Segment 1 : SYN

Seq: 1200 ,ACK : -

Segment 2 : SYN + ACK


Seq: 4800,ACK:1201

Segment 3 : ACK

Seq: 1201,ACK : 4801

Time Time

Figure : TCP Three Way Handshake

1.
o The client sends the first segment : SYN .

o The segment includes the source and destination port nos.

o The segment also contains the client ISN : Initialization Sequence No.

o ISN is used for numbering the bytes of data sent from the client to the server.

2.
o The server sends the second segment : SYN and ACK.

o This segment has a dual purpose.

o First , it acknowledges the receipt of the first segment.

o Second, the segment is used as the initialization segment for the server.

o ISN sent by server is used to number the bytes sent from the server to client.

Page 57 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

3.
o The client sends the third segment.

o This is just an ACK segment.

o It acknowledges the receipt of the second segment.

o ACK no is the server initialization sequence number plus 1.

Page 58 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

CHAPTER 6 : UNDERSTANDING MIDDLEWARE

INTRODUCTION

ƒ During the development of client-server system, there is a need to hide the complexities
of interaction between the client machine and the server machine.

ƒ This need has led to the development of a suite of products that provide this functionality.

ƒ These products have been named as a Middleware.

ƒ With the advent of local area networks and interconnected PCs : More companies focused
on interconnecting their database and host systems.

ƒ Companies realized that software is required to sit between these PCs and host systems.

ƒ Sit in the middle and speak.

ƒ As the information System world increases in complexity, the need for generic middleware
solutions to enable interoperability of systems and portability of applications becomes
increasingly more important.

ƒ Middleware : Off-the-shelf connectivity software that supports distributed processing at


runtime and is used by developers to build distributed software.

ƒ It should provide the following services.

9 Transparency of connection

9 Easy management function.

9 Portability of business function and logic

9 Rapid development

9 Rapid deployment

THE DATABASE CONNECTIVITY CHALLENGE

ƒ The challenge of client-server systems is database connectivity.

ƒ Database connectivity involves the ability to access multiple, heterogeneous data sources
from within a single application running on the client.

ƒ A second challenge is flexibility : The application should be able to directly access data
from a variety of data sources without the modification of an application.

ƒ For Example : An application could access data from FoxPro in a standalone small office
environment and from SQL server or Oracle in larger networked environments.

ƒ These challenges are day to day occurrences for programmers and for corporate
developers attempting to provide solutions to end users.

ƒ These challenges grow exponentially for developers and support staffs as the number of
data sources grows.

Page 59 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

DATA SOURCE DIFFERENCES

ƒ Database problems become apparent in the differences among the Programming


interfaces, DBMS protocol, DBMS languages and the network protocols.

ƒ The primary differences in the implementation of each of the components are the
following.

1. PROGRAMMING INTERFACES

ƒ Each DBMS supplier provide its own proprietary programming interfaces.

ƒ The method of accessing a relational DBMS ay be through embedded SQL or an API

2. DBMS PROTOCOLS

ƒ Each DBMS supplier uses proprietary data formats and methods of communication
between the application and the DBMS

3. DBMS LANGUAGES

ƒ SQL has become the language of choice for relational DBMS but many differences still
exist among SQL implementations.

4. NETWORKING PROTOCOLS

ƒ Many diverse LAN and WAN protocols exists in networks today.

ƒ DBMS and applications must coexist in these diverse environments.

ƒ For Example : SQL server may use DECnet on VAX, TCP/IP on Unix or SPX/IPX on PC.

APPROACHES TO DATABASE CONNECTIVITY

ƒ DBMS suppliers and third party companies have attempted to address the problem of
database connectivity in a no of ways

ƒ The main approaches are as follows

o Using gateways.

o Using Common Programming Interface.

o Using Common Protocol.

1. THE GATEWAY APPROACH

ƒ The gateway translates and forwards requests to the target DBMS and receives result
from it.

ƒ For Example : Application that access SQL server can also access DB2 data through the
Micro Decisionware DB2 gateway.

ƒ This product allows a DB2 DBMS to appear to a window-based application as a SQL server
DBMS.

Page 60 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ The gateway approach is limited by structural and architectural differences among DBMS
such as a differences in catalogs and SQL implementations.

APPLICATION APPLICATION

MICRO DECISIONWARE DB2 GATEWAY

DB2 DATABASE SQL SERVER

Figure : Gateway Implementation

2. THE COMMON INTERFACE APPROACH

ƒ In the common interface approach, a single programming interface is provided to the


programmer.

ƒ It is possible to provide some standardization in database application development


environment.

ƒ The standardization is the result of creating a standard API, a macro language, or set of
user tool for accessing data and translating requests and results.

ƒ A common interface is usually implemented by writing a driver for each target DBMS.

ƒ Microsoft ODBC follows this approach

APPLICAITON APPLICAITON APPLICAITON

COMMON INTERFACE

NETWORKING S/W

SQL SERVER ORACLE DB2

Figure : The Common Interface Approach

Page 61 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

3. THE COMMON PROTOCOL APPROACH

ƒ The DBMS protocol, SQL grammar and networking protocol are common to all DBMS so
the application can use the same protocol and SQL grammar to communicate with all
DBMS.

ƒ Examples

ƒ RDA : Remote Data Access

ƒ DRDA : Distributed Remote Database Architecture

ƒ DRDA is IBM's DBMS protocol.

ƒ Common protocols can ultimately work very efficiently in conjunction with common
interface.

# ANALYSIS

ƒ Common interfaces, Protocols and gateways may be combined.

ƒ A common protocol and interface provides a standalone API for developers as well as a
single protocol for communication with all databases.

ƒ A common gateway provide a standard API for developers and allows the gateway to
provide functionality such as translation and connectivity to wide area networks.

A BASIC VIEW OF MIDDLEWARE

USER INTERFACE DBMS

APPLICATION DATABASE
WORKSTATION LOGIC DATABASE SERVICES
SERVER

SQL SQL

API API

MIDDLEWARE IPC IPC

NPS NPS

ƒ When an application at the client and requires data from the server, a transaction is sent
from the application logic via SQL to network.

ƒ This transaction is passed through an Application Programming Interface, an Interprocess


Communication Protocol and Network Protocol Stack to the server.

Page 62 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

HIGH LEVEL MIDDLEWARE COMMUNICATION TYPES

ƒ Middleware products at high level use one of three communication types.

o Synchronous Transaction Oriented Communication.

o Asynchronous Batch Oriented Communications or MOM

o Application to Server Communication

1. SYNCHRONOUS TRANSACTION ORIENTED COMMUNICATION

ƒ Middleware that uses synchronous transaction oriented communications involved back and
forth exchange of information between two or more programs.

ƒ The synchronized aspect of this communication style demands that every program
performs its task correctly; otherwise transaction will not be completed.

ƒ Products of this type include the following :

o Products that supports TCP/IP sockets so that PC programs can communicate with
other sockets are synchronized transaction oriented as well.

o Applications that supports Winsocks for Microsoft Windows.

o Microsoft windows oriented communications products that supports the windows


OLE facilities to create links between hosts based information and native windows
programs are also synchronous oriented.

2. ASYNCHRONOUS BATCH ORIENTED COMMUNICATION

ƒ In asynchronous batch-oriented communications type, messages are sent either one at a


time or in batches with no expectation of an immediate response.

ƒ For Example : A server database update program uses a data queue facility to send
subsets of updated records to PC programs.

ƒ This method is called Message Oriented Middleware.

3. APPLICATION TO SERVER COMMUNICATION

ƒ Middleware can also link a business application with a generalized server program that
typically resides on another system.

ƒ A database server, an image server, a video server and other general purpose servers can
communicate with an application program through a middleware solutions.

ƒ Products in the server-based ODBC specification are server oriented middleware

ƒ Provides a consistent set of SQL oriented access routines on the other sides.

Page 63 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

MAIN TYPES OF MIDDLEWARE

ƒ Several types of middleware can be used to build client-server systems.

ƒ They are as follows

o DCE : Distributed Computing Environment


o MOM : Message Oriented Middleware
o TPM : Transaction Processing Monitors
o ODBC : Open Database Connectivity

1. DCE : Distributed Computing Environment

ƒ DCE is a combined integrated set of services that supports the development of distributed
applications.

ƒ DCE is O/S and network independent,providing compatibility with user's existing


environment.

ƒ The architecture of DCE is a layered model that integrates a set of technologies.

ƒ The architecture is layered bottom-up from the o/s to the highest level applications.

ƒ Security and management are essential to all layers of the environment.

ƒ To applications, the environment appears as a single logical system rather than a


collection of different services.

ƒ Distiributed services provide tools for software developers to create the end-user services
needed for distributed computing.

APPLICATIONS

PC OTHER DIST.
INTEGRATION SERVICES
MANAGEMENT

DISTRIBUTED FILE SERVICE


SECURITY

TIME NAMING OTHER


SERVICE SERVICE SERVICE

RPC AND PRESENTATION

THREADS

O/S

Figure : Distributed Computing Environment

Page 64 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ Services of distributed computing environment includes :

o RPC and Presentation Services


o Naming and Directory Services
o Time Service
o Security Service
o Threads Service
o Distributed File Services
o PC Integration Services
o Management Services
# RPC : Remote Procedure Call

ƒ A distributed application,running as a process on one computer makes procedure call that


executes on another computer.

ƒ RPC manages the network communications needed to support these calls, even the details
such as network protocols.

ƒ RPC extends a local procedure call by supporting direct calls to procedure on remote
systems enabling programmers to develop distributed applications as easily as traditional
single system programs.

ƒ RPC allows clients to interact with multiple servers and allows to handle multiple clients
simultaneously.

ƒ RPC allows clients to identify and locate servers by name.

# Naming Service

ƒ The distributed directory service provides a single naming model throughout DCE.

ƒ This model allows users to identify by resources such as servers, files, disks without
needing to know where they are located on a network.

ƒ As a result, users can continue referring to a resource by one name even when a
characteristic of the resouce, such as its network address change.

# Time Service

ƒ A time service synchronizes all system clocks of a distributed environment so that


executing applications can depend on equivalent clocking among processes.

ƒ The distributed time service is a software based service that synchronizes each computer
to a widely recognized time standard.

# Thread Services

ƒ The threads service provides portable facilities that support concurrent programming
which allows an application to perform many actions simultaneously.

ƒ The thread service include operation to create and control multiple threads of execution in
a single process.

ƒ A number of DCE components including RPC,Security,directory & time services use thread

Page 65 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

# Security Service

ƒ The DCE security service component is well integrated within the fundamental distributed
service and data sharing components.

ƒ It provides the network with three conventional services : authentication,authorization


and user account management.

2. MOM : Message Oriented Middleware

ƒ MOM is a single class of middleware that operates on the principles of message passing
and message queuing.

ƒ MOM is perhaps the most visible and currently the clearest example of middleware.

ƒ MOM uses the concept of message to separate processes so that they can operate
independently.

ƒ In general terms, MOM works by defining,storing and forwarding the messages.

ƒ When a client issues a request for a service such as database search, it does not talk
directly to that service ; it talks to middleware.

ƒ Talking to the middleware usually involves placing message on queue where it will be
picked up by the appropriate service when the service is available.

ƒ The messaging middleware acts as a buffer between the client and the server.

ƒ MOM ensures that messages get to their destination and receive a response.

ƒ The queuing mechanism can be very flexible either offering First in First Out scheme of
priorities based message.

ƒ Message passing and message queuing have been around for many years as the basis of
Online Transaction Processing Systems (OLTP)

ƒ Think of MOM as a Electronic Mailing System.

ƒ Electronic mail passes message from one person to another whereas MOM passes
messages back and forth between software processes.

The Advantages of Using MOM

ƒ In many modern client-serve applications,there are clear advantages of using MOM.

ƒ It provides a relatively simple application programming interface (API).

ƒ The API is portable so MOM programs can be moved to new platforms easily.

ƒ MOM is also valid middleware technology that use Object Oriented Technology.

ƒ Objects by their definition interact with another by using messages.

ƒ Message passing and queuing allows objects to exchange data and can even pass objects.

ƒ Therefore MOM can be a natural technology to complement and support object


technology.

Page 66 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

Problems with MOM

ƒ It's function is only restricted to message passing.

ƒ It does not include facilities to convert data formats.

ƒ In many systems, data is to be transferred from Mainframe to PCs, the data conversion
from EBCDIC to ASCII must be handled.

ƒ The MOM software only provides the transport and delivery mechanism for messages, it
is not concerned with content.

ƒ As a result, the application must take responsibility for creating and decoding messages.

ƒ MOM's simplicity also can slow performance because messages are usually processed
from a queue one at a time.

ƒ This particular problem means that MOM is not usually suitable for applications that
require real-time communications within applications.

Available MOM Products

ƒ MQSeries developed by IBM.

ƒ It supports wide range of IBM and non IBM hardware platforms such as sun
solaris,Tandem, AT&T GIS.

ƒ MQSeries accommodate all of the major computer languages (COBOL,C,Visual Basic) and
network protocols (SNA, TCP/IP, Decnet).

ƒ Digital's DECmessageQ also supports a wide range of Operating Systems.

Page 67 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

3. TPM : Transaction Processing Monitors

ƒ Before client-server had developed as a concept, the concept of middleware was very
much in place within transaction processing systems.

ƒ Transaction Processing Monitors were first built to cope with batched transactions.

ƒ Transactions were accumulated during the day and then passed against the company's
data file overnight.

ƒ By the 1970s , TP monitors were handling online transactions which give rise to the term
Online Transaction Processing (OLTP).

ƒ Transaction Processing systems pass messages between programs.

ƒ They operate, store and forward queues and sends acknowledgements.

ƒ IBM has defined transaction as an atomic unit of work that possesses 4 properties

ƒ These properties are

o Atomicity
o Consistency
o Isolation
o Durability

ƒ These properties are referred as ACID properties.

ƒ Atomicity effectively provides the transaction recovery needs.

ƒ A transaction must be completed as a whole or the transaction is not completed at all.

ƒ Consistency means that the results of a particular transaction must be reproducible and
predictable.

ƒ The transaction must always produce the same results under the same conditions.

ƒ Isolation means that no transaction must interfere with any concurrently operating
transaction.

ƒ Finally, Durability means that the results of the transaction must be permanent.

ƒ For robust client-server systems these properties are essential.

ƒ IBM's CICS is perhaps one of the best examples of a Transaction Processing System

ƒ CICS began in late 1960s as the Customer Information Control System, a robust and
reliable piece of software with the great range of OLTP.

ƒ It has traditionally been used in Mainframes and also been to OS/2 as CICS OS/2.

ƒ TP suffers from a lack of standards, similar to MOM.

Page 68 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

# Queued, Conversational and Workflow Models

ƒ The client performs data capture and local data processing and then sends requests to
middleman called request router.

ƒ The router breaks the client request to one or more several processes.

ƒ Each server in turn executes the requests and responds.

1. Queued TP

ƒ Queued TP is convenient for applications in which some clients produce data and other
process or consume it.

ƒ Email, Job dispatching, Electronic Data Interchange are typical example of Queued TP

ƒ The router inserts a client's request to a queue for later processing by other applications.

2. Conversational TP

ƒ Conversational transactions requires the client and the server to exchange several
messages as a single ACID unit.

ƒ These relationships are sometimes not a simple request and response but rather small
requests answered by sequence of responses.

ƒ The router acts as a intermediately between client and the server.

3. Workflow TP

ƒ Workflow TP is the natural combination of Queued TP and Conversational TP.

ƒ It is a sequence of ACID transaction following a workflow script.

ƒ For Example : Script for person-to-person email is compose-delivery-receive.

4. ODBC : Open Database Connectivity

ƒ ODBC is Microsoft's strategic interface for accessing data in a distributed environment


made up of relational and non relational DBMS.

ƒ ODBC now provides universal data access interface.

ƒ With ODBC, application developers can allow an application to concurrently access, view
and modify data from multiple, diverse databases.

ƒ ODBC is a core component of Microsoft Windows Open Services Architecture (WOSA).

ƒ ODBC has emerged as the industry standard for data access for both windows-based and
Macintosh based applications.

ƒ The key salient points with respect to ODBC in client-server development environment are
as follows.

o OBCD is vendor-neutral, allowing access to DBMS from multiple vendors.

o ODBC is open, working with ANSI standard, the SQL Access Group (SAG).

o ODBC is powerful ; it offers capabilities to client-server OLTP.


Page 69 © KUMAR PUDASHINE
CLIENT-SERVER COMPUTING

# The key benefits of ODBC are as follows

ƒ It allows users to access data in more than one data storage location ( for example, more
than one server) from within a single application.

ƒ It allows users to access data in more than one type of DBMS (DB2,Oracle, Microsoft SQL
Server etc).

ƒ It is now easier for application developers to provide access to data in multiple, concurrent
DBMS.

ƒ It is a portable programming interface, enabling the same interface and access technology
to be cross platform tool.

ƒ ODBC allows corporations to continue to use existing diverse DBMS while moving to client-
server based systems.

# The ODBC Approach

ƒ ODBC addresses the database connectivity problem by using the common interface
approach.

ƒ Application developers can use one API to access all data sources.

# How ODBC Works ?

APPLICATION

DRIVER MANAGER
ODBC.DLL

DBMS
DRIVER (DLL)

NETWORKING
SOFTWARE

DATA
SOURCE
[ DBMS ]

Figure : ODBC Architecture

Page 70 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ Application : Calls ODBC API function to submit SQL statements

ƒ Driver Manager : Loads the ODBC driver of application and passes requests to driver
and provides results to application

ƒ DBMS Driver : Processes ODBC function calls, submit SQL requests to Specific DBMS

ƒ Networking S/W : This layer may require a DBMS specific network component
depending on the data source.

ƒ Data Source : Processes requests from driver and returns result to driver.

ƒ ODBC defines an API.

ƒ Each application uses the same code as defined by the API specification to talk to many
types of data sources through DBMS specific drivers.

ƒ A Driver Manager sits between the applications and the drivers.

ƒ In windows, the driver manager and the drivers are implemented as dynamic link libraries
(Dlls).

ƒ The application calls ODBC functions to connect to data sources either locally or remotely.

ƒ The Driver Manager provides information to an application such as a list of available data
sources, loads driver dynamically as they are needed.

ƒ The Driver developed separately from application sits between the application and the
network.

ƒ The Driver processes ODBC function calls, manages all exchanges between an application
and a specific DBMS and may translate the standard SQL syntax into native SQL of the
target data source.

ƒ Applications are not limited to communicating through one driver.

ƒ A single application can make multiple connections each through a different driver, or
multiple connections to similar sources through a single driver.

ƒ To access a new DBMS, a user or admin has to install a driver for the DBMS.

Page 71 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

# How ODBC Benefits the End User

ƒ Users can select a data source from a list of data sources.

ƒ Users can submit data access requests in Industry standard SQL grammar.

ƒ Users can access different DBMS by using familiar desktop applications.

APP 1 APP2

ODBC.DLL

MICROSOFT ORACLE ACCESS


SQL SERVER DRIVER DRIVER
DRIVER

MICROSOFT ORACLE MICROSOFT


SQL SERVER ACCESS

Figure : Benefits for End User

ƒ Above figure shows that user may be running two applications accessing three different
data sources through ODBC.

ƒ These sources may be completely different systems elsewhere on the network.

# What ODBC means to Application Developers

ƒ ODBC defines a standard SQL grammar and a set of functions that are called core
grammar and core functions.

ƒ Using the core functions, an application can do the following.

o Establish a connection with data source, execute SQL statement and retrieve
results.

o Receive standard error messages.

o Provides standard logon interface to the end user for access to the data source.

o Use a standard grammar defined by ODBC.

ƒ ODBC also defines an extended SQL grammar.

ƒ In addition to the preceding features, ODBC has extension that provide enhanced
performance and increased power through the following.

o Scrollable cursors.

o Asynchronous execution

Page 72 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

CHAPTER 7 : BUSINESS PROECESS REENGINEERING

INTRODUCTION

ƒ Business processes are simply a set of activities that transform a set of inputs into a set of
outputs.

ƒ Business processes can be represented as a set of triangles as shown below.

Figure : Triangular Representation of Business Processes

ƒ The purpose of this model is to define the supplier and process inputs, your process, and
the customer and associated outputs

ƒ Many companies are understanding BPR initiatives in order to reinvent themselves.

ƒ To work more efficiently and effectively in today's competitive business environment.

ƒ Succeeding at BPR requires gaining a thorough understanding of existing business


process.

ƒ Applying re-engineering techniques to improve them and implementing new technology to


facilitate the improvements.

ƒ Many companies are combining their business process re-engineering initiatives with the
client-server development projects to provide a true business solution.

WHAT IS BUSINESS PROCESS REENGINEERING ?

ƒ A business process describes a collection of tasks that must be completed in a specific


sequence in order to accomplish an overall goal.

ƒ Everyone is expected to complete his/her work accurately and efficiently so that overall
goals and objectives are accomplished in a timely manner.

ƒ Every business process has an input, which starts the process, as well as an output.

ƒ BPR relies on a different school of thought than continuous process improvement.

ƒ In the extreme, reengineering assumes the current process is irrelevant - it doesn't work,
it's broke, forget it.

ƒ BPR is the thorough evaluation of company's existing business processes followed by the
dramatic changing of them for optimization and streamlining purpose.

ƒ The objectives of re-engineering is to eliminate these shortcomings and drawbacks by


radically changing the process.

ƒ New and improved methods for accomplishing the goals can be implemented.

Page 73 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ Successful re-engineering is based on the philosophy that every task and procedure must
be examined and may be potentially changed : Nothing is beyond modification.

ƒ Unproductive tasks are eliminated.

ƒ Organizational barriers are removed.

ƒ Users are empowered with new tools in order to do their job faster.

ƒ The main theme of BPR are Customer, Competition and Speed of Change.

INTEGRATING BPR AND CLIENT-SERVER EFFORTS

ƒ The successful implementation of re-engineered business process often relies on the


design and development of new system.

ƒ By aligning technology with business requirements, a client-server system can bring the
re-engineering business process into real implementation model.

ƒ Client-server technology is often selected as the technical solution for BPR.

ƒ It is because of its power, flexibility and ability to be integrated with other technologies.

ƒ In addition, a client-server system can be easily modified to handle any future changes
that may be made to business processes.

ƒ It makes re-engineered business process by :

o Automating tasks

o Enabling immediate information access and sharing.

o Eliminating repetitive tasks.

o Providing process monitoring tools.

o Facilitating workflow.

HOW TO CONDUCT THESE EFFORTS ?

# SEPERATE TEAMS

ƒ Organize two separate teams.

ƒ One team focuses on conducting the business process re-engineering effort by examining
processes and streamlining them.

ƒ The other team takes those findings and concentrates on developing client-server system.

ƒ The two groups work together to turn over the re-engineering team's deliverables to the
development team.

Page 74 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ The re-engineering team discusses and reviews its findings and requirements with the
client-server team.

ƒ It is because their deliverables such as business process maps an business rules serve as
a functional specification for new systems to client-server team.

# ONE CORE TEAM

ƒ Organize Single team.

ƒ Viewed business process re-engineering and client-server as different component of a


single project.

ƒ Form a core team of individuals who work on both the business processing re-engineering
and client-server development.

ƒ Specialists are brought on board to perform specific tasks.

ƒ This core group of individuals actively participates in both re-engineering and the technical
sides of the combined project.

ƒ Putting together this type of core team is a major challenge.

ƒ Because it is not easy to find individuals who possess the skill to handle both re-
engineering and client-server development responsibilities.

ƒ Having a core group that is involved through out both projects rather than having
separate teams has many benefits.

ƒ They are as follows :

1. Fewer Repetitive Activities

ƒ Individuals working on business process re-engineering and client-server development


encounter many of the same tasks and face similar issues.

ƒ For Example : The fear of change that both re-engineering and client-server bring is a
common issue.

2. Established Relationships with Management and End Users

ƒ The relationships with members from management and the end-user community need
to be built once.

ƒ Developing and maintaining relationship takes time

ƒ It is very important because the better you know management and the end users , the
more support you will get.

ƒ Your question will be answered faster.

3. Less Time Required for Turn Over

ƒ Parts of the client-sever system's infrastructure can be developed in parallel with BPR
effort.

ƒ Work on client-server system can probably start even sooner.

Page 75 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ It is because some technical tasks can be started before all the re-engineering is
completed.

ƒ The total time required for this process is significantly reduced.

4. Fewer Question and Faster Issue Resolution

ƒ There are fewer questions because the same people who re-engineered the processes
are assisting in designing the system.

ƒ Many questions can probably be answered immediately.

ƒ Misunderstanding and misinterpretations can be resolved easily

HANDLING CONCERNS OF BPR

ƒ May encounter some resistance when you discuss about client-server technology.

ƒ Face some of the same challenge when conducting a business process re-engineering.

ƒ Many individuals have been doing the same routine for many years and they do not know
what they want to change.

ƒ Resistance is to be expected and the best solution is to be ready for their concerns.

ƒ The following table lists some of the common concerns voiced by people towards business
process re-engineering and client-server.

CONCERN RESPONSE

ƒ This is a very real concern that


individuals should have in certain cases.

ƒ The best way to handle this delicate


I will lose my job due to the re-engineered situation is to discuss with the senior
business process and new technology management.

ƒ One perspective is that if the company


does not streamline and automate, it will
be overwhelmed by competition and
everyone will lose his/her job.

ƒ A client-server system along with new


business processes gives you more
control over your work environment.

ƒ New tools are available to get the job


I will lose control over my work done.
environment.
ƒ Information that you need is available at
finger tips.

ƒ You become more self-sufficient and are


empowered to make decisions.

I designed the current process and want it However now with the newer technology and
to stay. the change in how business is done.

Page 76 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

CONCERN RESPONSE

ƒ Explain the benefits of client-server


system and explain how it will improve
the way that the job is done.
I have been doing the same thing for
many years and do not want to change. ƒ Example : How many current manual
tasks that take hours can now be
accomplished in a few mins.

ƒ By sharing information with others, you


will be able to accomplish your goals
more quickly and efficiently.

ƒ Everyone will share in the rewards for


Sharing information with others will mean their improvement.
the loss of my own importance
ƒ Others will be sharing information with
you, so you will also have access to more
information.

ƒ This information will enable you to make


quicker and better-informed decisions.

ƒ This issue must be addressed early in the


process.

I am afraid of computers. ƒ Users must receive proper training so


that they become familiar with
computers.

Page 77 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

RE-ENGINEERING THE CURRENT BUSINESS PROCESS

ƒ By carefully analyzing the business process maps and thoroughly evaluating all your
findings from your interviews, you can identify those areas that should be changed and
improved.

ƒ By accessing the various steps of current business process and how people do their work.

ƒ You can determine new methods for completing the tasks.

ƒ Eliminating areas of inefficiency and selecting new technology will streamline and optimize
the business process.

ƒ After a re-engineered business process has been designed, a new business process map
detailing the new process should be developed.

ƒ Compare the complexity and inefficiencies of the current process with the new improved
one.

# IDENTIFYING AREAS OF REENGINEERING

ƒ Individuals constantly performing repetitive tasks.

ƒ Duplicate data entry.

ƒ Manual tasks such as having to bring paper forms to other people's offices.

ƒ A lot of time spent waiting for information to be received from other sources.

ƒ Excessive dependence on others to provide information to complete the task.

ƒ Delays in the process where people are waiting and not being productive.

ƒ Excessive number of forms to fill out.

ƒ Manual routing of papers.

ƒ Long approval process.

ƒ Excessive travel between locations.

ƒ Excessive administrative tasks.

ƒ Lack of process management facilities.

# INDICATIONS THAT A BUSINESS PROCESS SHOULD BE REENGINEERED

ƒ The business process takes too long o complete.

ƒ The business process is too complicated and frustrates the employee.

ƒ Customer complain about business process.

ƒ The business process does not accomplish what it is intended to accomplish.

ƒ The business process costs too much to complete.

ƒ The competition performs the same business process better than yours.

Page 78 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ Management cannot monitor the status of business process.

ƒ Too many barriers such as bureaucracy and administrative tasks exists.

# SUGGESTIONS FOR REENGINEERING

ƒ Combine several tasks into one.

ƒ Eliminate unnecessary tasks.

ƒ Replace the task with another task that can accomplish the same objective faster.

ƒ Have a single person complete a tasks instead of a group.

ƒ Determine the new technology that enables a process to be completed more efficiently
and accurately.

ƒ Identify someone who may be suited to perform a particular task.

ƒ Implement a new approval process.

ƒ Accomplish more tasks in parallel rather than sequentially.

BUSINESS PROCESS REENGINEERING SOFTWARE

ƒ There are variety of different software products that assists in BPR .

ƒ They provide a wide range of feature ranging from basic flowcharting to advanced ones
that provides process modeling and process simulation.

ƒ Basic graphics and flowcharting software make it easy to develop and maintain
professional business maps that reflect the business process an operational activities.

ƒ The sophisticated products even have simulations that show how much better a re-
engineered business process is from the original process.

ƒ One of the most popular products that is on the market today is Process Charter from
scitor corporation.

ƒ Vensim : Ventana Simulation Environment

ƒ It is an integrated framework that supports in conceptualizing, building, simulating,


analyzing, optimizing and deploying models of complex dynamic systems.

ƒ Workflow Analyzer

ƒ Cosmo

ƒ Sciforma Process

Page 79 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

CHAPTER 8 : DATA WARE HOUSING

UNDERSTANDING DATA WAREHOUSING

ƒ A data warehouse is a repository of data that has been extracted and integrated from
heterogeneous and autonomous distributed sources.

ƒ The warehouse data is used for decision support or data mining.

ƒ A data warehouse provides information processing by providing a solid platform of


integrated, historical data from which to do analysis.

ƒ The ultimate goal of data warehousing is the creation of logical view of data that may
reside in many different, separate physical databases.

ƒ The data warehouse is optimized for analysis of large volume of data rather than the
speed of performance of individual transactions.

ƒ Data is extracted periodically from the core business database and placed into secondary
database to form an organization's information repository.

ƒ People in the organization then use the information repository as a pool of information to
test and report against.

ƒ A variety of tools are used and they are as follows :

o Custom built applications.


o Executive Information System : EIS
o Decision Support System : DSS

ƒ Tools like Cognos' Powerplay can present textual information such as the customer
purchasing products X,Y and Z in a graphical manner.

Production Server containing Snapshot of Database A stored in


live data in Database A Data warehouse server in Database B

Network

CLIENT CLIENT
ACCESSING REPORTING FROM
DATABASE A DATABASE B

Page 80 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

#UPDATING A DATA WAREHOUSE

ƒ A data warehouse or the databases within a data warehouse are updated regularly.

ƒ For most companies, the most frequently used databases are updated daily.

ƒ Other databases that do not change frequently may be updated weekly or monthly.

ƒ A database containing the customer detail records might be updated daily.

#HANDLING REPORTS AND STATISTICAL ANALYSIS

ƒ Reporting and statistical analysis do not have to be done in real time.

ƒ Reports and statistics can be processed based on data that is 24 hours or more out of
date.

THE BENEFITS OF DATA WAREHOUSING

ƒ Improved reporting and selection tools.

ƒ Large reductions in the amount of printouts because reports can be viewed and analyzed
online through graphical views on client workstations.

ƒ Ability to summarize data at a high level and then break down information into its core
components by using drill down techniques.

ƒ Ability to set threshold.

# DRILL DOWN

ƒ In a drill down techniques, a computer application shows information at a summary level.

ƒ Each key press and mouse click breaks down the information into more and more detail
form.

ƒ For Example : Drilling down the information reveals that the total of 500,000 European
customer is made up of :

o 100,000 North European Customers

o 200,000 Western European

o 50,000 South European and

o 150,000 Eastern European.

# EXCEPTION REPORTING

ƒ Exception reporting allows you to see only the information that is out of the ordinary that
you may want to act upon

ƒ You scan a printed report to pick out the good points or the bad points of the information.

ƒ For Example : You could do a report that shows only the sales people who exceeded
their sales target by 10% so that you can comment and support your company's
outstanding sales people.

Page 81 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

DATA WAREHOUSING IN CLIENT-SERVER ENVIRONMENT

1. CLIENT PRESENTATION/ SERVER SELECTION

ƒ In the client presentation / server selection scenario, the data warehouse server uses its
processing time to perform the data selection and format the result set.

ƒ The server then sends the result set back to the individual user.

ƒ The selection or analysis is typically created on the server through a server-based tool,
such as IBM AS/400, Query/400.

ƒ Query/400 is a feature-rich yet reasonably easy to use database query and selection tool.

2. CLIENT PRESENTAION AND SELECTION / SERVER PROCESSING

ƒ In the client presentation and selection/server processing scenario, the client machine
processes a selection criteria through a front-end tool such as Cognos' Powerplay.

ƒ The selection is then passed to the server to be processed.

ƒ Processing time on the server is used to create the result set that is then sent back to the
client and presented in the original tool.

ƒ The client handles formatting and presentation.

3. CLIENT PRESENTATION,SELECTION AND PROCESSING

ƒ In the client presentation, selection and processing scenario, the client issues a selection
request to the server.

ƒ The server generates the result sets and sends it back to the client.

ƒ The client then runs further application logic on the result set that has been received.

ƒ This logic may be further complex mathematical analysis.

THE PROBLEMS OF DATA WAREHOUSING

ƒ Data warehousing like most computer systems has its limitations that can cause problems
to an organization.

ƒ From an organization's perspective, the data warehouse is a potential security risk.

ƒ For example , a user accessing the warehouse may be able to collect and use company's
data in a fraudulent way.

ƒ Data in the data warehouse needs to be accurate.

ƒ Overtime , a company's databases may become inaccurate due to the changes made in
data by core workforce.

ƒ Inaccuracies in an organization's database can lead to financial loss, reduced customer


satisfaction and other areas of bad business.

ƒ The data warehouse is somewhat of a double-edged sword with regard to these problems.

Page 82 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ First, analysis of the warehouse deals with potentially thousands of records,


inconsistencies and inaccuracies will appear a lot quicker.

ƒ Secondly, to your benefit once a problem has been identified your data warehouse and
data tools can identify all the problem areas.

# Financial Loss

ƒ Financial loss can come as a result of a data warehouse in a number of ways.

ƒ Users incorrectly keying in or calculating financial activity can affect financial loss.

# Reduced Customer Satisfaction

ƒ Perhaps the biggest issue in many organization today is customer satisfaction.\

ƒ A satisfied customer will invariably return for more business.

ƒ If your name happens to be Mr. Kim but responds you as Mrs. Rim.

ƒ How soon will you as the customer respond to such a marketing piece ?

ƒ If other information is sent to you which is inaccurate, how likely you are going to respond

ƒ In an era, it costs 10 times more to get new customer than to retain an existing
customers.

ƒ By collecting information about customers in data warehouse and doing target mailing
rather than blanket mailing can reduce its advertising cost.

THE INFORMATIN PROCESS

ƒ The success of an organization's data warehouse depends on the quality, integrity and
reliability of the data within it.

ƒ To increase the chances for data warehouse to succeed : Companies should develop an
Information Process.

ƒ An information process deals with the management of corporate information including its
accuracy, relevance to the business, accessibility by the user base and consistency of
definition.

ƒ Data has to be accurate if it is to be valuable to a corporation.

ƒ Relevant data means that the data contained within the data warehouse is meaningful to
the organization

ƒ The relevant data determine the status of the company from financial, operational and
managerial perspective.

ƒ Data accessibility at the correct levels is an important point.

ƒ Timeliness is concerned with the rate of change of data within the warehouse.

ƒ Companies needs to decide how often the data needs to be updated in order to meet
organizational needs.

Page 83 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ Finally data consistency is often considered the most problematic area of the information
process.

ƒ Data inconsistency is the result of users placing different meanings and interpretations on
data.

ƒ Julia from Accounts arrives at a meeting stating that the company has 100,000
customers.

ƒ Naomi from operations also arrives with her report stating that there are 107,000
customers.

ƒ The different definitions of customers caused the inconsistency.

ƒ The information process department's role is to look after the corporate data and know
how the data is created, maintained and perhaps deleted from the business system.

DECISION SUPPORT SYSTEM AND EIS

# DSS : DECISION SUPPORT SYSTEM

ƒ It provides the information required for senior management to make effective decisions
based on information gathered from both internal and external data sources.

ƒ DSS correlate data using variety of tools.

ƒ They can be used to set measurements and thresholds on levels of the business.

ƒ The technology is therefore both useful and powerful when combined with the data
warehouse environment.

# EIS : EXECUTIVE INFORMATION SYSTEMS

ƒ An EIS tool has to be an easy and powerful access tool.

ƒ It should be available to everyone not just only to executives.

ƒ EIS and DSS tools are sometimes also referred to as data mining tools.

ƒ The user requirements for the EIS are clear cut and they are as follows :

o Comprehensive, readily available data

o Simple user interface.

o Customizable tools.

o Portability of data to other platforms.

ƒ The newer EIS tools coming to the market place will be much more intelligent.

ƒ The EIS will began to guide the users rather than requiring the users to understand a
great deal of fundamental ways the EIS works.

ƒ An EIS must give online analytical processing and also multidimensional views of data.

ƒ It allows users to be much more proactive rather than reactive.

Page 84 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

SUMMARY

ƒ Data warehousing has to meet the demands of process- oriented, re-engineered business.

ƒ Data warehouse and its implementations can play a part in facilitating the reengineering
of the business processes in which knowledge based workers including executives are
involved.

ƒ The effective use of good EIS and DSS can realign the broken keel of an organization and
set it on the right path.

Page 85 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

CHAPTER 9 : PERFORMANCE TUNING AND OPTIMIZATION

INTRODUCTION

ƒ Good performance from a client-server comes from a number of parameters :

o Good Design

o Excellent development and testing.

o Continual emphasis on optimization.

ƒ Applications developed from client-server may achieve greater performance compared


with traditional workstations or host-only applications.

ƒ A typical centralized system may have several applications and databases, but it has only
one O/S and one Communication Protocol : SNA.

ƒ A Client-server system increases its complexity.

ƒ It is because client-server system is provided with no of applications, no of protocols and


no of databases.

ƒ Complexity is directly proportional to no of components.

ƒ The complexity sharply increases when client-server is extended to WAN.

THE CLIENT PERFORMANCE

# HARDWARE

ƒ The client machine's performance will be increased by improving any or its major
subsystems.

ƒ In a PC, these subsystems would be the amount of available RAM, the processor speed,
the video graphics speeds and the speed of NIC cards.

ƒ When purchasing client machines, the best strategy is to buy the fastest, more reliable
machines available.

ƒ Regular maintenance of the machines also keeps performance at high level.

ƒ Delete redundant temporary files and defragment the hard drives regularly.

# SOFTWARE

1. OPERATING SYSTEM

ƒ Selection of an operating system is based upon the hardware parameters.

ƒ 32 bit operating system must be selected for reliable performance.

ƒ Real multitasking operating system such as OS/2, Windows NT, Windows XP can be
selected.

Page 86 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

2. APPLICATIONS

ƒ The client applications is normally where the largest improvements can be made.

ƒ Make more user friendly applications.

ƒ Add more GUI components : Graphs, Charts etc.

THE SERVER PERFORMANCE

# HARDWARE

ƒ Upgrading server hardware just like upgrading client hardware can improve the
performance of client-server.

ƒ Using multiple network interfaces within a server can also improve performance.

ƒ High performance file systems using technologies such as SCSI and RAID offer dramatic
improvements.

# SOFTWARE

ƒ Database and communication processing should be offloaded to a server processor.

ƒ Several servers can be broken down into file server, communication server and a
database server rather than having a single server.

ƒ Choosing servers that supports Symmetric Multiprocessors give performance gains over
single processor models.

ƒ O/S such as Windows NT, Linux supports multiprocessors.

# THE DATABASE PERFORMANCE

ƒ To make client-server database applications perform well, you have to follow two simple
rules :

ƒ Minimize the network traffic

ƒ Process data on the fastest, on most appropriate box.

ƒ In any real world client-server implementation, some data will be stored locally.

ƒ The application retrieves data from the server and places in local table.

ƒ Subsequent analysis is performed on local data, minimizing network traffic and load.

ƒ Database performance can be enhanced by :

o Efficient database design

o Efficient Index design

o Efficient Query design

Page 87 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

1. Efficient Database Design

ƒ Normalization of the logical design yields the best performance improvement.

ƒ A greater no of narrower tables is characteristic of a normalized databases.

ƒ A lesser no of wider tables is characteristic of a non-normalized databases.

ƒ In an ideal world, the databases would be completely normalized.

ƒ A highly normalized databases is usually associated with complex relational joins, which
can hurt performance.

ƒ Normalization increases the no of complexity of joins required to retrieve data.

2. Efficient Index Design

ƒ Indexes are optional structures associated with tables.

ƒ We can create indexes explicitly to speed up SQL statement execution.

ƒ Efficient index design is foremost in achieving good database performance.

ƒ Experiment with different forms of indexes in order to find the optimum use.

3. Efficient Query Design

ƒ One thing to keep in mind when designing queries is that large result sets are costly on
most RDBMS.

ƒ It is much more efficient to restrict the size of the result set and allow the database back
end to perform the function for which it was intended.

ƒ Concept of views.

THE NETWORK PERFORMANCE

ƒ Consider the following items with regards to network.

ƒ The application development should include development, performance testing and


system testing across the network.

ƒ The network design should b completed and documented as a part of the development
process.

ƒ Look at the current utilization of the network.

ƒ See whether the problem is due to bandwidth or response time.

ƒ Reduce the number of users per LAN or increase the bandwidth available to each client if
bandwidth or response time problem exits.

ƒ Excessive network traffic is one of the most common cause of poor client-server
performance.

ƒ Designers must take care to prevent this problem by minimizing network requests.

ƒ Network request is minimized by allowing local processing on clients.

Page 88 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

CHAPTER 10 : SECURING A CLIENT-SERVER SYSTEM

THE CHANGING INFORMATION TECHNOLOGY ENVIRONMENT

ƒ Today's open distributed information technology environment presents many challenges


for effective security solutions.

ƒ Securing the centralized system of 70's and 80's was difficult enough.

ƒ Now system managers are faced with multivendor systems and ultimately multiple
security issues.

ƒ In the distributed era of 90's security must encompass host system, PCs, LANs and global
WANs.

ƒ These new configurations are creating an environment of increased security concerns and
adds complexity.

ƒ Some of the issues influencing this new environment and their effects on security are
listed below.

# More Sophisticated Users

ƒ Users of today are more sophisticated than users of past.

ƒ They have powerful desktop workstations with access to private and public networks.

ƒ Sophisticated users can be helpful for your business.

ƒ Be sure about the security to prevent the possibility of any unauthorized access to
resources.

# The Open Environment

ƒ Security must now reach beyond and offer high quality protection in the open and
interconnected world.

TODAYS SECURITY THREATS

ƒ Threats in an open distributed environment reach far beyond those encountered in the
centralized system.

ƒ It is because each individual piece of network and system can be linked to many other
networks and systems.

ƒ Some possible threats in a distributed environment include the following.

1. Virus

ƒ Intension to destroy the system.

ƒ Infects programs and often cause damage.

ƒ Their most dangerous attribute is self propagation.

ƒ They can be passed from user to user.

Page 89 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

2. Worms

ƒ They are programs that replicate themselves.

3. Trojan Horse

ƒ A Trojan horse is a piece of damaging code slipped inside a useful program by an


unauthorized user.

ƒ When the program is executed, the unwanted Trojan horse is executed.

4. Back Door

ƒ The back door refers to a specific hidden word used by many programmers.

ƒ It is used to directly access the programs bypassing the security systems.

ƒ The term was made even more popular by the film war games.

5. User Fakes

ƒ User fakes are common in an environment where trust is based on identification rather
than authentication.

ƒ The intruder takes control of a workstation by faking the identification of a trusted user.

THE CHALLENGE OF CLIENT-SERVER SECURITY

ƒ The client-server environment introduces a totally new dimension of security


considerations.

ƒ Systems from different vendors using different formats and protocols must now
interoperate with each other seamlessly.

# THE MAIN AREAS OF SECURITY

APPLICATION

CLIENT AND SERVER

NETWORK O/S

HARDWARE

NETWORK

Figure : The Main Areas of Security

Page 90 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ Hardware security requires you to protect the physical components of the system.

ƒ For example, you may prevent unauthorized users from starting the PCs on a LAN : Power
on Password.

ƒ The network has to be protected against unauthorized users.

ƒ Network security mechanisms include link encryption and gateway authentication.

ƒ Link encryption can protect the network cabling against passive wire tapping.

ƒ Gateway authentication protects the network against the introduction of packets by


unauthorized users.

ƒ The network operating system also provides validation of all users logging onto the LAN.

ƒ At the application level, you need to protect against misuse of information

ƒ It can be done by providing the restriction of work area for each users.

BUILDING YOUR SECURITY REQUIREMENTS

ƒ A client-server environment brings with new security requirements.

ƒ A new security system is required in order to control access to resources in a distributed


environment.

ƒ The following is a list of common security requirements for client-server systems

1. Secure Sign-On

ƒ Passwords should not flow in clear text.

ƒ Encrypted passwords are required to reduce the security risks.

2. Client Security

ƒ Lock client machines as far as possible.

ƒ Client workstations are often in accessible locations with portable data and applications.

ƒ Pay attention to the security needs : They are very easy to steal.

3. Secure Electronic Commerce

ƒ Firewall protection can aid in securing your network gateway.

ƒ You should use a secure firewall gateway between your organization and the Internet.

4. System Integrity

ƒ System integrity is the ability of your operating system to prevent he circumvention of its
security, auditing or accounting controls.

ƒ IBM was the first and main software vendor to commit to this objective.

Page 91 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

5. Accountability

ƒ You should be able to monitor specific security events using a single audit function.

ƒ This audit function should allow you to monitor the system and generate reports.

6. End To End Security

ƒ Be sure that all points in between are secured as information flows from point of origin to
point of destination.

BUILDING A SECURITY SOLUTION

ƒ By identifying your requirements, you can begin to build your security solutions.

ƒ After you define your requirements, you can develop a security policy and implement a
security solution.

ƒ IBM's proven security methodology consists of following tasks

o Assessing and managing risks when your business and environment change.

o Defining your security needs and policies.

o Implementing the products and policies to align your security and business
objective.

o Administering the security policies and practices for your organization.

o Auditing your security controls.

o Repeating the life cycle process to maintain the vitality of your security solution.

INFORMATION SECURITY ISSUES

ƒ To take full advantage of networking opportunities, you need to be able to verify the
authenticity of all users.

ƒ Take care of three main information security issues

1. Confidentiality

ƒ Maintaining confidentiality involves ensuring that staff members have access only to the
data they are allowed to see and modify.

2. Integrity

ƒ Integrity means data should remain in its original format.

3. Availability

ƒ Systems and data are available to those who need them.

Page 92 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

USER AWARENESS

ƒ A crucial area of information security that is frequently overlooked is user awareness.

ƒ Staff do not genuinely understand the cost of damage to compute systems as a result of
misuse.

ƒ Following are the guidelines :

o No games.

o No images other than those supplied with applications.

o Regular cycling of passwords.

o No software other than those programs specified as a company standard.


o All diskettes must be regularly scanned for viruses.

ƒ The key to the most secure system is the password

o Never pass them or write them down.

o Choose non dictionary words.

o Change password regularly.

o Do not use personal information.

o Mix letters and numbers.

SECURITY FOR THE CLIENTS AND SERVERS

ƒ Client-server security implementations must include current applications and operating


environments.

ƒ Companies have heavily invested in information systems and the people managing this
technology.

# The CLIENT

ƒ The client machines pose the greatest threat to security.

ƒ It is because they connect to servers that are elsewhere in the organization.

ƒ The client machines also are easily accessible and easy to use.

ƒ In order to provide good security at client level, you need to consider the role of the client
machine

1. Physical Security

ƒ Use diskless workstations to protect against software piracy and viruses.

ƒ Lock the PC cases of the client machines.

ƒ Set alarms.

ƒ User Power-on-passwords.
Page 93 © KUMAR PUDASHINE
CLIENT-SERVER COMPUTING

2. Network Security

ƒ Server must receive a valid user id and password from client machine

ƒ Authenticate the user against the valid user list held on the server.

3. Application Security

ƒ The applications have varied levels of security based upon the system.

ƒ Supervisor : Create, update , delete and view

ƒ Normal User : View only

# THE SERVERS

1. Physical Security

ƒ Most organizations handle the physical security of the servers as well.

ƒ House servers inside lockable rooms.

2. Software Security

ƒ All servers should be protected with the right levels of password.

ƒ The password to gain access to the servers should be cycled regularly.

ƒ Virus protection is also required .

ƒ Most servers have auditing capabilities to show when and how events occurred.

3. Network Security

ƒ Network security is often overloaded.

ƒ Network cabling should be done in a careful manner.

SECURE BUSINESS ON THE INTERNET

ƒ The Internet and other public networks offers business and their customer links to
valuable information .

ƒ Firewalls are normally used to provide the security.

Page 94 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

CHAPTER 11 : THE FUTURE OF CLIENT-SERVER SYSTEMS

IMPROVEMENT AT THE CLIENT

ƒ The client workstation will continue to improve in its capability as a strong, reliable
business computer.

ƒ The improvement will require changes in the components of the hardware itself, the O/S
and the application.

# HARDWARE

ƒ Client hardware continues to change at a rapid pace.

ƒ Everything about PC hardware is getting bigger and faster.

ƒ The architecture is also becoming more user friendly with the advent of technologies such
as plug-n play.

ƒ More integrated hardwares.

ƒ Network interface cards are becoming smarter.

# THE OPERATING SYSTEM

ƒ With the likes of windows 98,XP and OS/2 wrap, desktop operating system have become
more and more reliable.

ƒ Advance technologies such as multithreading , multitasking, security and communication


features are being implemented.

ƒ Improvements in voice recognition and biometrics.

ƒ The O/S also have to offer maximum compatibility with older drives, older applications
and older equipments.

# THE APPLICATION DEVELOPMENT ENVIRONMENT

ƒ A significant no of tools have developed for reliable and rapid application development.

ƒ Examples include Visual Basic, Delphi and PowerBuilder etc.

ƒ Java : O/S neutral object oriented programming language.

ƒ RAD : Rapid Application Development tools [ Rational Rose ]

IMPROVEMENT AT THE SERVER

ƒ Like programming languages and system development, the commercial database also will
move to an object base.

ƒ The future business systems running on distributed systems will be based on Object-
Oriented Database Management System [OODMS]

Page 95 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

IMPROVEMENT ON THE NETWORK

ƒ Fast Ethernet for LAN.

ƒ ATM for WANs.

ƒ Multimedia applications requires extensive bandwidth.

ƒ In addition, companies will began to create networks that can provide them with
bandwidth on demand.

ƒ Optical Networks.

ƒ ISDN Networks

THE MOVEMENT TOWARDS HIGHER BANDWIDTH

ƒ Network applications continue to become more complex.

ƒ Includes more use of video and picture images.

ƒ The result of these trends is a growing customer demand for greater network bandwidth.

ƒ Various strategy can be implemented.

# FDDI : FIBER DISTRIBUTED DATA INTERFACE

ƒ Many companies are preparing for future by installing LANs with FDDI.

ƒ It provides greater bandwidth.

ƒ Multimedia based applications and data can be handled in a efficient manner.

ƒ A broad range of FDDI products is currently available from a variety of vendors including
Cisco, 3 Com , Hewlett Packard.

# CDDI : COPPER DISTRIBUTED DATA INTERFACE

ƒ The cost of FDDI has caused many companies to look at CDDI.

ƒ It can also provide higher bandwidth.

ƒ TV Channels

# FAST ETHERNET OR 100 Mbps

ƒ It can increase network bandwidth from 10 Mbps to 100 Mbps.

ƒ Choice of many companies.

# ATM : ASYNCHRONOUS TRANSFER MODE

ƒ ATM is already having an impact on Local Area Network.

ƒ This cell based transmission technology will have an even greater impact on both LANs
and WANs.

ƒ It uses cell switching technology to achieve transmission speed from 1.54 Mbps to 1.26
Gbps.
Page 96 © KUMAR PUDASHINE
CLIENT-SERVER COMPUTING

ƒ A virtual circuit is established between network users.

ƒ Cells consists of 48 bytes of user information and 5 byte of header.

ƒ A major advantage of ATM is that all cell are of same size 53 bytes [48 + 5].

ƒ Hence network delays can be predicted.

ƒ This type of transmission can be used to carry real-time information such as voice and
video.

ƒ Greater traffic can be handled.

ƒ It is independent of upper layer protocols.

ƒ A group of vendors known a ATM forum is working on a complete set of ATM


specifications.

WIRELESS LAN AND MOBILE COMPUTERS

ƒ Ad-hoc networks.

ƒ Mobile computing

ƒ Wireless LAN with Wi-Fi

ISDN : INTEGRATED SERVICE DIGITAL NETWORK

ƒ Study group XVII of the CCITT worked 4 years to develop a set of standards for future
voice and data integration.

ƒ Taking a broad view of global telecommunication, the committee planned on architecture


that would provide integrated access.

ƒ It includes circuit switched and packet switched networks as well as end to end digital
transport of data.

ƒ This resulting model is ISDN.

ƒ It includes truly integrated voice, data and even video traveling smoothly from one type of
network to another.

ƒ ISDN concept of universal interface means each terminal will understand every other
terminal .

ƒ ISDN standards defines a digital interface divided into two types of channels.

ƒ B Channel for customer information (voice, data and video).

ƒ D channel for sending control information.

ƒ The CCITT committee defined two major interface that uses these B and D channels.

ƒ BRI : Basic Rate Interface is used to serve devices with relatively small capacity.

ƒ BRI : 2B + D

ƒ Primary Rate Interface is used for large capacity devices. PRI : 23B+D

Page 97 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

THE GROWTH OF ENTERPRISE NETWORK

ƒ Trend of linking company's several different network to form enterprise wide networks.

ƒ Many companies have computing environments consisted of several different isolated


network islands.

ƒ A single enterprise wide networks of all these diverse computing environments can be
made.

ƒ Every employee under such a network would have access to the resources available on
any of these previously isolated computing networks.

NETWORK MANAGEMENT SOFTWARE

ƒ Several programs are available to manage networks.

ƒ On enterprise networks, it is likely that a mainframe might be managed by a


comprehensive network management program : NetView.

ƒ Hewlett-Packard minicomputers are likely to be managed by Open View Program.

ƒ Dozens of programs are currently available that utilizes the SNMP

ƒ SNMP : Simple Network Management Protocol.

ƒ SNMP based network management programs are very common to networks where Unix or
Linux is used.

Page 98 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

OPERATING SYSTEM CONCEPTS

INTRODUCTION

1. The Operating System as an Extended Machine

ƒ Top down view : Hides the underlying hardware complexities.

ƒ Function of an operating system is to present user with the equivalent of an extended


machine or virtual machine.

2. The Operating System as a Resource Manager

ƒ An alternative, bottom-up view : Operating system to manage all the resources.

ƒ Resources : Memory, Process, I/O etc.

PROCESSES

ƒ An abstraction of a running program.

ƒ A process is just an executing program including the current values of PC, registers and
variables.

ƒ All the runnable software on the computer, often including the operating system is
organized into a number of sequential process or just process.

ƒ Conceptually each process has its own virtual CPU.

ƒ In reality, of course the real CPU switches back and forth from process to process.

ƒ The key idea here is that a process is an activity of some kind.

ƒ A single processor may be shared among several processes with some scheduling
algorithm being used to determine when to stop on one process and service a different
one.

ƒ Processes are often called tasks in embedded operating systems.

# PROCESS STATES

Running

Time Run Out Block

Dispatch

Ready Blocked

Wakeup

Fig : Process State Transitions

Page 99 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ A process goes through a series of discrete process states.

ƒ Various events can cause a process to change states.

ƒ Dispatch(ProcessName) : Ready -> Running

ƒ A process is said to be running if it currently has the CPU.

ƒ A process is said to be ready it could use a CPU.

ƒ A process is said to be blocked if it is waiting for some event to happen (I/O completion
event).

# PCB : PROCESS CONTROL BLOCK

ƒ The PCB is a data structure containing certain important information about the process
including :

9 The current state of the process.


9 Unique identification of the process.
9 A pointer to the process's parent.
9 A pointer to the process's child.
9 Process's priority.
9 Pointer to locate process's memory.
9 Pointer to allocate resources

PROCESS SCHEDULING

ƒ When more than one process is runnable, the operating system must decide which one to
run first.

ƒ The part of operating system that makes this decision is called Scheduler.

ƒ The algorithm used is termed as Scheduling Algorithm.

1. FIRST IN FIRST OUT SCHEDULING

ƒ Non preemptive scheduling.

ƒ Simplest scheduling discipline .

ƒ Processes are dispatched according to their arrival time on the ready queue.

ƒ Unfair : Longer jobs makes shorter job wait

CPU Completion
C B A

Ready List

Fig : FIFO Scheduling

Page 100 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

2. ROUND ROBIN SCHEDULING

ƒ Preemptive Scheduling

ƒ Each process is assigned a time interval called quantum.

ƒ Processes are dispatched FIFO but are given a limited amount of time.

ƒ When the process uses up its quantum, it is put on the end of the list.

ƒ The only interesting issue with round robin is the length of quantum.

ƒ Switching from one process to another requires a certain amount of time for doing the
administration : Saving and loading registers, updating various tables and lists.

ƒ Suppose switch requires : 5 msec and quantum : 20 msec

ƒ After doing 20 msec of useful work, the CPU will have to spend 5 msec on process
switching.

ƒ 20% of CPU time is wasted on administrative overhead.

ƒ Conclusion :

ƒ Setting the quantum too short causes two many process switches and lowers the CPU
efficiency.

ƒ Setting it too long many cause poor response to short interactive processes.

Completion
A C B A CPU

Ready List

Preemption

Fig : Round Robin Scheduling

3. PRIORITY SCHEDULING

ƒ Round Robin scheduling makes the implicit assumption that all processes are equally
important.

ƒ Preemptive Scheduling.

ƒ Each process is assigned a priority and the runnable process with the highest priority is
allowed to run.

ƒ Priorities can be assigned to processes statically or dynamically.

ƒ It is often convenient to group processes into priority class and use priority scheduling
among the classes but round-robin scheduling within each class.

ƒ To prevent high-priority process from running indefinitely , the scheduler may decrease
the priority of currently running process.

Page 101 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

PRIORITY 4 Highest Priority

PRIORITY 3

PRIORITY 2

PRIORITY 1 Lowest Priority

Priority Class

Fig : Priority Scheduling

4. SHORTEST JOB SCHEDULING

ƒ Non preemptive scheduling discipline.

ƒ Shortest jobs are scheduled first.

ƒ Compute average turn around time of given processes

8 4 4 4
A B C D

ƒ Turn around time for A = 8


ƒ Turn around time for B = 8+4 = 12
ƒ Turn around time for C = 12+4 = 16
ƒ Turn around time for D = 16+4 = 20
ƒ Average turn around time = (8+12+16+20)/4 = 14 mins.

ƒ Compute average turn around time of shortest jobs

4 4 4 8
B C D A

ƒ Turn around time for B = 4


ƒ Turn around time for C = 4+4 = 8
ƒ Turn around time for D = 8+4=12
ƒ Turn around time for A = 12+8=20
ƒ Average turn around time =(4+8+12+20)/4 = 11 mins.l

5. SHORTEST REMAINING TIME SCHEDULING

ƒ Shortest Remaining Time is the preemptive counterpart of Shortest Job First.

ƒ In SJF, once a job begins executing it runs to completion.

ƒ In SRT a running process may be preempted by a new process with a shorter estimated
run-time.

Page 102 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ SRT has higher overhead than SJF.

ƒ It must keep track of the elapsed service time of the running job.

6. HIGHEST RESPONSE RATIO NEXT SCHEDULING

ƒ HRN strategy corrects some of the weakness in SJF.

ƒ Excessive bias against longer jobs and excessive favoritism towards short new jobs.

ƒ It is non preemptive scheduling discipline.

ƒ Priority of each job is a function not only of job's service time but also of the amount of
time the job has been waiting for service.

ƒ Once a job gets the CPU , it runs to completion.

ƒ Dynamic priority in HRN are calculated according to the formula.

ƒ Priority = ( Time Waiting + Service Time ) / Service Time

7. MULTILEVEL FEEDBACK QUEQUE SCHEDULING

ƒ Preemptive scheduling discipline.

ƒ Allocation of large quantum means : Poor response time.

ƒ Solution was to set up priority class.

ƒ Processes in the highest class were run for one quantum.

ƒ Processes in the next highest class were run for 2 quantum

Level 1 Completion
D C B A CPU

Completion
A X Y Z CPU
Level 2

Completion
Z M N P CPU

Level n Round Robin

Page 103 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ A new process enters the queuing network at the back of top queue.

ƒ It moves through queue FIFO until it gets CPU.

ƒ If the job waits for I/O or quantum expires, the process is placed at the back of next lower
level queue.

ƒ At level n, process is scheduled in Round Robin fashion.

8. REAL TIME SCHEDULING

ƒ A Real Time System is one in which time plays an essential role.

ƒ Hard Real Time Systems and Soft Real Time Systems.

ƒ Different Scheduling approaches can be implemented.

ƒ Earliest Deadline First Scheduling : Process with least deadline is serviced first.

ƒ Rate Monotonic Scheduling : Assigns priority proportional to the frequency.

CONTEXT SWITCH

ƒ A context switch is the computing process of storing and restoring the state(context) of a
CPU.

ƒ The context switch is an essential feature of a multitasking operating system.

ƒ A context switch can mean a register context switch, a task context switch or a thread
context switch.

ƒ Especially required for preemptive scheduling algorithm.

ƒ Context Switch is necessary during interrupt operations.

o Push PC and data values into stack

o Execute ISR

o POP the contents of PC and other data values

Page 104 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

INTERPROCESS COMMUNICATION

ƒ Processes frequently need to communicate with other processes.

ƒ For example , in a shell pipeline the output of the first process must be passed to the
second process.

ƒ Communication between process or threads is termed as Interprocess Communication.

# RACE CONDITONS

ƒ Consider the following extremely simple procedure

void deposit(int amount) {


balance += amount;
}

ƒ Assume that balance is a shared variable.

ƒ If two processes try to call deposit concurrently, something very bad can happen.

ƒ The single statement balance += amount is really implemented, on most computers, buy
a sequence of instructions such as

Load Reg, balance


Add Reg, amount
Store Reg, balance

ƒ Suppose process P1 calls deposit(10) and process P2 calls deposit(20).

ƒ If one completes before the other starts, the combined effect is to add 30 to the balance,
as desired.

ƒ However, suppose the calls happen at exactly the same time, and the executions are
interleaved.

ƒ Suppose the initial balance is 100, and the two processes run on different CPUs. One
possible result is

P1 loads 100 into its register


P2 loads 100 into its register
P1 adds 10 to its register, giving 110
P2 adds 20 to its register, giving 120
P1 stores 110 in balance
P2 stores 120 in balance

ƒ The net effect is to add only 20 to the balance.

ƒ This kind of bug, which only occurs under certain timing conditions, is called a Race
Condition.
ƒ To avoid these kinds of problems, systems that support processes always contain

constructs called synchronization primitives.


Page 105 © KUMAR PUDASHINE
CLIENT-SERVER COMPUTING

# CRITICAL SECTIONS

ƒ How do we avoid race conditions ?

ƒ Prohibit more than one process from reading and writing the shared data at the same
time.

ƒ What we need is Mutual Exclusion.

ƒ Some way of making sure that if one process is using a shared variable or file, the other
processes will be excluded from doing the same thing.

ƒ The part of the program where the shared memory is accessed is called the Critical Region
or Critical Section.

# SEMPAPHORES

ƒ Introduced by Dijkstra in 1965.

ƒ A semaphore is a protected variable and constitutes a classic method for restricting access
to equivalent shared resources in a multiprogramming environment.

ƒ The value of the semaphore is initialized to the no of equivalent shared resources.

ƒ In the special case where there is single equivalent shared resource, the semaphore is
called binary semaphore.

ƒ The general case semaphore is often called a general semaphore.

ƒ Semaphores are the classic solutions to the dining philosophers problem.

ƒ Consider the Implementation :

P (Semaphore S)
{
await S > 0 then S=S-1 ; /* must be atomic */
}

V (Semaphore S)
{
S=S+1 ; /* must be atomic */
}

Init (Semaphore S, Integer V)


{
S=V;
}

ƒ The value of semaphore is the no of units of the resource which are free.

ƒ The P operation busy-waits until a resource is available.

ƒ V is the inverse, it simply makes a resource available again after the process has finished
using it.

ƒ Init is only used to initialize the semaphore before any requests are made.

Page 106 © KUMAR PUDASHINE


CLIENT-SERVER COMPUTING

ƒ The P and V operations must be atomic, which means that no process may ever be
preempted in the middle of one of those operations to run another operation on the same
semaphore.

# MONITORS

ƒ Monitors: A high-level data abstraction tool that automatically generates atomic


operations on a given data structure.
ƒ A monitor has:

o Shared data.

o A set of atomic operations on that data.

o A set of condition variables.

Typical implementation:
ƒ Each monitor has one lock.

ƒ Acquire lock when begin a monitor operation, and Release lock when operation finishes.

Optimization: reader/writer locks.

ƒ Statically identify operations that only read data, then allow these read-only operations to

go concurrently.

ƒ Writers get mutual exclusion with respect to other writers and to readers.

ƒ Standard synchronization mechanism for accessing shared data.

Advantages:
ƒ Reduces probability of error (never forget to Acquire or Release the lock).

ƒ Trend is away from encapsulated high-level operations such as monitors toward more

general purpose but lower level synchronization operations.

Page 107 © KUMAR PUDASHINE

You might also like