Chapter 6: Client/Server and Intranet Computing

Slides:



Advertisements
Similar presentations
Distributed Processing, Client/Server and Clusters
Advertisements

Database Architectures and the Web
CS 432 Object-Oriented Analysis and Design
PZ13B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ13B - Client server computing Programming Language.
8.
Distributed Processing, Client/Server, and Clusters
Chapter 16 Client/Server Computing Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Technical Architectures
Chapter 17: Client/Server Computing Business Data Communications, 4e.
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the differences between requirements activities and design activities.
Chapter 13 Physical Architecture Layer Design
Distributed Processing, Client/Server and Clusters
Middleware Technologies compiled by: Thomas M. Cosley.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
Chapter 7: Client/Server Computing Business Data Communications, 5e.
Chapter 3 : Distributed Data Processing
Chapter 9: The Client/Server Database Environment
Chapter 3 : Distributed Data Processing
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Chapter 9: Moving to Design
Distributed Systems: Client/Server Computing
Client/Server Architecture
1 © Prentice Hall, 2002 The Client/Server Database Environment.
Lecture The Client/Server Database Environment
Client-Server Processing and Distributed Databases
The Client/Server Database Environment
Chapter 3 Database Architectures and the Web Pearson Education © 2009.
Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.
The Design of System Architecture
Chapter 9 Moving to Design Part 2.
1 Distributed Processing, Client/Server, and Clusters Chapter 13.
Chapter 9 Elements of Systems Design
2 Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the differences between requirements activities and design activities.
The Design Discipline.
CIS 325: Data Communications1 CIS-325 Data Communications Dr. L. G. Williams, Instructor.
1 Chapter 3 Database Architecture and the Web Pearson Education © 2009.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Database Architectures and the Web Session 5
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
Slide 1 Physical Architecture Layer Design Chapter 13.
1 Distributed Processing, Messages, RPC, RMI, CORBA Chapter 14 ”Operating Systems” W. Stallings.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Client/Server Computing
Chapter 131 Distributed Processing, Client/Server, and Clusters Chapter 13.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
9. 9 Systems Analysis and Design in a Changing World, Fourth Edition.
9 Systems Analysis and Design in a Changing World, Fifth Edition.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Lecture 9: The Client/Server Database Environment Modern Database Management 9 th Edition.
Distributed Processing, Client/Server and Clusters
Business System Development
Database Architectures and the Web
The Client/Server Database Environment
The Client/Server Database Environment
Chapter 9: The Client/Server Database Environment
CHAPTER 3 Architectures for Distributed Systems
Database Architectures and the Web
Ch > 28.4.
Ch 15 –part 3 -design evaluation
Distributed Processing, Client/Server and Clusters
Chapter 17: Client/Server Computing
Database System Architectures
Presentation transcript:

Chapter 6: Client/Server and Intranet Computing Business Data Communications, 6e

What is Client/Server? Client Server Network How is client/server different from other distributed computing? Heavy reliance on user-friendly applications Emphasis on centralizing databases and management functions Commitment to openness/modularity Networking fundamental to operation

Client/Server Terminology Application Programming Interface (API): A set of function and call programs that allow clients and servers to intercommunicate. Client: A networked information requester (usually a PC or workstation) that can query a database and/or other information from a server. Middleware: A set of drivers, APIs, or other software that improves connectivity between a client application and a server. Relational Database: A database in which information access is limited to the selection of rows that satisfy all search criteria. Server: A computer, usually a high-powered workstation or a mainframe, that houses information for manipulation by networked clients. Structured Query Language (SQL): A language developed by IBM and standardized by ANSI for addressing, creating, updating, or querying relational databases.

Client-Server Environment

Why is Client-Server Different? Emphasis on user-friendly client applications Focus on access to centralized databases Commitment to open and modular applications Networking is fundamental to the organization

Client/Server Applications Emphasis on GUI for users Database Example Database on server, applications for access on client, “glue” (like SQL) enables requests) Application logic can be client-only, or split between client and server

Classes of Client-Server Applications Host-based processing Server-based processing Client-based processing Cooperative processing “Thick client” vs “Thin server”

3-Tier Client/Server Architecture

Middleware Standardized interfaces and protocols between clients and back-end databases Hides complexity of data sources from the end-user Compatible with a range of client and server options All applications operate over a uniform applications programming interface (API).

Middleware Architecture

Logical View of Middleware

Basic Message Passing Primitives

Message Passing Issues Reliability vs Unreliability Reliable facilities guarantee delivery, provide error-checking, retransmission, etc Alternatively, the message can be sent without success/failure; reduces complexity and overhead, passes responsibility for confirmation to application Blocking vs Nonblocking Non-blocking more efficient, but difficult to test and debug programs Blocking (synchronous) retains control until acknowledgment is received

Remote Procedure Call Mechanism

Client/Server Binding Nonpersistent binding Does not maintain state information, connections re-established as necessary Inappropriate for RPCs used frequently by same caller Persistent binding Connection sustained until procedure return Useful for applications making repeated calls to remote procedures

Object-Oriented Mechanisms Clients and servers ship messages between objects. May rely on an underlying message or RPC structure or be developed directly on top of object-oriented capabilities in the operating system Success depends on standardization of the object mechanism, but competing models exist COM, OLE, CORBA

Intranets Implementation of Internet-based technologies within an organization, rather than for global connectivity Immensely successful in corporate computing contexts

Advantages of Intranets Rapid prototyping Scales effectively Little training required Can be implemented on variety of systems Open architecture allows interaction across platforms Supports a range of distributed servers Allows integration of legacy systems on client and server side Supports a range of media types Inexpensive to implement

The Intranet Web Web Content Web/Database Connectivity Electronic Mail The web can be used to effectively distribute content in a way that requires no new training for end-users Web/Database Connectivity Multiple tools exist to serve as middleware between web servers and data sources Electronic Mail Network News

Corporate Intranet Example

Web/Database Connectivity Advantages Ease of administration Deployment Development speed Flexible information presentation Disadvantages Limited functionality Stateless operation makes tracking difficult

Intranet Webs vs Traditional Client/Server Client/Server Disadvantages Include: 1. Long development cycles 2. Difficulty in partitioning applications, and modifying based on user feedback 3. Effort in distributing upgrades to clients 4. Difficult in scaling servers to respond to increased load 5. Continuous requirement for more powerful desktop machines

Other Intranet Technologies Electronic Mail Closed internal mail systems (delivery verification, etc) Internal mailing lists Network news (USENET) Can be adopted for internal intranet uses

Extranets Extends the intranet concept to provide information and services to selected outside populations, such as customers and suppliers Enables the sharing of information between companies A TCP/IP enabled form of EDI

Advantages of Extranets Reduced costs Coordination Customer Satisfaction Expedited communication

Methods for Converting Intranets to Extranets Long-distance dial-up access Internet access to intranet with security Internet access to an external server that duplicates some of a company’s intranet data Internet access to an external server that originates database queries to internal servers Virtual private network

Service Oriented Architecture Client/server architecture utilized widely by enterprise systems Business functions consist of modular structures

SOA Architectural Elements Service provider: network node that provides a service interface for a software asset that manages a specific set of tasks. Service requestor: network node that discovers and invokes other software services. Service broker: specific kind of service provider that acts as a registry and allows lookup of service provider interfaces and service locations.

Key Characterisitics for Effective Services Use Coarse-grained Interface-based design Discoverable Single Instance Loosely Coupled Asynchronous

SOA Example