240-322 Cli/Serv.: Models/11 Client/Server Distributed Systems v Objectives –introduce the client/server model –give an overview of DCE and Java RMI 240-322,

Slides:



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

ICS 434 Advanced Database Systems
Chapter 13 Review Questions
Database Architectures and the Web
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
SWE 316: Software Design and Architecture
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
 Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group ( Provides a set of tools and.
Distributed components
Technical Architectures
1 Chapter 2 Database Environment Transparencies © Pearson Education Limited 1995, 2005.
Distributed Systems Architectures
12 Chapter 12 Client/Server Systems Hachim Haddouti.
12 Chapter 12 Client/Server Systems Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
The Architecture of Transaction Processing Systems
Chapter 9: The Client/Server Database Environment
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Chapter 2 Database Environment Pearson Education © 2014.
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
Distributed Systems: Client/Server Computing
Client/Server Architecture
1 © Prentice Hall, 2002 The Client/Server Database Environment.
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
DATABASE MANAGEMENT SYSTEMS 2 ANGELITO I. CUNANAN JR.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Lecture The Client/Server Database Environment
Client/Server Computing. Information processing is distributed among several workstations and servers on a network, with each function being assigned.
The Client/Server Database Environment
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Client/Server Architectures
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Database Architectures and the Web Session 5
Lecture On Database Analysis and Design By- Jesmin Akhter Lecturer, IIT, Jahangirnagar University.
Application Layer CHAPTER 2. Announcements and Outline  Administrative Items  Questions? Recap 1.Introduction to Networks 1.Network Type 2.N etwork.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Lecture 15 Introduction to Web Services Web Service Applications.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Personal Computer - Stand- Alone Database  Database (or files) reside on a PC - on the hard disk.  Applications run on the same PC and directly access.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Lesson Overview 3.1 Components of the DBMS 3.1 Components of the DBMS 3.2 Components of The Database Application 3.2 Components of The Database Application.
Oracle's Distributed Database Bora Yasa. Definition A Distributed Database is a set of databases stored on multiple computers at different locations and.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
1 Chapter 1 Introduction to Databases Transparencies.
Distributed database system
WINDOWS NT Network Architecture Amy, Mei-Hsuan Lu CML/CSIE/NTU August 19, 1998.
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Chapter 2 Database Environment.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Lecture 9: The Client/Server Database Environment Modern Database Management 9 th Edition.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
The Client/Server Database Environment
The Client/Server Database Environment
The Client/Server Database Environment
CSC 480 Software Engineering
Chapter 9: The Client/Server Database Environment
#01 Client/Server Computing
Ch > 28.4.
Software models - Software Architecture Design Patterns
#01 Client/Server Computing
Presentation transcript:

Cli/Serv.: Models/11 Client/Server Distributed Systems v Objectives –introduce the client/server model –give an overview of DCE and Java RMI , Semester 1, The Client Server Model (Chapters 1 and 2, Berson)

Cli/Serv.: Models/12 Overview 1.Client/Server Basics 2.Client/Server in More Detail 3.Client/Server Summary 4.Standards Organisations 5.DCE

Cli/Serv.: Models/13 1. Client/Server Basics v A first examination of client/server functionality. v A brief definition: –A server is a program (or collection of cooperating programs) that provides services and/or manages resources on the behalf of other programs (its clients).

Cli/Serv.: Models/ Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network

Cli/Serv.: Models/ Example v The ATM network: –the clients are the ATM machines u user interfaces; some simple application processing –the server is at the bank u most application processing; very large database of customer accounts

Cli/Serv.: Models/ Architectural Requirements v Reliable, robust communication between the clients and server. v Client/server cooperation –started by the client v Application processing is usually distributed between a client and the server. v Server controls services/data that the client accesses. v Server handles conflicting requests.

Cli/Serv.: Models/ Recent Client/Servers Architectures v More complex networking –LAN, WAN  Web, Internet –client mobility v More complex data structures –relational  multimedia, OO, deductive –size –distributed databases –parallelism continued

Cli/Serv.: Models/18 v Separation of ‘business logic’ (i.e. program code for manipulating data) from the data –3-tier (multi-tier) architectures –distributed business logic

Cli/Serv.: Models/19 2. Client/Server in More Detail 2.1. Converting a Database App Component Placement? 2.3. The 2-tier Model 2.4. The 3-tier Model 2.5. Locating the Business Logic 2.6. Locating the Data 2.7. Multi-tier Model

Cli/Serv.: Models/ Converting a Database App. Presentation Logic Business Logic Database Logic DBMS Data base Stand-alone Application

Cli/Serv.: Models/111 v Different client/server models are obtained by locating different components and combinations of the application on the client and server(s). v In general: –presentation logic stays on the client –DBMS and database move to the server –parts of the business and database logic that can be used by several clients are placed on the server

Cli/Serv.: Models/ Component Placement? v How much data is required by the local application? v How many application users require the same data? v How many interactions occur between the application parts? v Technical issues –platforms, networking

Cli/Serv.: Models/ The 2-tier Model Fig. 2.3, p.41 Presentation Logic Business Logic Database Logic DBMS Data base Database Logic Client Server

Cli/Serv.: Models/114 Points v The database is on the server –could some of it be moved to the client? v Distributed database logic –most of it is on the client v The client does the presentation. v ‘Fat’ versus ‘thin’ clients. v Much simpler if all the database servers are the same (homogenous).

Cli/Serv.: Models/115 Drawbacks v It is difficult to build heterogeneous database environments. v Transaction processing is limited by the DBMS. v Asynchronous processing is difficult –i.e. the client doesn’t wait for the server’s answer v Scaleability?

Cli/Serv.: Models/ The 3-tier Model Fig. 1.6, p.12 Server Data Application serversData Servers Server Data UNIX Win/NT Clients

Cli/Serv.: Models/117 The 3-tier Model Again Fig.2.6, p.48 Server Mainframe host(s) Tier 1 Tier 2 Tier 3 LAN Price/Performance Functionality Local Autonomy Greater Integrity Security Central Control

Cli/Serv.: Models/118 Points v The “Mainframe host” is usually a very large database (or databases) –sometimes called a back-end server v The “server” usually holds shared applications (application/business logic) –sometimes called the middle-tier server

Cli/Serv.: Models/119 Benefits of 3-tier over 2-tier v The application logic in the middle-tier is more independent of the client and the back-end server –it should be more robust v The application logic in the middle-tier can work more easily with data from multiple sources. v Encourages multiple back-end servers –encourages data distribution

Cli/Serv.: Models/120 Problems v Much more complex: –network management, data integrity, maintenance, development v Still (partially) dependent on platforms –e.g. the client may still be restricted to a certain application server, but not (maybe) to any data server

Cli/Serv.: Models/121 Examples v A ‘real’ ATM network –the ATM machines are the clients (as before) –the middle-tier servers provide certain processing u checking balances, money transfer requests u directing queries to the relevant back-end server –back-end server(s) u specialized by account type u very robust concurrency control, transaction processing continued

Cli/Serv.: Models/122 v Many Web applications are 3-tier: –the Web browser is the client software –the embedded components in Web pages (e.g. Java applets) come from the middle-tier –the back-end server contains the database/groupware

Cli/Serv.: Models/ Locating the Business Logic Fig.2.12, p.60 Presentation Logic Business Logic DBMS Data base Database Logic Client Server Business Logic

Cli/Serv.: Models/124 v Three ways of distributing the ‘business logic’ (i.e. the program code): –locate it entirely on the client (‘fat’ client) –locate it entirely on the server (‘fat’ server) –split it between the client and server

Cli/Serv.: Models/125 Fat Server Advantages v Easier to update the application logic since clients not involved. v Data is better hidden from clients. v Easier to manage and debug since data and code is centrally located. v Reduces bandwidth problems since data processing stays on the server. continued

Cli/Serv.: Models/126 v Better for mission-critical applications when fault-tolerance and stability are important. v Encourages client simplicity and compatibility since the server must be able to work with many types of client. –e.g. serve Web pages ActiveX –e.g. serve Web pages without ActiveX

Cli/Serv.: Models/127 Fat Client Advantages v The server is unaffected when updates are done to the client’s application logic –the server will be more stable v Easier to program –less networking –more direct access to client platform features, such as GUI

Cli/Serv.: Models/128 Data base 2.6. Locating the Data Fig.2.14,p.69 Presentation Logic Business Logic DBMS Data base Database Logic Client Multiple Servers DBMS Database Logic Data base

Cli/Serv.: Models/129 Issues v Dividing up the data. v Transparency of the distribution. v Data integrity / synchronisation / consistency. v Data administration / management.

Cli/Serv.: Models/130 Transaction Processing v A transaction is a sequence of actions which takes a system (usually a database) from one consistent state to another. –e.g. change a customer’s record v A transaction should possess the “ACID” properties: –Atomicity, Consistency, Isolation, Durability continued

Cli/Serv.: Models/131 v Recovery and concurrency mechanisms are necessary, typically implemented in a Transaction Processing Management (TPM) system. v TPMs become very complex when data is distributed. –ACID must be distributed as well

Cli/Serv.: Models/ Multi-tier Model Fig.2.9,p.53 Middleware Physical Network

Cli/Serv.: Models/133 Common New Features v Asynchronous connectivity –e.g. asynchronous RPCs v Data distribution using replication v Name/directory services for resource location independence v More complex data types continued

Cli/Serv.: Models/134 v More complex analysis –e.g. data mining, network characteristics v Authentication services –you must 'prove' who you are to the system v Distributed file system(s) v Time services

Cli/Serv.: Models/135 Examples v Domain-specific: –ODBC, SQL, Oracle Glue v Groupware middleware: –Microsoft Exchange, Lotus Notes v Object middleware: –CORBA, DCOM (more on these in part 2)

Cli/Serv.: Models/136 Mult-tier Web Applications v The Web browser is the client software on the first tier. v Web page components come from the second tier. v The third tier is a database front-end for a series of fourth tier heterogeneous databases –the third tier database may have been constructed with data mining techniques

Cli/Serv.: Models/ Client/Server Summary 3.1. Recurring Issues 3.2. Advantages of Client/Server 3.3. Disadvantages of Client/Server

Cli/Serv.: Models/ Recurring Issues v LAN, WAN, Internet scaling v Data distribution/replication v Distributed processing v System management/maintenance v Choice of middleware v Standards / open systems

Cli/Serv.: Models/139 What’s an Open System? v An open system: –complies with industry standards for programming, communication, networking, presentation, etc. –is designed with portability/interoperability in mind –is scaleable

Cli/Serv.: Models/ Advantages of Client/Server v Mainframe functionality can be made widely available –cost benefits v Processing and data are localised on the server –reduces network traffic, response time, bandwidth requirements v Business logic can be distributed (in 3-tier model) –reuse, portability continued

Cli/Serv.: Models/141 v Encourages open systems v Present-day systems are too large and involve too many users to be located on one machine.

Cli/Serv.: Models/ Disadvantages of Client/Server v The server becomes a bottleneck v Distributed applications are much more complex than non-distributed ones –i.e. in development, run time, maintenance, upgrades v Requires a shift in business practises –local, simple data  distributed, open, complex data

Cli/Serv.: Models/ Standards Organizations v POSIX: Portable Operating Systems Interface –family of standards developed by IEEE –POSIX working groups have standardised C, UNIX shell, networking API for sockets, real- time, threads, etc. continued

Cli/Serv.: Models/144 v The Open Group –consolidation of X/Open company and Open Software Foundation (OSF) –consortium of vendors and industrial/government users –developed API for UNIX, including XTI (X/Open Transport Interface) network protocol continued

Cli/Serv.: Models/145 v Internet Engineering Task Force (IETF) –community of network designers, operators, vendors, and researchers –concerned with the evolution of the Internet architecture –e.g. sockets API for IP version 6 (IPv6) u 128-bit addresses, simpler header, multicasting, authentication and security continued

Cli/Serv.: Models/146 v ISO (International Organization for Standards) –main standards organization –e.g. communications protocol: the Open Systems Interconnection (OSI) reference model v OMG (Object Management Group) –object-oriented standards –e.g. CORBA

Cli/Serv.: Models/ DCE v The Distributed Computing Environment –developed by the OSF (late 1980’s) –open –very extensive features (and complex) v Basic programming feature is the Remote Procedure Call (RPC) –other features: name/directory services, authentication, security, data pipes

Cli/Serv.: Models/148 DCE RPC Client Application code RPC Stub Code RPC runtime library Server Network Input Output Application code Remote Procedure Stub Code RPC runtime library

Cli/Serv.: Models/149 Using RPC v The data structures to be passed as arguments of the RPC call are used by a compiler to generate the client and server stub code. v The data structures are written in a special high- level language (simplified C types), which are easily converted to network packets.

Cli/Serv.: Models/150 DCE Client/Server Model (v.2) Distributed DCE Application Executive OS and Network Interface Distributed DCE Application ServicesData Sharing OS and Network Interface ClientServer Network Fig 1.10, p.27

Cli/Serv.: Models/151 DCE Architecture Applications PC IntegrationDist. Services MgmtSecurity DFS: Dist. File Services Naming Services Time Services Future Core Services RPCs Presentation Services Threads Services OS Network Services Fig. 1.9, p.23

Cli/Serv.: Models/ Distributed File System (DFS) v Problem: how to allow a user on one system to modify data stored on a file in another system? –User = client –Distant data is managed by a file server

Cli/Serv.: Models/153 Issues v Access security and protection –user authentication (Kerberos) + user control v Data reliability v Data availability v Performance v Management

Cli/Serv.: Models/ More Details v There are several books from O’Reilly on different aspects of DCE: –"Understanding DCE" –"Guide to Writing DCE Applications" –"Distributed Applications Across DCE and Windows NT" –"Introduction to OSF DCE"(in PSU library) v We will look at simple RPC on UNIX later in the course.