`
` Subhash Chandra Yadav ¢ Sanjay Kumar Singh
`
`fal NEWAGE INTERNATIONALPUBLISHERS
`
`Traxcell Exhibit 2004
`
`Traxcell Exhibit 2004
`Page 1 of 14
`
`
`
`An Introduction to
`CLIENT/SERVER
`COMPUTING
`
`Traxcell Exhibit 2004
`Page 2 of 14
`
`Traxcell Exhibit 2004
`Page 2 of 14
`
`
`
`An Introduction to
`CLIENT/SERVER
`COMPUTING
`
`Subhash Chandra Yadav
`M.Sc., M.C.A. and M.Phil. (Computer Science)
`Reader
`Department of Computer Applications
`Rajarshi School of Management and Technology
`U.P. College Campus
`Varanasi, (U.P.)
`Sanjay Kumar Singh
`Ph.D. (Computer Science and Engineering)
`Reader
`Department of Computer Engineering
`Institute of Technology,
`B.H.U., Varanasi, (U.P.)
`
`PUBLISHING FOR ONE WORLD
`
`NEW AGE INTERNATIONAL(P) LIMITED, PUBLISHERS
`New Delhi « Bangalore * Chennai * Cochin » Guwahati * Hyderabad
`Jalandhar * Kolkata * Lucknow * Mumbai* Ranchi
`Visit us at www.newagepublishers.com
`
`Traxcell Exhibit 2004
`Page 3 of 14
`
`Traxcell Exhibit 2004
`Page 3 of 14
`
`
`
`Copyright © 2009, New Age International (P) Ltd., Publishers
`Published by New Age International (P) Ltd., Publishers
`
`All rights reserved.
`No part of this ebook may be reproduced in any form, by photostat, microfilm,
`xerography, or any other means, or incorporated into any information retrieval
`system, electronic or mechanical, without the written permission of the publisher.
`All inquiries should be emailed to rights@newagepublishers.com
`
`ISBN (13) : 978-81-224-2861-2
`
`PUBLISHING FOR ONE WORLD
`NEW AGE INTERNATIONAL (P) LIMITED, PUBLISHERS
`4835/24, Ansari Road, Daryaganj, New Delhi - 110002
`Visit us at www.newagepublishers.com
`
`Traxcell Exhibit 2004
`Page 4 of 14
`
`
`
`Preface
`
`In recent years there have been significant advances in the development of high performance
`personal computer and networks. There is now an identifiable trend in industry toward
`downsizing that is replacing expensive mainframe computers with more cost-effective
`networks of personal computer that achieve the same or even better results. This trend
`has given rise to the architecture of the Client/Server Computing.
`The term Client/Server was first used in the 1980s in reference to personal computers
`on a network. The actual Client/Server model started gaining acceptance in the late 1980s.
`The term Client/Server is used to describe a computing model for the development of
`computerized systems. This model is based on the distribution of functions between two
`types of independent and autonomous entities: Server and Client. A Client is any process
`that request specific services from server processes. A Server is process that provides
`requested services for Clients. Or in other words, we can say “A client is defined as a
`requester of services and a server is defined as the provider of services.” A single machine
`can be both a client and a server depending on the software configuration. Client and
`Server processes can reside in same computer or in different computers linked by a network.
`In general, Client/Server is a system. It is not just hardware or software. It is not
`necessarily a program that comes in a box to be installed onto your computer’s hard drive.
`Client/Server is a conglomeration of computer equipment, infrastructure, and software
`programs working together to accomplish computing tasks which enable their users to be
`more efficient and productive. Client/Server applications can be distinguished by the nature
`of the service or type of solutions they provide. Client/Server Computing is new technology
`that yields solutions to many data management problems faced by modern organizations.
`Client/Server Computing: An Introduction, features objective evaluations and details of
`Client/Server development tools, used operating system, database management system and
`its mechanism in respect of Client/Server computing and network components used in
`order to build effective Client/Server applications.
`
`Traxcell Exhibit 2004
`Page 5 of 14
`
`
`
`vi
`
`Preface
`
`Last but not the least, this work is primarily a joint work with a number of fellow
`teacher who have worked with us. My parents, wife Meera, and our children, Akanksha
`and Harsh. I am particularly grateful to Dr. A. P. Singh, Principal, Udai Pratap Inter College,
`Varanasi; Dr. D. S. Yadav, Sr. Lecturer, Department of Computer Science and Engineering,
`IET, Lucknow; Dr. A. K. Naiyak, Director IIBM, Patna, former President of IT and Computer
`Science Section of Indian Science Congress Association; Prof. A. K. Agrawal, Professor
`and Ex-Head of Department, Computer Science and Engineering IT, BHU, Varanasi and
`Mr. Manish Kumar Singh, Sr. Lecturer, Rajarshi School of Management and Technology
`for providing the necessary help to finish this work.
`Suggestions and comments about the book are most welcome and can be sent by e-mail
`to scy@rediffmail.com.
`
`Subhash Chandra Yadav
`
`Traxcell Exhibit 2004
`Page 6 of 14
`
`
`
`Contents
`
`Preface
`1 INTRODUCTION
`1.1 What is Client/Server Computing?
`1.1.1 A Server for Every Client
`1.1.2 Client/Server: Fat or Thin
`1.1.3 Client/Server: Stateless or Stateful
`1.1.4 Servers and Mainframes
`1.1.5 Client/Server Functions
`1.1.6 Client/Server Topologies
`1.1.7 Integration with Distributed Computing
`1.1.8 Alternatives to Client/Server Systems
`1.2 Classification of Client/Server Systems
`1.2.1 Two-tier Client/Server Model
`1.2.2 Three-tier Client/Server Model
`1.2.2.1 Transaction Processing Monitors
`1.2.2.2 Three-tier with Message Server
`1.2.2.3 Three-tier with an Application Server
`1.2.2.4 Three-tier with an ORB Architecture
`1.2.2.5 Three-tier Architecture and Internet
`1.2.3 N-tier Client/Server Model
`1.3 Clients/Server— Advantages and Disadvantages
`1.3.1 Advantages
`1.3.2 Disadvantages
`1.4 Misconceptions About Client/Server Computing
`Exercise 1
`
`v
`
`1–23
`1
`2
`4
`4
`5
`7
`7
`8
`9
`9
`9
`12
`15
`16
`17
`17
`17
`18
`19
`19
`21
`22
`23
`
`Traxcell Exhibit 2004
`Page 7 of 14
`
`
`
`viii
`2 DRIVING FORCES BEHIND CLIENT/SERVER COMPUTING
`2.1 Introduction
`2.2 Driving Forces
`2.2.1 Business Perspective
`2.2.2 Technology Perspective
`2.3 Development of Client/Server Systems
`2.3.1 Development Tools
`2.3.2 Development Phases
`2.4 Client/Server Standards
`2.5 Client/Server Security
`2.5.1 Emerging Client /Server Security Threats
`2.5.2 Threats to Server
`2.6 Organizational Expectations
`2.7 Improving Performance of Client/Server Applications
`2.8 Single System Image
`2.9 Downsizing and Rightsizing
`2.10 Client/Server Methodology
`Exercise 2
`
`3 ARCHITECTURES OF CLIENT/SERVER SYSTEMS
`3.1 Introduction
`3.2 Components
`3.2.1 Interaction between the Components
`3.2.2 Complex Client/Server Interactions
`3.3 Principles behind Client/Server Systems
`3.4 Client Components
`3.5 Server Components
`3.5.1 The Complexity of Servers
`3.6 Communications Middleware Components
`3.7 Architecture for Business Information System
`3.7.1 Introduction
`3.7.2 Three-Layer Architecture
`3.7.3 General Forces
`3.7.4 Distribution Pattern
`3.8 Existing Client/Server Architecture
`3.8.1 Mainframe-based Environment
`3.8.2 LAN-based Environment
`3.8.3 Internet-based Environment
`Exercise 3
`
`Contents
`
`25–40
`25
`26
`26
`28
`29
`30
`30
`32
`33
`33
` 34
`34
`36
`37
`38
`39
`40
`
`41–62
`41
`42
`43
`43
`45
`46
`48
`51
`52
`55
`55
`56
`56
`58
`59
`59
`60
`60
`62
`
`Traxcell Exhibit 2004
`Page 8 of 14
`
`
`
` Contents
`
`4 CLIENT/SERVER AND DATABASES
`4.1 Introduction
`4.2 Client/Server in Respect of Databases
`4.2.1 Client/Server Databases
`4.2.2 Client/Server Database Computing
`4.3 Client/Server Database Architecture
`4.4 Database Middleware Component
`4.5 Access to Multiple Databases
`4.6 Distributed Client/Server Database Systems
`4.7 Distributed DBMS
`4.8 Web/database System for Client/Server Applications
`4.8.1 Web/database Vs Traditional Database
`Exercise 4
`
`5 CLIENT/SERVER APPLICATION COMPONENTS
`5.1 Introduction
`5.2 Technologies for Client/Server Application
`5.3 Service of a Client/Server Application
`5.4 Categories of Client/Server Applications
`5.5 Client Services
`5.5.1 Inter Process Communication
`5.5.2 Remote Services
`5.5.3 Window Services
`5.5.4 Dynamic Data Exchange (DDE)
`5.5.5 Object Linking and Embedding (OLE)
`5.5.6 Common Object Request Broker Architecture (CORBA)
`5.5.7 Print/Fax Services
`5.5.8 Database Services
`5.6 Server Services
`5.7 Client/Server Application: Connectivity
`5.7.1 Role and Mechanism of Middleware
`5.8 Client/Server Application: Layered Architecture
`5.8.1 Design Approach
`5.8.2 Interface in Three Layers
`Exercise 5
`
`ix
`
`63–78
`63
`64
`64
`65
`66
`70
`71
`72
`74
`76
`77
`78
`
`79–104
`
`79
`79
`80
`84
`85
`87
`91
`92
`92
`93
`94
`95
`95
`96
`100
`101
`102
`102
`103
`104
`
`Traxcell Exhibit 2004
`Page 9 of 14
`
`
`
`Contents
`
`105–138
`105
`105
`110
`115
`117
`120
`122
`124
`124
`124
`128
` 131
`131
`132
`132
`133
`133
`134
`135
`135
`135
`136
`136
`137
`
`139–156
`139
`140
`140
`141
`141
`141
`142
`142
`142
`143
`143
`
`SYSTEM DEVELOPMENT
`6.1 Hardware Requirements
`6.1.1 PC Level Processing Units
`6.1.2 Storage Devices
`6.1.3 Network Protection Devices
`6.1.4 Surge Protectors
`6.1.5 RAID Technology
`6.1.6 Server Specific Jargon
`6.2 Software Requirements
`6.2.1 Client OS
`6.2.2 Server OS
`6.2.3 Network OS
`6.3 Communication Interface Technology
`6.3.1 Network Interface Card
`6.3.2 LAN Cabling
`6.3.3 WAN
`6.3.4 ATM
`6.3.5 Ethernet
`6.3.6 Token Ring
`6.3.7 FDDI
`6.3.8 TCP/IP
`6.3.9 SNMP
`6.3.10 NFS
`6.3.11 SMTP
`Exercise 6
`
`x 6
`
`7 TRAINING AND TESTING
`7.1 Introduction
`7.2 Technology Behind Training Delivery
`7.2.1 Traditional Classroom
`7.2.2 On-the-Job Training (OTJ)
`7.2.3 Video Conferencing
`7.2.4 Collaborative Tools
`7.2.5 Virtual Groups and Event Calls
`7.2.6 E-Learning
`7.2.7 Web-based Training
`7.2.8 Learning Management Systems (LMS)
`7.2.9 Electronic Performance Support Systems (EPSS)
`
`Traxcell Exhibit 2004
`Page 10 of 14
`
`
`
` Contents
`
`7.3 To Whom Training is Required?
`7.3.1 System Administrator Training
`7.3.2 DBA Training
`7.3.3 Network Administrator Training
`7.3.4 End-User and Technical Staff Training
`7.3.5 GUI Applications Training
`7.3.6 LAN/WAN Administration and Training Issues
`7.4 Impact of Technology on Training
`7.4.1 Client/Server Administration and Management
`7.5 Client/Server Testing Technology
`7.5.1 Client/Server Software
`7.5.2 Client/Server Testing Techniques
`7.5.3 Testing Aspects
`7.5.4 Measures of Completeness
`7.6 Testing Client/Server Application
`Exercise 7
`
`8 CLIENT/SERVER TECHNOLOGY AND WEB SERVICES
`8.1 Introduction
`8.2 What are Web Services?
`8.2.1 Web Services History
`8.2.2 Web Server Technology
`8.2.3 Web Server
`8.2.4 Web Server Communication
`8.3 Role of Java for Client/Server on Web
`8.4 Web Services and Client/Server/Browser – Server Technology
`8.5 Client/Server Technology and Web Applications
`8.6 Balanced Computing and the Server’s Changing Role
`Exercise 8
`
`9 FUTURE OF THE CLIENT/SERVER COMPUTING
`9.1 Introduction
`9.2 Technology of the Next Generation
`9.2.1 Networking
`9.2.2 Development Tools
`9.2.3 Processors and Servers
`9.2.4 Paradigms
`
`xi
`
`143
`143
`144
`145
`146
`146
`148
`149
`150
`150
`150
`151
`152
`153
`153
`156
`
`157–172
`157
`158
`158
`158
`162
`163
`164
`167
`168
`171
`172
`
`173–193
`173
`173
`174
`174
`177
`178
`
`Traxcell Exhibit 2004
`Page 11 of 14
`
`
`
`xii
`
`Contents
`
`9.3 Enabling Technology
`9.3.1 Expert Systems
`9.3.2 Imaging
`9.3.3 Point-of-Service
`9.4 Client/Server Computing and the Intranet
`9.4.1 Intranet
`9.4.2 Is the Intranet Killing Client/Server?
`9.4.3 Extranet
`9.5 Future Perspectives
`9.5.1 Job Security
`9.5.2 Future Planning
`9.5.3 Conclusion
`9.6 Transformational System
`9.6.1 Electronic Mail
`9.6.2 Client/Server and User Security
`9.6.3 Object-oriented Technology: CORBA
`9.6.4 Electronic Data Interchange
`Exercise 9
`
`References
`
`Index
`
`178
`178
`180
`181
`181
`181
`182
`183
`183
`183
`184
`184
`185
`185
`186
`188
`192
`193
`
`195–197
`
`199–200
`
`Traxcell Exhibit 2004
`Page 12 of 14
`
`
`
`11111
`
`Introduction
`
`1.1 WHAT IS CLIENT/SERVER COMPUTING?
`
`According to MIS terminology, Client/Server computing is new technology that yields
`solutions to many data management problems faced by modern organizations. The term
`Client/Server is used to describe a computing model for the development of computerized
`systems. This model is based on distribution of functions between two types of independent
`and autonomous processes: Server and Client. A Client is any process that requests specific
`services from the server process. A Server is a process that provides requested services for
`the Client. Client and Server processes can reside in same computer or in different computers
`linked by a network.
`When Client and Server processes reside on two or more independent computers on a
`network, the Server can provide services for more than one Client. In addition, a client
`can request services from several servers on the network without regard to the location or
`the physical characteristics of the computer in which the Server process resides. The
`network ties the server and client together, providing the medium through which the
`clients and the server communicate. The Fig. 1.1 given below shows a basic Client/Server
`computing model.
`
`Services:
`
`File, Print, Fax, Multimedia,
`Communication
`
`
`
`Server
`
`Process
`
`
`
`
`
`
`Client
`Process
`
`
`
`
`
`Network
`
`
`
`Request/Reply
`travels through
`network
`
`
`
`Fig.1.1: Basic Client/Server Computing Model
`
`Traxcell Exhibit 2004
`Page 13 of 14
`
`
`
`2
`
`Introduction to Client/Server Computing
`
`From the Fig. 1.1 it is clear that services can be provided by variety of computers in the
`network. The key point to Client/Server power is where the request processing takes
`place. For example: Client/Server Database. In case of Client/Server database system, the
`functionality is split between the server system and multiple clients such that networking
`of computers allows some tasks to be executed on the client system.
`
`1.1.1 A Server for Every Client
`A file server can store any type of data, and so on simpler systems, may be the only server
`necessary. On larger and more complicated systems, the server responsibility may be
`distributed among several different types of servers. In this section, we have discussed the
`purpose of various available server:
`
`
`File ServerFile Server
`File Server
`
`File ServerFile Server
`All the files reside on the server machine. File Server provides clients access to records
`within files from the server machine. File Servers are useful for sharing files across a network
`among the different client process requesting the services. The server process is somewhat
`primitive because of tends to demand many message exchanges over the network to find
`the requested data.
`The examples of File servers are:
`• UNIX: Network File Services (NFS) created by Sun Micro systems.
`• Microsoft Windows “Map Drive” e.g., Rivier College’s “P-drive”.
`• Samba: An open Source/Free Software suite that provides seamless file and print
`services to SMB/CIFS clients (i.e., Microsoft Windows clients).
`
`
`Print ServerPrint Server
`Print Server
`
`Print ServerPrint Server
`This machine manages user access to the shared output devices, such as printers. These
`are the earliest type of servers. Print services can run on a file server or on one or more
`separate print server machines.
`
`
`Application ServerApplication Server
`Application Server
`
`Application ServerApplication Server
`This machine manages access to centralized application software; for example, a shared
`database. When the user requests information from the database, the application server
`processes the request and returns the result of the process to the user.
`
`
`Mail ServerMail Server
`Mail Server
`
`Mail ServerMail Server
`This machine manages the flow of electronic mail, messaging, and communication with
`mainframe systems on large-scale networks.
`
`
`Fax ServerFax Server
`Fax Server
`
`Fax ServerFax Server
`Provides the facility to send and receive the Faxes through a single network connection.
`The Fax server can be a workstation with an installed FAX board and special software or
`a specialized device dedicated and designed for Fax Services. This machine manages flow
`of fax information to and from the network. It is similar to the mail server.
`
`Traxcell Exhibit 2004
`Page 14 of 14
`
`