Distributed Systems1 Message Passing vs. Distributed Objects  The message-passing paradigm is a common model for distributed computing, in the sense that.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

DISTRIBUTED COMPUTING PARADIGMS
1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
Agents & Mobile Agents.
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.
Distributed Objects and Remote Invocation
Distributed Object & Remote Invocation Vidya Satyanarayanan.
Remote Procedure CallCS-4513, D-Term Remote Procedure Call CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
What iS RMI? Remote Method Invocation. It is an approach where a method on a remote machine invokes another method on another machine to perform some computation.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
6 Maart 2006ISS Distributed Objects and Advanced Remote Method Invocations René de Vries Based on the slides by M.L. Liu and Marko van Eekelen.
Object-Oriented Analysis and Design
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 42 Web Services.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
RPC Project Using either sockets or TLI, implement Remote Procedure Calls between two distinct machines that are communicating over an Ethernet network.
Communication in Distributed Systems –Part 2
Client-Server Communication Sockets Remote Procedure Calls Remote Method Invocation (Java)
.NET Mobile Application Development Remote Procedure Call.
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
Fundamentals of Python: From First Programs Through Data Structures
Chapter 26 Client Server Interaction Communication across a computer network requires a pair of application programs to cooperate. One application on one.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Chapter 1 Characterization of Distributed Systems Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W
J2EE Structure & Definitions Catie Welsh CSE 432
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
Introduction To System Analysis and Design
Rex E. Gantenbein PhD, Senior Member IEEE Center for Rural Health Research and Education University of Wyoming.
Asynchronous Communication Between Components Presented By: Sachin Singh.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
LECTURE 20: Distributed Computing
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
RMI Remote Method Invocation Distributed Object-based System and RPC Together 2-Jun-16.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
IS473 Distributed Systems CHAPTER 5 Distributed Objects & Remote Invocation.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Distributed Objects & Remote Invocation
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Distributed Computing Paradigms1. 2 Paradigms for Distributed Applications Paradigm means “a pattern, example, or model.” In the study of any subject.
1 CSE Programming in C++. 2 Overview Sign roster list Syllabus and Course Policies Introduction to C++ About Lab 1 Fill Questionnaire.
The Proxy Pattern (Structural) ©SoftMoore ConsultingSlide 1.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Distributed Software Systems 1 Distributed Computing Paradigms.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Computer Roles in a Network
Objects as a programming concept
Distribution and components
Client-Server Interaction
Ch > 28.4.
DISTRIBUTED COMPUTING
Distributed Objects.
CSE 451: Operating Systems Autumn 2003 Lecture 16 RPC
Mobile Agents M. L. Liu.
Remote Procedure Call (RPC) Neil Tang 11/26/2008
CSE 451: Operating Systems Winter 2003 Lecture 16 RPC
Presentation transcript:

Distributed Systems1 Message Passing vs. Distributed Objects  The message-passing paradigm is a common model for distributed computing, in the sense that it mimics the behavior in human communications. –It is an appropriate paradigm for network services where processes interact with each other through the exchanges of messages.  The abstraction provided by this paradigm does not meet the needs of the complexity of sophisticated network applications.

Distributed Systems2 Message Passing versus Distributed Objects  Message passing requires the participating processes to be tightly-coupled: throughout their interaction, the processes must be in direct communication with each other. If communication is lost between the processes (due to failures in the communication link, in the systems, or in one of the processes), the collaboration fails.  The message-passing paradigm is data-oriented. Each message contains data marshalled in a mutually agreed upon format, and is interpreted as a request or response according to the protocol. The receiving of each message triggers an action in the receiving process. It is inadequate for complex applications involving a large mix of requests and responses. In such an application, the task of interpreting the messages can become overwhelming.

Distributed Systems3 Distributed Object Paradigm  The distributed object paradigm is a paradigm that provides abstractions beyond those of the message-passing model.  In OOP, supported by an object-oriented programming language such as Java, objects are used to represent an entity significant to an application. Each object encapsulates: –the state or data of the entity: in Java, such data is contained in the instance variables of each object; –the operations of the entity, through which the state of the entity can be accessed or updated.

Distributed Systems4 Local Objects vs. Distributed Objects  Local objects are those whose methods can only be invoked by a local process, a process that runs on the same computer on which the object exists.  A distributed object is one whose methods can be invoked by a remote process, a process running on a computer connected via a network to the computer on which the object exists.

Distributed Systems5 The Distributed Object Paradigm In a distributed object paradigm, network resources are represented by distributed objects. To request service from a network resource, a process invokes one of its operations or methods, passing data as parameters to the method. The method is executed on the remote host, and the response is sent back to the requesting process as a return value.

Distributed Systems6 Message Passing versus Distributed Objects - 3  Compared to the message-passing paradigm, which is data-oriented, the distributed objects paradigm is action-oriented: the focus is on the invocation of the operations, while the data passed takes on a secondary role. Although less intuitive to human-beings, the distributed-object paradigm is more natural to object-oriented software development.

Distributed Systems7 The Distributed Object Paradigm - 2  A process running in host A makes a method call to a distributed object residing on host B, passing with the call data for the parameters, if any.  The method call invokes an action performed by the method on host B, and a return value, if any, is passed from host B to host A.  A process which makes use of a distributed object is said to be a client process of that object, and the methods of the object are called remote methods to the client process.