INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Slides:



Advertisements
Similar presentations
Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.
Advertisements

COM vs. CORBA.
Database Architectures and the Web
Chapter 7 LAN Operating Systems LAN Software Software Compatibility Network Operating System (NOP) Architecture NOP Functions NOP Trends.
Networks in Operation. Computer Networks External Resources: Much of the complexity of modern networks arise from the huge quantity of distributed resources.
Remote Procedure CallCS-4513, D-Term Remote Procedure Call CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
CSIS0402 System Architecture K.P. Chow University of Hong Kong.
I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
Distributed components
Technical Architectures
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
Introduction to Web Database Processing
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Middleware Technologies compiled by: Thomas M. Cosley.
12 Chapter 12 Client/Server Systems Hachim Haddouti.
Chapter 9: The Client/Server Database Environment
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
Data Networking Fundamentals Unit 7 7/2/ Modified by: Brierley.
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
Client/Server Architecture
1 © Prentice Hall, 2002 The Client/Server Database Environment.
Lecture The Client/Server Database Environment
The Client/Server Database Environment
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
MBA 664 Database Management Systems Dave Salisbury ( )
Database Architectures and the Web Session 5
Application Layer CHAPTER 2. Announcements and Outline  Administrative Items  Questions? Recap 1.Introduction to Networks 1.Network Type 2.N etwork.
Client Server Technologies Middleware Technologies Ganesh Panchanathan Alex Verstak.
SEED Infotech Pvt. Ltd. 1 Networking in Java. SEED Infotech Pvt. Ltd. 2 Objectives of This Session Describe issues related to any type of network using.
© 2005 by Prentice Hall 1 Chapter 9: The Client/Server Database Environment Modern Database Management 7 th Edition Jeffrey A. Hoffer, Mary B. Prescott,
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Client – Server Architecture. Client Server Architecture A network architecture in which each computer or process on the network is either a client or.
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.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES1 Chapter 1. Distributed systems: Definitions, design.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
Lecture 22: Client-Server Software Engineering
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
CSE 451: Operating Systems Winter 2015 Module 22 Remote Procedure Call (RPC) Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Data Networking Fundamentals Chapter 7. Objectives In this chapter, you will learn to: Discuss basic networking concepts, including the elements common.
An Introduction to Networking
An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University URL:
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
John R Durrett1 Client/Server Computing Byte April 1995 & The Martian C/S book.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Lecture 9: The Client/Server Database Environment Modern Database Management 9 th Edition.
Internet and Distributed Application Services
Chapter 9: The Client/Server Database Environment
The Client/Server Database Environment
The Client/Server Database Environment
The Client/Server Database Environment
System Architecture & Hardware Configurations
Chapter 9 – RPCs, Messaging & EAI
Chapter 9: The Client/Server Database Environment
CHAPTER 3 Architectures for Distributed Systems
Data Networking Fundamentals
#01 Client/Server Computing
Chapter 3: Windows7 Part 4.
Ch > 28.4.
CSE 451: Operating Systems Winter 2006 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Inventory of Distributed Computing Concepts
CSE 451: Operating Systems Winter 2004 Module 19 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Client/Server Computing
CSE 451: Operating Systems Messaging and Remote Procedure Call (RPC)
#01 Client/Server Computing
Presentation transcript:

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES Chapter 3. Network architectures: Client/server & middleware

