Client/Server ComputingClient/Server Computing
BALAJI.M
Faculty, TSM
What Is Client/Server Computing?What Is Client/Server Computing?? Client/server is a term 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 processes; servers and clients.A client is any process that requests specific services from server processes. A server is a process that provides requested services for clients. Both clients and servers can reside in the same computer or in different computers connected by a network.
? The key to client/server power is where the requested processing takes place.
? In mainframe systems, all processing takes place on the mainframe, and the terminal is used to display the data screens.
? The client/server environment provides a clear separation of server and client processes.
A Basic Client/Server Computing Model
Figure 1
The Forces That Drive C/S SystemsThe Forces That Drive C/S Systems
? The Changing Business Environment
? The Need for Enterprise Data Access
? End User Productivity Gains Based on the Use of Data Resources
? Technological Advances
The Evolution of Client/Server ISThe Evolution of Client/Server IS
?Mainframes in the 1970s? Complex, proprietary OS? Dumb terminals? Restricted access? Hardware and software dictated IS? Centralized, complex MIS department
bureaucracy
?Microcomputers in the 1980s? Easy-to-use software (e.g., spreadsheet)? Micro-based database systems? Data still in mainframes? “Manual download”
The Evolution of Client/Server ISThe Evolution of Client/Server IS
? Intelligent Terminals? PCs connected to the mainframe
? Electronic download? Proliferation of snapshot versions of corporate DB
? Islands of information
? Local Area Network? Network operating systems (NOS)
? Powerful PCs? Common platform for both end users and MIS
specialists
The Evolution Of The Computing Environment
Managerial Expectations of C/S SystemsManagerial Expectations of C/S Systems
?Client/Server Benefits?Platform-independent system
development?Optimized distribution of processing
activities among different platforms?Use of user friendly, cost effective, and
compatible techniques, methodologies, and specialized tools
?MIS Expectations of Client/Server Benefits? Reduced development and implementation costs
? Reduced development time and increased programmer productivity
? Extended system life cycle through scalability and portability
? Reduced system operational cost
? Change of MIS function from development to end user support
? Enhanced information deployment
Managerial Expectations of C/S SystemsManagerial Expectations of C/S Systems Client/Server ArchitectureClient/Server Architecture
? Three Components of Client/Server Architecture
? The client is any computer process that requests services from the server. It is also known as the front-end application.
? The server is any computer process providing services to the clients. The server is also known as the back-end application.
? The communication middleware is any computer process(e s) through which clients and servers communicate. It is also known as middleware or communications layer.
Client/Server ArchitectureClient/Server Architecture
?Client/Server Principles? Hardware independence
? Software independence? Operating systems? Network systems? Applications
? Open access to services
? Process distribution? Scalability and flexibility? Interoperability and integration
Client/Server ArchitectureClient/Server Architecture
?Client Components
? Powerful hardware
? An operating system capable of multitasking
? A graphical user interface (GUI)
? Communications capability
Client/Server ArchitectureClient/Server Architecture
?Server Components
? File services
? Print services
? Fax services
? Communications services
? Database services
? Transaction services
? Miscellaneous services
Two-Tier Client-Server ArchitectureTwo-Tier Client-Server Architecture
Database
SQL statements
Query results
Database server
Three-Tier Architecture (Middleware Server)
Three-Tier Architecture (Middleware Server)
Database
SQL statements
Query Results
Middleware server Database server
Client/Server ArchitectureClient/Server Architecture
?Characteristics of Server Hardware? Fast CPU
? Fault-tolerant capabilities? Expandability of CPU, memory, disk, and peripherals
? Bus support for multiple add-on boards
? Multiple communications options
?Server Process Benefits from the Client/Server Architectural Principles? Location independence
? Resource optimization
? Scalability? Interoperability and integration
Parallel vs. Distributed SystemsParallel vs. Distributed Systems
? Tightly-coupled systems : “parallel processing”? Processors share clock, memory, run one OS
? Frequent communication
? Loosely-coupled systems: “distributed computing”? Each processor has own memory, runs independent OS? Infrequent communication
Network TopologiesNetwork Topologies
Star TopologyStar Topology Bus TopologyBus Topology
Ring TopologyRing Topology Mesh Topology (Web)Mesh Topology (Web)
Hybrid TopologyHybrid Topology
OSI Reference ModelOSI Reference Model
Information Flow Through The OSI Model
?The Application Layer– Contains a variety of protocols which are
commonly needed.– Everything in this layer is application
specific.– This layer provides application services
for File transfer, email etc.
?The Presentation layer• Concerned with the syntax and
semantics of the information transmitted• An example presentation service can be
encoding data in a standard agreed upon way by defining abstract data structures.
?The Session layer– Allows ordinary data transport and enhanced services– Establishes, manages, terminates connection between
applications– Also provides synchronization by establishing check points
during data transfer
?The Transport Layer– Accept data from the session layer, split it up into smaller
units and pass them to the network layer– Creates a distinct n/w connection for each transport
connection, an error free point-to-point channel.– Transport header possess the information of which message
belongs to which connection in case of multiple connections– Also establishes flow control among communicating hosts.
• The Network Layer• Determines how packets are routed from the source to the
destination• Routes can be of static, decided for each session, highly
dynamic.• Performs congestion control • Error handling & Packet sequencing
• The Data Link Layer– Breaks the data into data frames and processes
acknowledgement frames– Creates frame boundaries by attaching special bit patterns– Takes care of duplicate, damaged and lost frames– Establishes flow control in transmission.– Also takes care of control access in shared channels
?Physical Layer– Concerned with transmission of raw
bits over the channel– Also specifies the voltage levels for
the bits, rules of transmission , establishing connection, no of pins used on the connector etc.
– Ethernet, token ring, RS232 and ATM are protocols with physical layer components
Web Database ConnectivityWeb Database Connectivity
? Internet commerce depends heavily on database access for websites.
? Web database connectivity allows a database to be manipulated through a Web page.
? A user may use a Web form to change a database or view a report generated from a database.
Internet BasicsInternet Basics
? Network of networks? Uses standard protocols: TCP/IP
? TCP: splits messages into packets? IP: routes messages
? Each computer on the Internet has a unique numeric address known as an IP address.
Internet and Intranet RelationshipInternet and Intranet Relationship
Firewall
TCP/IPTCP/IP
TCP/IP
TCP/IP
TCP/IP TCP/IP
Intranet
Internet
World Wide WebWorld Wide Web
? Most popular application on the Internet? Supports browsing pages located on any computer on the
Internet? Hypertext Transport Protocol (HTTP) establishes a session
between a browser and a Web server. ? Each page has a unique address known as a URL.
Web Page Request CycleWeb Page Request Cycle
User clicks hyperlink.
Web server locatespage.
1
3
Web server sends file.
Browser sends request toweb server.2
4
Browser displays file.5
Client/Server ArchitectureClient/Server Architecture
?Database Middleware Components? Application programming interface (API)
interfaces with the client application.
? The database translator translates the SQL requests into the specific database server syntax.
? The network translator manages the network communications protocols.
? Three Main Benefits of Using Middleware? Access multiple databases
? Database server-independent
? Network protocol- independent
Client/Server ArchitectureClient/Server Architecture
?Middleware Classifications
? Messaging-oriented middleware (MOM)
? Remote-procedure- call-based (RPC-based) middle ware
? Object-based middleware
The Quest for StandardsThe Quest for Standards
?Standard-Setting Organizations? IEEE (Institute of Electrical and Electronics
Engineers)? Network and hardware
? ANSI (American National Standards Institute)? Programming languages (e.g., COBOL, SQL)
? ISO (International Standards Organization)? OSI (Open Systems Interconnection) reference
? Complete SDLC support from planning to implementation and maintenance
? Team development support
? Support for third-party development tools
? Prototyping and rapid application development (RAD) capabilities
? Support for multiple platforms
? Support for middleware protocols
? Multiple network support
Client/Server Implementation IssuesClient/Server Implementation Issues
Client/Server Implementation IssuesClient/Server Implementation Issues
?An Integrated Approach
? Six Phases of Client/Server Decision
1. Information systems infrastructure self -study
2. Client/Server infrastructure definition
3. Selecting a window of opportunity
4. Management commitment
5. Implementation
6. Review and evaluation
Application Functional Logic Components
Functional Logic Splitting In Four Client/Server Architectural Styles
Client/Server Architectural StylesClient/Server Architectural Styles
?Notes on Figure 12.16? The file server architectural style reflects a setup in
which the client does most of the processing, whereas the server side only manages the data storage and retrieval.
? The data management logic is split between the client and the server computers in the database server architectural style.
? The transaction server architectural style permits the sharing of transaction details between the client and the server.
? The application server architecture makes it possible to enjoy the benefits of client/server computing even when the client computers are not powerful enough to run some of the client/server applications.