CLIENT SERVER INTERACTION USING MESSAGES. Introduction  The best choice for client server.  The interaction mechanisms remain similar.  Event loops.

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
REST Introduction 吴海生 博克软件(杭州)有限公司.
A component- and message-based architectural style for GUI software
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
RPC Robert Grimm New York University Remote Procedure Calls.
Unit – Paradigms and Abstraction 3.2 An Example Applications 3.3 Paradigms for Distributed Applications Distributed Computing Paradigms By Asst.
Remote Procedure Call (RPC)
Understanding the IEC Standard 李嘉凱 指導教授:柯開維.
Signalling Flows for the IP Multimedia Call Control in 3G Wireless Network Master’s Project By Sanjeev Kayath.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
CORBA - Common Object Request Broker Architecture.
Remote Procedure Call in SR Programming Language By Tze-Kin Tsang 3/20/2000.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 31/10/2007.
Concurrency CS 510: Programming Languages David Walker.
X.25 TDC 364.
Middleware Technologies compiled by: Thomas M. Cosley.
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Multiple Processor Systems 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
Asynchronous Message Passing EE 524/CS 561 Wanliang Ma 03/08/2000.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
1 I/O Management in Representative Operating Systems.
Remote Procedure Calls. 2 Client/Server Paradigm Common model for structuring distributed computations A server is a program (or collection of programs)
JokerStars: Online Card Playing William Sanville Milestone 4.
On the Duality of Operating System Structures Hugh C. Lauer Xerox Corporation Roger M. Needham Cambridge University Presented By: Ashwini Kulkarni.
Z39 Intro DigiTool Version 3.0. Z39 Intro 2 Overview What is z39.50? “A network protocol which specifies rules that allow searching of a range of different.
Message-Oriented Communication Synchronous versus asynchronous communications Message-Queuing System Message Brokers Example: IBM MQSeries 02 – 26 Communication/2.4.
The chapter will address the following questions:
DEMIGUISE STORAGE An Anonymous File Storage System VIJAY KUMAR RAVI PRAGATHI SEGIREDDY COMP 512.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
 Protocols used by network systems are not effective to distributed system  Special requirements are needed here.  They are in cases of: Transparency.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Architectures of distributed systems Fundamental Models
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
© 2004 Mercury Computer Systems, Inc. FPGAs & Software Components Graham Bardouleau & Jim Kulp Mercury Computer Systems, Inc. High Performance Embedded.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved RPC Tanenbaum.
Architectural Design of Distributed Applications Chapter 13 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with.
CSE 451: Operating Systems Winter 2015 Module 22 Remote Procedure Call (RPC) Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
X-WindowsP.K.K.Thambi The X Window System Module 5.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
Distributed Objects & Remote Invocation
MW Tech IS 8040 Data Comm and Networking Dr. Hoganson Middleware Technology Communication Mechanisms Synchronous – process on client side must stop and.
CS 6401 The World Wide Web Outline Background Structure Protocols.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Web Service Definition Language. Web Services: WSDL2 Web Service Definition Language ( WSDL ) What is a web service? [ F. Leymann 2003 ] A piece of code.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
Last Class: Introduction
The Client/Server Database Environment
Prof. Leonardo Mostarda University of Camerino
Object Oriented Concepts -I
CHAPTER 3 Architectures for Distributed Systems
#01 Client/Server Computing
Chapter 3: Windows7 Part 4.
Ch > 28.4.
Remote Procedure Call Hank Levy 1.
Remote Procedure Call Hank Levy 1.
Remote Procedure Call Hank Levy 1.
Communication.
#01 Client/Server Computing
Presentation transcript:

CLIENT SERVER INTERACTION USING MESSAGES

Introduction  The best choice for client server.  The interaction mechanisms remain similar.  Event loops and actions - The native model for many of these client operating environments.  The major difference: the application components and the message communication itself may be distributed over the network to a server.

The request/response interface  This interface is ideal for a message based, client server interaction by implementing messaging as the vehicle for communication.  Asynchronous call backs are introduced.  This is due to the asynchronous nature of the interface.  Messages are asynchronous and inherently Request/Response in nature

Asynchronous operation example:  #include…  #define CALL_ME_1 1  #define CALL_ME_2 2  main()  {  ……………  MakeRequest(serverQueue, CALL_ME_1);  MakeRequest(serverQueue, CALL_ME_2);  …………. // process other application logic  msg=GetResponse(serverQueue, CALL_ME_1);  msg=GetResponse(serverQueue, CALL_ME_2);  }

Asynchronous operation  The client application can make requests to the serving component in the form of MakeRequest() messages  MakeRequest() requires  a serverQueue,  a requestType,  and optionally a structure used for application level data.  Control is immediately returned from MakeRequest() to the client  GetResponse() is later used to process the results of the interaction  This asynchronous execution - very powerful and flexible

Synchronous operation example:  #include…  #define CALL_ME_1 1  #define CALL_ME_2 2  main()  {  ……………  MakeRequest(serverQueue, CALL_ME_1);  // get synchronous response  msg=GetResponse(serverQueue, CALL_ME_1);  MakeRequest(serverQueue, CALL_ME_2);  // get synchronous response  msg=GetResponse(serverQueue, CALL_ME_2);  }

Formulating requests  The most striking difference in the interface between procedural and message based - parameters passed  Acceptance of parameters with a message based approach consists of a single data block being passed to the MakeRequest() procedure  Management and manipulation of this structure is  application controlled  may require client modifications

Enhanced MakeRequest() interface  #include…  #define CALL_ME_1 1  #define CALL_ME_2 2  main()  {  ……………  MakeRequest(serverQueue, CALL_ME_1,msg);  MakeRequest(serverQueue, CALL_ME_2,msg);  …………. // process other application logic  msg=GetResponse(serverQueue, CALL_ME_1);  msg=GetResponse(serverQueue, CALL_ME_2);  }

Example explanation  client passing data via MakeRequest()  MakeRequest() interface has been expanded  include user defined data passed between client and server components

Client server interaction protocol  The client server interaction protocol must be predefined  Message interaction requires a structured information packet to be written or read.  This models very well to predefined application level protocols  Coding requires knowledge of structures passed as messages  The requesting and responding components need to know the format of the messages on request and return.

Example structure for predefined protocol  Typedef sturct userData MSG;  Typedef struct_request{  WORD clientID; // C: filled in by comm. layer  WORD requestType; // C: function to execute at server  LONG returnCode; // S: return code from server operation  MSG csData; // CS: message component passed/returned  } REQUEST;  C: filled in by client  S: filled in by server

 Structure for predefined protocol  It includes request and response information pertaining to the client server interaction as well as the program defined data area called csData  This area will be filled with the requested message for server transmission

Communications of request/response  Communications requirements for message or procedural based interaction area are very similar  Application interaction should be removed from the underlying intrinsics of network programming  Communication modules for client server must provide base support such as send and receive to the CSMsgInterface().  This process may be coded form scratch or a distributed message oriented middleware product could be used  All subsequent communication between the components is based on directly en-queuing and de-queuing the distributed mechanism.

THANK YOU