CONTENT Networks architectures Client/Server The middleware RPC model Gateways  Transparency  Client server requirements  A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT (1) Networks architectures Yesterday Today A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Network architectures Historically you had: Centralized architecture : Slave terminals, Mono-technology, Mono OS, proprietaries systems ,… Non-relational DB: IDS2, DB2,.. Strutural Programing Languages: COBOL, … A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Networks architectures (2) Then came distributed architecture: Networks, more powerful PC, open OS. Standards and API Interfaces, relational DB Query Languages 4GL: SQL, … Development tools. Transport (communications) tools. Client/Server. Rules Applications DBMS OS Company network DB Request Response Server Clients Windows OS/2 Unix A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT (2) Networks architectures Client/Server Client/Server Model Request ? Response? Examples? A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Client/Server Model Client: Server: Request: Response: Process that request a server process to compute an operation, by sending a message containing details on the operation to compute. After a request is sent, the client waits the server response. Server: Process that receives client’s request, compute the demanded operation and send back a response to the requester. Request: Message transmitted from a client to a server, and containing a description of the tasks to be executed on behalf of (or for ) this client. Response: Message transmitted back by a server to a client after the requested operation has been executed, and containing the return status of the operation. A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Client/Server Model (2) The most popular models are: Peer to peer Filter (gateway, firewall, proxy, …) Client Server A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT (2) Networks architectures Client/Server Client/Server Model Client/Server architectures Fat vs thin A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Client/Server architectures The model: Many clients, one server: Application Hardware Op. System Client process Hardware System Server process Client Master Slave Client Server One client, One server: One client, many servers: Client Server Client Server Server A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Fat vs thin Clients and servers may be ``fat'' or ``thin'' (no normal size?) Fat clients use up space on each client they run on, may have complex installation requirements, etc (e.g. Netscape 3.0) Thin clients have reduced functionality, but are easier to manage(e.g cell phone browser and applications) The network computer model favours thin clients. A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Client or server oriented C/S Fat Client: Stores data and application on localhost, and server stores updating files, … Client makes a lot of processing tasks: e.g DB server, file server… Server are often lightened. Fat Server: The maximum processing load is on the server: e.g groupware, transactions, objects, … servers. Easier to manage, since features may be added on server side without changing and side-effects on clients. A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Client or server oriented C/S (2) Thin Client: Client with very little functionnalities: X-Terminals, workstations without hard-disk, Network Appliances, Network Computer, Networked PC,… Maximum load on server side Data and applications Applet, data Local process, Caching, … Thin Client Server A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT (2) Client/Server communication Client/Server messages Networks architectures Client/Server Client/Server Model Client/Server architectures Fat vs thin Client/Server communication Client/Server messages C/S messages exchange C/S communication mode Blocking tasks Non blocking tasks Communication examples  A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Client/Server communication Service Primitives: SendRequest() ReceiveResponse() ReceiveRequest() SendResponse() Request Response SendRequest() SendResponse() ReceiveRequest() ReceiveResponse() Session Session Transport Transport Network A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Client/Server messages Three types of messages in general: REQ, RESP, and ACK. Others types could exist. AYA (Are You Alive): Used by the client to avoid retransmission when the server is late in its answer. IAA (I Am Alive): Used by the server to delay client waiting (e.g the server is busy in a long task) The client could make a timeout and stop refreshing requests after many tryings. TA (Try Again); Used by the server when the REQ message can not be accepted (e.g mail box over flow, unknown destination address, …) REQ RESP ACK S C AYA IAA A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

C/S messages exchange In an heterogenous environment, an adaquate data presentation is necessary: Data translation: XDR (SUN) , ASN.1(CCITT),… Marshalling parameters sent Unmarshalling received parameters Presentation Session Transport Translation Marshalling Unmarshalling A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

C/S communication mode Synchronous mode : Doesn’t use waiting queue Messages are sent with no delay Blocking mode (ex. RPC). Asynchronous mode : Uses waiting queue Non blocking mode (ex.: FIFO, email, …). Uses Multithreading. A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Blocking tasks The process will stop untill the task ends: System call Reading Copy in the buffer Middleware Resume read() A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Non blocking tasks The process will not stop between two tasks: System call WOULD BLOCK Resume read() loop Waiting for data Copy in the buffer Activate SIGIO System call Resume SIGIO Signal signal() handler() read() Waiting for data Copy in the buffer Events Signals The process will not stop between two tasks: E.g: Multithreading A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

A communication example Procedure call (RPC or local) : Blocking tasks ordinary procedure call dynamic link library procedure call remote procedure call A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT (2) Networks architectures Client/Server Client/Server Model Client/Server architectures Fat vs thin Client/Server communication Designing a C/S application 2 tiers Client/server Components distribution   3 tiers Client/server  A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Designing a C/S application A C-S application must include the following components: Presentation: Textual interfaces or GUI, interactions, data retrieving, validation, … Application Logic: Process in relation with the client/server application’s data. Data access : Data store and query: DB, Web documents,… A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

2 tiers Client/server Gartner model for 2-tiers systems: Presentation Logic Data Distributed DB Class 1 Remote Data Class 2 Distributed Transactions Class 3 Remote Presentations Class 4 Class 5 Client Server A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Components distribution CGI, HTTPD, SERVLETS Distributed DB: Presentation Logic Data Class 1 Web: HTML, JAVA, JSP Class 3 File Service: Class 2 This allows remote clients acess to a shared file system A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Components distribution Terminals emulation X Window Presentation Logic Data Class 5 Envelop Presentation Presentation X Wrapper Logic Presentation telnetd Data Logic Original application Data Class 4 This allows a remote system to act as a normal terminal on a local system Class 5 This decouples application view of windowing and display view of windowing This acts as a wrapper around a classical system, either to provide an X Window interface or an alternative character-based one A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

3 tiers Client/server Gartner Model for 3-tiers systems: Client Middle-tier Server Presentation Logic Data A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT (3) Networks architectures Client/Server The middleware The middleware : definitions The middleware in networks Types of middleware  Middleware Model  Middleware Components  Middleware position  Middleware services Middleware functionnalities  A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

The middleware: definitions Set of software services built on top a transport protocol to enable and hide C/S requests/responses. Makes the connexion between server (e.g DB ) and development tools on client device. Middleware services are a set of distributed softwares that exist between the OS, the application and network services on a particular node. Middleware examples: CORBA, RMI, DCOM, .NET… A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

The Middleware in networks The network services include things like TCP/IP The middleware layer is application-independent s/w using the network services Examples of middleware are: DCE, RPC, Corba Middleware may only perform one function (such as RPC or many (such as DCE) A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Types of middleware General purpose middleware: Message-Oriented Middleware (MOM) which provides program-to-program data exchange, enabling the creation of distributed applications. Communication protocols between shared directories, authentication services, time service, RPC, FIFO, ... NOS(network OS) type distributed services: File services, printing services. E.g: DCE, Netware, Named Pipes, LAN Server, LAN Manager, Vines, TCP/IP, NetBios. Middleware Server Client A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Types of middleware (2) Middleware Gateway Server Client Specific types: Databases Middleware: ODBC, IDAPI,DRDA, EDA/SQL,… Transaction processing (TP) monitors which provide tools and an environment for developing and deploying distributed applications. E.g. ATMI (Tuxedo), Transactional RPC (Ensina), … Groupeware: MAPI, Lotus Notes, … Object Request Brokers (ORBs) which enable the objects that comprise an application to be distributed and shared across heterogeneous networks. E.g. Corba ORB,... Network management: SNMP, … Middleware Gateway Server Client Middleware A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Middleware Model Distributed management GUI Logic OS Client Transport Network OS Specific Services Middleware Distributed management DBMS Logic OLPT OS Server A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Middleware Components Channels: Communication services between components and applications: DCE RPC (synchronous), ORB (synchronous), MOM (Message Oriented Middlware) (asynchronous). Support for communication services Corba SSL, directories (LDAP). Platforms: Application servers. Running on server side. Offers communication channel Makes dispatching (distributed OS), load balancing, transactions integrity, … E.g: TP Monitors, OTM, Web based application servers, … A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Middleware position Examples: Primitives services: terminals emulators, file transfer, email,… Basic services: RPC Integrated services : DCE, SE distributed by O/S. Distributed objects: CORBA, COM/DCOM, OLE/ActiveX World Wide Web A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Middleware services Specifiic service middleware SQL/API TxRPC Mail ORB/COM Distributed management CMIP SNMP DME Network OS RPC NFS directories, Security, Message service Transport TCP/IP IPX/SPX NetBIOS SNA Network, Data Link, Physical A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Middleware functionnalities Connexion establishment procedure Process requests Return results Close connexion Initiation of processes at different computers Directory services to allow clients to locate servers Remote data access Concurrency control to allow servers to handle multiple clients Security integrity Monitoring Termination of processes both local and remote Caching results Caching requests Session management A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Middleware examples Primitive services such as terminal emulators, file transfer, email Basic services such as RPC Integrated services such as DCE, Network O/S Distributed object services such as CORBA, OLE/ActiveX World Wide Web A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

CONTENT (4) Networks architectures Client/Server The middleware RPC model   Gateways  Transparency  Client server requirements  A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

RPC model Client RPC Server Server Stub Client Stub Procedure Application Procedure Call Procedure return Return Procedure Run Procedure Server Stub Client Stub Marshalling Unmarshalling Marshalling Unmarshalling SendRequest() ReceiveResponse() SendResponse() ReceiveRequest() A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Gateways A gateway is a generic term for an entity used to connect two or more networks A repeater operates at the physical level copies the information from one subnet to another A bridge operates at the data link layer level and copies frames between networks A router operates at the network level and not only moves information between networks but also decides on the route A proxy operates at the application level A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Transparency Networks Transparency: Servers Transparency : Support of different type of networks: LAN, WAN, … TCP/IP, ISO, SNA, … Servers Transparency : Support of different type of servers: SGBD (Oracle, DB2, …), applications, … Data Transparency: Data formats translation: XDR, ASN.1, … Localisation Transparency: By using directory service. A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Client/Server points of failure The client side of the application could crash The client system may have h/w problems The client's network card could fail Network contention could cause timeouts There may be network address conflicts Network elements such as routers could fail Transmission errors may lose messages The client and server versions may be incompatable The server's network card could fail The server system may have h/w problems The server s/w may crash The server's database may become corrupted A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Client/Server requirements Reliability Performance Responsiveness Scalability Capacity Security A.Obaid-Wilfried Probst – Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES