Remote Objects and RMI
|
|
- Antonia Lloyd
- 5 years ago
- Views:
Transcription
1 Outline Remote Objects and RMI Instructor: Dr. Tongping Liu Distributed/Remote Objects Remote object reference (ROR) Remote Method Invocation (RMI) Case study and example: Java RMI Other issues for objects Ø Factory method; Transient vs. Permanent objects; Ø Callback objects; Distributed Garbage collection; Object-Oriented Programming Distributed Object Fundamental idea: encapsulation Ø both data and methods Interfaces define the signature of a set of methods Object reference access object s data/method Method invocation may affect target objects; may need chain invocation Data/variable could be directly access Exceptions thrown when an error occurs Client process: disobj1.m1( ); disobj1.m2( ); disobj2.m3( ); disobj2.m4( ); Client machine Machine a m1 Distributed Object Machine c Obj: m3; m4; Machine b m2 Distributed Object 1
2 Remote Objects vs. Message Passing Remote Object Model Host A Client: Sum = math.add(n1, n2); Create a socket Connect it to Put n1, n2 in a msg Send msg to Read/wait reply msg Extract result from the msg?? Host B Server: int state; object math; int add(int n1, int n2) { Create a socket Bind it to a port Accept a connection Read/wait for a msg Extract n1, n2 from the msg Compute result Put it in a reply msg Send reply msg to Remote objects -- can receives invocations; having state information. Remote object reference identify objects in distributed environments Remote interface specifies methods to be invoked ly Process contains objects (local/) Ø Local objects: accept only local invocations Ø Remote object: accept both local/ invocations Ø Remote invocation different processes (same or different hosts) Exceptions application level An Example: Remote Object Objects and Method Invocations object Data interface m1 m2 implementation { m3 of methods m4 m5 m6 Object may implement both & local interface Ø Other processes: invoke only methods in interface Ø Same process: local object reference and invoke methods in local interface A invocation processes local C invocation local E B invocation local invocation D invocation Ø Objects receiving invocations (service objects) are objects, e.g., B and F Ø Object references are required for invocation, e.g., C must have E s reference or B must have D s reference What are the local object references? F 2
3 Outline Distributed/Remote Objects Remote object reference (ROR) Remote Method Invocation (RMI) Case study and example: Java RMI Other issues for objects Ø Factory method; Transient vs. Permanent objects; Ø Callback objects; Distributed Garbage collection; Remote Object Reference (ROR) Uniquely identify objects in distributed systems Invoke methods of a object Remote object references may be passed as input arguments or returned as output arguments. Compared with ordinary object reference, what additional information is needed for object reference? 32 bits 32 bits 32 bits 32 bits Internet address port number time object number interface of object Interfaces Interface for local objects Ø Specify methods and/or data that can be accessed Ø Do not specify an implementation Interface for objects Ø Specifies methods for invocation Ø Input and output parameters are also specified and parameters may be objects Parameters for Remote Methods Primitive types Ø à pass by value Ordinary objects Ø à passed by copy (e.g. using Java serialization; the object must implement the java.io.serializable Interface). Remote objects Ø à use the object reference (ROR) Why not pass a copy of the object? (1) The copy of a object can not perform its function (2) The object proxy and implementation is auto downloaded 3
4 Outline Distributed/Remote Objects Remote object reference (ROR) Remote Method Invocation (RMI) Case study and example: Java RMI Other issues for objects Ø Factory method; Transient vs. Permanent objects; Ø Callback objects; Distributed Garbage collection; RPC Review RPC middleware Middleware generates stubs on both sides RMI Overview RMI middleware Proxy (stub) implements the same interface Skeleton (stub) handles (un)marshaling and object invocation Object is responsible for a collection of objects How do s know where the objects are?" Binding " Object encapsulates data and operations Object offers only its interface (group of methods) to s, With RMI support, s can be at a different host RMI register: the string name of the object, the object itself The registry returns to the caller a reference (called stub) to the object. Invoke methods on the object (through the stub). Client Side: HelloClient //HelloClient.java import java.rmi.*; import java.rmi..*; public class HelloClient{ public static void main (String[] argv) { try { HelloInterface hello = (HelloInterface) Naming.lookup ("//localhost/hello"); System.out.println (hello.say( )); System.out.println (hello.add("here is added information!!!")); catch (Exception e) { System.out.println ("HelloClient exception: " + e); 4
5 RPC vs. RMI Similarity: Marshaling and parameter passing Difference: Ø RPC: C based, structure based semantics. RMI: java and object-oriented Ø RPC: call functions, passed everything. RMI: / system-wide object reference and invoke methods. We can also pass and return objects that can be distributed among many JVM instances, much more powerful. Ø RMI can support dynamic invocations: a can call a procedure even if the signature of the procedure or the name of the service are unknown until runtime. Architecture to Support Remote Objects object A proxy for B Request reference Communication Remote reference Remote Reference Module (RRM) Server side: Ø Create object reference (ROR) Ø Maintain object reference table Ø Entry for objects Ø Map between reference and local reference Client side: Ø Create proxy object when first get ROR Ø Maintain object reference table Ø Entry for local proxy ( side) Ø Map between reference and local reference Communication Module Carry out request-reply protocol Provide certain invocation semantics Ø Retry request Ø Duplication message filtering Ø message history cache Interact with reference ( side) Ø Get object s local reference Ø Pass message and local reference to appropriate dispatcher on side 5
6 Proxy and Skeleton Dispatcher object A proxy for B Request object A proxy for B Request reference Proxy - makes RMI transparent to. Class implements interface. Marshals requests and unmarshals results. Forwards request. Communication Remote reference Skeleton - implements methods in interface. Unmarshals requests and marshals results. Invokes method in object. reference Communication Remote reference Dispatcher - gets request from communication and invokes method in (using methodid in message). Middleware for Remote Objects Server/Client Programs and Binder Layer between application and communication/ reference s Automatically create proxy, and dispatcher from interface definition Client side: one proxy for each object Ø (kind-of) Implement the methods in objects, provide the transparency to the Server side: one dispatcher and one Ø Dispatcher accepts message and select appropriate method in the : methodid Ø Skeleton: Marshall / unmarshall messages and invokes corresponding method in the object Server program Ø Dispatcher, Ø Servant class: implement methods for objects Client program Ø Proxy Ø Use binder to get object reference Binder: kind of naming service Ø Mapping between text name and object reference Ø System wide register/look up service 6
7 Steps in RMI object A proxy for B 9 Request reference Communication Remote reference 5: ROR 3: ROR How to Use Remote Objects: Server Side Step 0: start binder Step 1: start communication and reference Step 2: create objects, add them to object table, and obtain object reference from reference Step 3: publish the objects to naming service à bind the object reference with a name; wait for invocation requests Naming Service 0 Steps in RMI object A proxy for B 9 Request reference Communication Remote reference 5: ROR 3: ROR Naming Service How to Use Remote Objects: Client Side Step 4: start communication and reference Step 5: contact naming service for desired object reference Step 6: reference create proxy Step 7: call methods in proxyà mashall parameters Step 8: locate object through reference Step 9: Send method invocation request (contain object reference) through communication 7
8 Steps in RMI How to Use Remote Objects: Server Side object A proxy for B 9 Request reference Communication Remote reference 5: ROR 3: ROR Naming Service Step 10: get invocation requests (contains object reference) through communication Step 11: consult with reference and get local reference for the object Step 12: hand the request to the dispatcher/ of the object s class à which method (method id) Step 13: call method in à unmarshall parameters in request and invoke the real method of the object Step 14: perform operation in object and return results to Step 15: marshall results in and send out message ( object reference) through communication How to Use Remote Objects: Client Side Step 16: get result message (contain object reference) in communication Step 17: obtain proxy reference from object reference and hand the result message to the proxy Step 18: unmarshall the results in proxy and return results to the caller Complete a Remote Method InvocationJ Why do people say RMI is simpler than sockets? RMI = Sockets + Object Serialization + Some Utilities User don t need to worry about communication Outline Distributed/Remote Objects Remote object reference (ROR) Remote Method Invocation (RMI) Case study and example: Java RMI Other issues for objects Ø Factory method; Transient vs. Permanent objects; Ø Callback objects; Distributed Garbage collection; 8
9 Case Study: Java RMI n Define a interface HelloInterface.java n Server side: l Implement the interface Hello.java l Develop the HelloServer.java n Client side: l Develop a HelloClient.java n Run the RMI registry, the, and the //HelloInterface.java import java.rmi.*; public interface HelloInterface extends Remote { public String add(string s) throws RemoteException; public String say( ) throws RemoteException; Servant Class Implement Remote Interface import java.rmi.*; //Hello.java import java.rmi..*; public class Hello extends UnicastRemoteObject implements HelloInterface { private String message; public Hello (String msg) throws RemoteException {message = msg; public String add(string more) throws RemoteException{ message = new String (message + more); return message; public String say( ) throws RemoteException {return message; Server: Create Servant Object and Bind //HelloServer.java import java.rmi.*; public class HelloServer{ public static void main(string args[]){ try { Naming.rebind ("Hello", new Hello ("Hello, world!")); System.out.println ("Hello Server is ready."); catch (Exception e) { System.out.println ("Hello Server failed: " + e); The binder: RMI Registry For Ø Void rebind (String name, Remote obj) ü Register an object by name ü Override previous registration Ø Void bind (String name, Remote obj) ü Register an object by name ü If existent throw exception Ø Void unbind ( String name, obj) For Client Ø Remote lookup (String name) ü ROR is returned if found Ø String[ ] list() ü Show all names bound in this registry 9
10 Run the Server Compile the interface and class Ø javac HelloInterface.java Hello.java Compile Ø javac HelloServer.java Generate s & stubs (old Java compiler) Ø rmic Hello --> Hello_Skel.class & Hello_Stub.class Start RMI registry Ø rmiregistry (default at port 1099) Start Hello Ø java HelloServer Implementations of Client First, get object reference Ø It can retrieve a object reference from RMIregistry on the machine where the object resides Ø It received a object reference from a previous call Invoke methods specified in interface Compile the code Ø Needs the interface file in order to compile Client Side: HelloClient //HelloClient.java import java.rmi.*; import java.rmi..*; public class HelloClient{ public static void main (String[] argv) { try { HelloInterface hello = (HelloInterface) Naming.lookup ("//localhost/hello"); System.out.println (hello.say( )); System.out.println (hello.add("here is added information!!!")); catch (Exception e) { System.out.println ("HelloClient exception: " + e); Java RMI: Compile and Run the Client Compile the interface class" javac HelloInterface.java Compile " javac HelloClient.java Start Hello " java HelloClient [X] > java HelloClient Hello, world!" Hello, world!here is added information!!! " > java HelloClient Hello, world!here is added information!!!" > ps > kill #rmiregistry pid > java HelloClient HelloClient exception: java.rmi.connectexception: Connection refused to host: localhost; nested exception is: java.net.connectexception: Connection refused Hello, world!here is added information!!!here is added information!!! " > java HelloClient Hello, world!here is added information!!!here is added information!!!" Hello, world!here is added information!!!here is added information!!!here is added information!!!" 10
11 Summary of Java RMI Steps Design the interfaces being implemented Server create and to register the objects. Ø Implement methods in the interfaces Ø Create and install a security manager ü Regulates whether the itself might download classes when accessing other s Ø Create one or more instances of a object Ø Register at least one of the objects with the RMI object registry (or another naming service) Client program to use the methods of object Ø Looks up in object registry and gets ROR Ø Use normal method call syntax for calling method Other Issues for Remote Objects When/who creates objects? Ø Remote Object Factory method Can contact? Ø Call-back Outline Distributed/Remote Objects Remote object reference (ROR) Remote Method Invocation (RMI) Case study and example: Java RMI Other issues for objects Ø Factory method; Transient vs. Permanent objects; Ø Callback objects; Distributed Garbage collection; 11
CS 5523 Operating Systems: Remote Objects and RMI
CS 5523 Operating Systems: Remote Objects and RMI Instructor: Dr. Tongping Liu Thank Dr. Dakai Zhu and Dr. Palden Lama for providing their slides. Outline Distributed/Remote Objects Remote object reference
More informationJAVA RMI. Remote Method Invocation
1 JAVA RMI Remote Method Invocation 2 Overview Java RMI is a mechanism that allows one to invoke a method on an object that exists in another address space. The other address space could be: On the same
More informationDistributed Systems. 5. Remote Method Invocation
Distributed Systems 5. Remote Method Invocation Werner Nutt 1 Remote Method Invocation 5.1 Communication between Distributed Objects 1. Communication between Distributed Objects 2. RMI 2 Middleware Middleware
More informationCSci Introduction to Distributed Systems. Communication: RPC In Practice
CSci 5105 Introduction to Distributed Systems Communication: RPC In Practice Linux RPC Language-neutral RPC Can use Fortran, C, C++ IDL compiler rpgen N to generate all stubs, skeletons (server stub) Example:
More informationRemote Method Invocation
Remote Method Invocation A true distributed computing application interface for Java, written to provide easy access to objects existing on remote virtual machines Provide access to objects existing on
More informationDistributed Systems. 6. Remote Method Invocation. Werner Nutt
Distributed Systems 6. Remote Method Invocation Werner Nutt 1 Remote Method Invocation 6.1 Communication between Distributed Objects 1. Communication between Distributed Objects 2. Java RMI 3. Dynamic
More informationRMI. Remote Method Invocation. 16-Dec-16
RMI Remote Method Invocation 16-Dec-16 The network is the computer Consider the following program organization: method SomeClass call AnotherClass returned object computer 1 computer 2 If the network is
More informationWritten by: Dave Matuszek
RMI Remote Method Invocation Written by: Dave Matuszek appeared originally at: http://www.cis.upenn.edu/~matuszek/cit597-2003/ 28-May-07 The network is the computer * Consider the following program organization:
More information03 Remote invocation. Request-reply RPC. Coulouris 5 Birrel_Nelson_84.pdf RMI
03 Remote invocation Request-reply RPC Coulouris 5 Birrel_Nelson_84.pdf RMI 2/16 Remote Procedure Call Implementation client process Request server process client program client stub procedure Communication
More information5.4. Events and notifications
5.4. Events and notifications Distributed event-based systems extend local event model Allowing multiple objects at diff. locations to be notified of events taking place at an object Two characteristics:
More informationRemote Procedure Call
Remote Procedure Call Suited for Client-Server structure. Combines aspects of monitors and synchronous message passing: Module (remote object) exports operations, invoked with call. call blocks (delays
More informationDistributed Systems. Distributed Object Systems 2 Java RMI. Java RMI. Example. Applet continued. Applet. slides2.pdf Sep 9,
Distributed Object Systems 2 Java RMI Piet van Oostrum Distributed Systems What should a distributed system provide? Illusion of one system while running on multiple systems Transparancy Issues Communication,
More informationObject Interaction. Object Interaction. Introduction. Object Interaction vs. RPCs (2)
Introduction Objective To support interoperability and portability of distributed OO applications by provision of enabling technology Object interaction vs RPC Java Remote Method Invocation (RMI) RMI Registry
More informationDistributed Computing
Distributed Computing Computing on many systems to solve one problem Why? - Combination of cheap processors often more cost-effective than one expensive fast system - Flexibility to add according to needs
More informationContents. Java RMI. Java RMI. Java RMI system elements. Example application processes/machines Client machine Process/Application A
Contents Java RMI G53ACC Chris Greenhalgh Java RMI overview A Java RMI example Overview Walk-through Implementation notes Argument passing File requirements RPC issues and RMI Other problems with RMI 1
More informationDISTRIBUTED OBJECTS AND REMOTE INVOCATION
DISTRIBUTED OBJECTS AND REMOTE INVOCATION Introduction This chapter is concerned with programming models for distributed applications... Familiar programming models have been extended to apply to distributed
More informationThe UNIVERSITY of EDINBURGH. SCHOOL of INFORMATICS. CS4/MSc. Distributed Systems. Björn Franke. Room 2414
The UNIVERSITY of EDINBURGH SCHOOL of INFORMATICS CS4/MSc Distributed Systems Björn Franke bfranke@inf.ed.ac.uk Room 2414 (Lecture 3: Remote Invocation and Distributed Objects, 28th September 2006) 1 Programming
More informationIBD Intergiciels et Bases de Données
IBD Intergiciels et Bases de Données RMI-based distributed systems Fabien Gaud, Fabien.Gaud@inrialpes.fr Overview of lectures and practical work Lectures Introduction to distributed systems and middleware
More informationRemote Method Invocation in Java
Remote Method Invocation in Java Ajay Khatri Senior Assistant Professor,Department IT Acropolis Institute of Technology & Research ajay.acropolis@gmail.com What is RMI RMI is an API that provides a mechanism
More informationRPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call
4.3 Remote procedure calls RPC flow Client process Server process Program i = sum (3,7); Procedure sum (j,k) int j,k; {return j+k; Client stub Program Return Call Unpack Pack result para s Invisible to
More informationDistributed object component middleware I - Java RMI
Prof. Dr. Claudia Müller-Birn Institute for Computer Science, Networked Information Systems Distributed object component middleware I - Java RMI Nov 15th, 2011 Netzprogrammierung (Algorithmen und Programmierung
More informationDistributed object component middleware I - Java RMI
Prof. Dr. Claudia Müller-Birn Institute for Computer Science, Networked Information Systems Distributed object component middleware I - Java RMI Nov 15th, 2011 Netzprogrammierung (Algorithmen und Programmierung
More informationGeneric architecture
Java-RMI Lab Outline Let first builds a simple home-made framework This is useful to understand the main issues We see later how java-rmi works and how it solves the same issues Generic architecture object
More informationRMI (Remote Method Invocation) Over the year, there have been 3 different approaches to application development:
RMI (Remote Method Invocation) History: Over the year, there have been 3 different approaches to application development: 1. the traditional approach. 2. the client / server approach and 3. the component-
More informationDistributed Information Systems
Distributed Objects and Remote Invocation Programming Models For Distributed Applications Objectives RPC and RMI. Remote invocation semantics. Implementation of RMI. References DSCD: Chapter 5 Conventional
More informationChapter 5 Distributed Objects and Remote Invocation
CSD511 Distributed Systems 分散式系統 Chapter 5 Distributed Objects and Remote Invocation 吳俊興 國立高雄大學資訊工程學系 Chapter 5 Distributed Objects and Remote Invocation 5.1 Introduction 5.2 Communication between distributed
More informationLab 2 : Java RMI. request sayhello() Hello interface remote object. local object. response "Hello world"
Lab 2 : Java RMI 1. Goals In this lab you will work with a high-level mechanism for distributed communication. You will discover that Java RMI provides a mechanism hiding distribution in OO programming.
More informationCOMP 6231: Distributed System Design
COMP 6231: Distributed System Design Remote Invocation and RMI Based on Chapters 5, 7 of the text book and the slides from Prof. M.L. Liu, California Polytechnic State University COMP 6231, Fall 2013 Remote
More informationAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems RMI
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Distributed and Agent Systems RMI Prof. Agostino Poggi What is RMI? Its acronym means Remote
More informationVerteilte Systeme (Distributed Systems)
Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 3: Communication (Part 2) Remote Procedure
More information6 Distributed Object-Based Systems
CA464: DISTRIBUTED PROGRAMMING 1 6 Distributed Object-Based Systems 6.1 Architecture Remote distributed objects Data and operations encapsulated in an object Operations implemented as methods grouped into
More informationOutline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4
EEC-681/781 Distributed Computing Systems Lecture 4 Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org Outline Inter-process communications Computer networks
More informationDistributed Systems COMP 212. Lecture 10 Othon Michail
Distributed Systems COMP 212 Lecture 10 Othon Michail RMI: Remote Method Invocation Allows an object running in one Java virtual machine to invoke methods on an object running in another Java virtual machine.
More informationConcurrent Object-Oriented Programming
Concurrent Object-Oriented Programming Bertrand Meyer, Volkan Arslan 2 Lecture 4: Motivation and Introduction Definition 3 Concurrent programming = parallel programming on a single processor? = is about
More informationLecture 5: Object Interaction: RMI and RPC
06-06798 Distributed Systems Lecture 5: Object Interaction: RMI and RPC Distributed Systems 1 Recap Message passing: send, receive synchronous versus asynchronous No global Time types of failure socket
More informationDepartment of Computer Science & Engineering. M.Tech(CSE)-I Year-II Semester WEB SERVICES AND SERVICE ORIENTED ARCHITECHTURE (B1513) Mr.K.
Department of Computer Science & Engineering M.Tech(CSE)-I Year-II Semester WEB SERVICES AND SERVICE ORIENTED ARCHITECHTURE (B1513) By Mr.K.Yellaswamy Assistant Professor CMR College of Engineering & Technology,
More informationDistributed Objects SPL/ SPL 201 / 0 1
Distributed Objects 1 distributed objects objects which reside on different machines/ network architectures, benefits, drawbacks implementation of a remote object system 2 Why go distributed? large systems
More informationDistributed Objects and Remote Invocation. Programming Models for Distributed Applications
Distributed Objects and Remote Invocation Programming Models for Distributed Applications Extending Conventional Techniques The remote procedure call model is an extension of the conventional procedure
More informationDistributed Systems. 02r. Java RMI Programming Tutorial. Paul Krzyzanowski TA: Long Zhao Rutgers University Fall 2017
Distributed Systems 02r. Java RMI Programming Tutorial Paul Krzyzanowski TA: Long Zhao Rutgers University Fall 2017 1 Java RMI RMI = Remote Method Invocation Allows a method to be invoked that resides
More informationRemote Method Invocation
Remote Method Invocation RMI Dr. Syed Imtiyaz Hassan Assistant Professor, Deptt. of CSE, Jamia Hamdard (Deemed to be University), New Delhi, India. s.imtiyaz@jamiahamdard.ac.in 1 Agenda Introduction Creating
More informationRemote Method Invocation R.M.I.
Distributed Computing Remote Method Invocation R.M.I. Gheorghe Aurel Pacurar Distributed Computing using RMI Remote Method Invocation (RMI) allows object-to-object communication between different Java
More informationCHAPTER - 4 REMOTE COMMUNICATION
CHAPTER - 4 REMOTE COMMUNICATION Topics Introduction to Remote Communication Remote Procedural Call Basics RPC Implementation RPC Communication Other RPC Issues Case Study: Sun RPC Remote invocation Basics
More informationCSE 124 Distributed programming and Remote Procedure Calls (RPC) February 23, 2016, UCSD Prof. George Porter
CSE 124 Distributed programming and Remote Procedure Calls (RPC) February 23, 2016, UCSD Prof. George Porter Announcements Remote Procedure Call (RPC) Distributed programming is challenging Need common
More informationDesarrollo de Aplicaciones en Red RMI. Introduction. Considerations. Considerations. RMI architecture
session Desarrollo de Aplicaciones en Red José Rafael Rojano Cáceres http://www.uv.mx/rrojano RMI Remote Method Invocation Introduction Java RMI let s work calling remote methods. Underneath it works with
More informationChapter 15: Distributed Communication. Sockets Remote Procedure Calls (RPCs) Remote Method Invocation (RMI) CORBA Object Registration
Chapter 15: Distributed Communication Sockets Remote Procedure Calls (RPCs) Remote Method Invocation (RMI) CORBA Object Registration Sockets Defined as an endpoint for communcation Concatenation of IP
More informationApplications. RMI, RPC and events. Request reply protocol External data representation. Operating System
Figure 5.1 Middleware layer Applications RMI, RPC and events Request reply protocol External data representation Middleware layers Operating System Instructor s Guide for Coulouris, Dollimore and Kindberg
More informationLecture 06: Distributed Object
Lecture 06: Distributed Object Distributed Systems Behzad Bordbar School of Computer Science, University of Birmingham, UK Lecture 0? 1 Recap Interprocess communication Synchronous and Asynchronous communication
More informationMessage Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1
Message Passing vs. Distributed Objects 5/15/2009 Distributed Computing, M. L. Liu 1 Distributed Objects M. L. Liu 5/15/2009 Distributed Computing, M. L. Liu 2 Message Passing versus Distributed Objects
More informationQuestions and Answers. A. RMI allows us to invoke a method of java object that executes on another machine.
Q.1) What is Remote method invocation (RMI)? A. RMI allows us to invoke a method of java object that executes on another machine. B. RMI allows us to invoke a method of java object that executes on another
More informationRemote Method Invocation
Non-101samples available here: https://github.com/101companies/101repo/tree/master/languages/aspectj/javarmisamples Remote Method Invocation Prof. Dr. Ralf Lämmel Universität Koblenz-Landau Software Languages
More informationChapter 4 Remote Procedure Calls and Distributed Transactions
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationCommunication and Distributed Processing
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationLecture 5: RMI etc. Servant. Java Remote Method Invocation Invocation Semantics Distributed Events CDK: Chapter 5 TVS: Section 8.3
Lecture 5: RMI etc. Java Remote Method Invocation Invocation Semantics Distributed Events CDK: Chapter 5 TVS: Section 8.3 CDK Figure 5.7 The role of proxy and skeleton in remote method invocation client
More information15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java
15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java Dates of Interest Assigned: During class, Friday, January 26, 2007 Due: 11:59PM, Friday, February 13, 2007 Credits
More informationCS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University
CS 555: DISTRIBUTED SYSTEMS [RMI] Frequently asked questions from the previous class survey Shrideep Pallickara Computer Science Colorado State University L21.1 L21.2 Topics covered in this lecture RMI
More informationpresentation DAD Distributed Applications Development Cristian Toma
Lecture 8 S4 - Core Distributed Middleware Programming in JEE presentation DAD Distributed Applications Development Cristian Toma D.I.C.E/D.E.I.C Department of Economic Informatics & Cybernetics www.dice.ase.ro
More informationChapter 5: Distributed objects and remote invocation
Chapter 5: Distributed objects and remote invocation From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 Figure 5.1 Middleware layers Applications
More informationOutline. Chapter 4 Remote Procedure Calls and Distributed Transactions. Remote Procedure Call. Distributed Transaction Processing.
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationRPC and RMI. 2501ICT Nathan
RPC and RMI 2501ICT Nathan Contents Client/Server revisited RPC Architecture XDR RMI Principles and Operation Case Studies Copyright 2002- René Hexel. 2 Client/Server Revisited Server Accepts commands
More informationModulo II Socket, RMI e Corba
Modulo II Socket, RMI e Corba Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Sistemas Distribuídos Cliente-Servidor April 05 Prof. Ismael H. F. Santos -
More informationInfo 408 Distributed Applications programming 2 nd semester of Credits: 5 Lecturer: Antoun Yaacoub Ph.D.
Lebanese University Faculty of Sciences I Master 1 degree Computer Sciences Info 408 Distributed Applications programming 2 nd semester of 2018-2019 Credits: 5 Lecturer: Antoun Yaacoub Ph.D. RMI Serialization
More informationRMI: Design & Implementation
RMI: Design & Implementation Operating Systems RMI 1 Middleware layers Applications, services RMI and RPC request-reply protocol marshalling and external data representation Middleware layers UDP and TCP
More informationRemote Method Invocation. Benoît Garbinato
Remote Method Invocation Benoît Garbinato Fundamental idea (1) Rely on the same programming paradigm for distributed applications as for centralized applications In procedural languages, we will rely on
More informationDistributed Software Systems
RMI Programming Distributed Software Systems RMI Programming RMI software Generated by IDL compiler Proxy Behaves like remote object to clients (invoker) Marshals arguments, forwards message to remote
More informationIntroduction & RMI Basics. CS3524 Distributed Systems Lecture 01
Introduction & RMI Basics CS3524 Distributed Systems Lecture 01 Distributed Information Systems Distributed System: A collection of autonomous computers linked by a network, with software to produce an
More informationHow are classes loaded into the Java Virtual Machine (JVM)? from the local file system (CLASSPATH). by an instance of ClassLoader
36 ClassLoader How are classes loaded into the Java Virtual Machine (JVM)? from the local file system (CLASSPATH). by an instance of ClassLoader... and when? - When they are needed the first time. class
More informationRemote Method Invocation Benoît Garbinato
Remote Method Invocation Benoît Garbinato 1 Fundamental idea (1) Rely on the same programming paradigm for distributed applications as for centralized applications In procedural languages, we will rely
More informationGrid Computing. Java Remote Method Invocation (RMI) RMI Application. Grid Computing Fall 2006 Paul A. Farrell 9/5/2006
Grid Computing Paradigms for Distributed Computing 2 RMI Fall 2006 Traditional paradigms for distributed computing The Grid: Core Technologies Maozhen Li, Mark Baker John Wiley & Sons; 2005, ISBN 0-470-09417-6
More informationDistributed Programming with RMI. Overview CORBA DCOM. Prepared By: Shiba R. Tamrakar
Distributed Programming with RMI Overview Distributed object computing extends an object-oriented programming system by allowing objects to be distributed across a heterogeneous network, so that each of
More informationLast Class: Network Overview. Today: Distributed Systems
Last Class: Network Overview =>Processes in a distributed system all communicate via a message exchange. Physical reality: packets Abstraction: messages limited size arbitrary size unordered (sometimes)
More informationCommunication and Distributed Processing
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationEAST WEST UNIVERSITY
EAST WEST UNIVERSITY RMI Based Distributed Query Processing Submitted By Avirupa Roy Talukder ID: 2011-2-60-001 Alok Kumar Roy ID: 2011-2-60-045 Supervised by Dr. Shamim Akhter Assistant Professor Department
More informationLecture VI: Distributed Objects. Remote Method Invocation
Lecture VI: Distributed Objects. Remote Method Invocation CMPT 401 Summer 2007 Dr. Alexandra Fedorova Remote Method Invocation In an object-oriented language (usually Java) A way to call a method on an
More informationDistributed Programming in Java. Distribution (2)
Distributed Programming in Java Distribution (2) Remote Method Invocation Remote Method Invocation (RMI) Primary design goal for RMI is transparency Should be able to invoke remote objects with same syntax
More informationCommunication Basics, RPC & RMI. CS403/534 Distributed Systems Erkay Savas Sabanci University
Communication Basics, RPC & RMI CS403/534 Distributed Systems Erkay Savas Sabanci University 1 Communication Models 1. Remote Procedure Call (RPC) Client/Server application 2. Remote Method Invocation
More informationRemote Invocation Vladimir Vlassov and Johan Montelius
KTH ROYAL INSTITUTE OF TECHNOLOGY Middleware Remote Invocation Vladimir Vlassov and Johan Montelius Application layer Remote invocation / indirect communication Socket layer Network layer ID2201 DISTRIBUTED
More information3. Remote Procedure Call
3. Remote Procedure Call Master II Software Engineering Imed Bouchrika Dept of Mathematics & Computer Science University of Souk-Ahras imed@imed.ws Imed Bouchrika. Distributed Objects, Uni of Souk-Ahras
More informationIJESRT. http: //
IJESRT [Monika,1(4): Jun., 2012] INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY Innovative Techniquee of Message Passing In Loosely Coupled System Monika Arya* Department of Computer
More informationRMI. (Remote Method Invocation)
RMI (Remote Method Invocation) Topics What is RMI? Why RMI? Architectural components Serialization & Marshaled Objects Dynamic class loading Code movement Codebase ClassLoader delegation RMI Security Writing
More information4:40pm - 6:10pm (90 min)
CMPT-401 Operating Systems II (Fall 2005) Midterm School of Computing Science Simon Fraser University October 18, 2005 4:40pm - 6:10pm (90 min) Last name: First name: Student number: Signature: Note: 1.
More informationComponent-Based Software Engineering
Component-Based Software Engineering Remote Method Invocation Paul Krause Introduction to RMI Lecture 11 - RMI Simple Example - DivideServer Demo of this example Review a more complex example - StudentEnrollment
More informationDistributed Systems. Communication (2) Schedule of Today. Distributed Objects. Distributed Objects and RMI. Corba IDL Example
1 Overview Distributed Systems Communication (2) Lecture 4 Schedule of Today Remote Object (Method) Invocation Binding Client to an Object Static versus Dynamic Binding Basics MPI, Sockets, Distributed
More informationDistributed Systems. The main method of distributed object communication is with remote method invocation
Distributed Systems Unit III Syllabus:Distributed Objects and Remote Invocation: Introduction, Communication between Distributed Objects- Object Model, Distributed Object Modal, Design Issues for RMI,
More informationThe basic theory of operation of RPC is pretty straightforward. But, to understand remote procedure calls, let s first make sure that we understand local procedure calls. The client (or caller) supplies
More informationDistributed Objects. Chapter Distributing Objects Overview
Middleware Architecture with Patterns and Frameworks c 2003-2009, Sacha Krakowiak (version of February 27, 2009-12:58) Creative Commons license (http://creativecommons.org/licenses/by-nc-nd/3.0/) Chapter
More informationRMI Case Study. A Typical RMI Application
RMI Case Study This example taken directly from the Java RMI tutorial http://java.sun.com/docs/books/tutorial/rmi/ Editorial note: Please do yourself a favor and work through the tutorial yourself If you
More informationLecture 17 Java Remote Method Invoca/on
CMSC 433 Fall 2014 Sec/on 0101 Mike Hicks (slides due to Rance Cleaveland) Lecture 17 Java Remote Method Invoca/on 11/4/2014 2012-14 University of Maryland 0 Recall Concurrency Several opera/ons may be
More informationNetwork. Dr. Jens Bennedsen, Aarhus University, School of Engineering Aarhus, Denmark
Network Dr. Jens Bennedsen, Aarhus University, School of Engineering Aarhus, Denmark jbb@ase.au.dk Outline Socket programming If we have the time: Remote method invocation (RMI) 2 Socket Programming Sockets
More informationDistributed Systems. Communication (2) Lecture Universität Karlsruhe, System Architecture Group
Distributed Systems Communication (2) Lecture 4 2003 Universität Karlsruhe, System Architecture Group 1 Overview Schedule of Today Remote Object (Method) Invocation Distributed Objects Binding Client to
More informationOutlook. Process Concept Process Scheduling Operations on Processes. IPC Examples
Processes Outlook Process Concept Process Scheduling Operations on Processes Interprocess Communication o IPC Examples 2 Process Concept What is a Process? A process is a program in execution Process includes
More informationRMI Example RMI. CmpE 473 Internet Programming RMI
CmpE 473 Internet Programming Pınar Yolum pinar.yolum@boun.edu.tr Department of Computer Engineering Boğaziçi University RMI Examples from Advanced Java: Internet Applications, Art Gittleman Remote Method
More information5 Distributed Objects: The Java Approach
5 Distributed Objects: The Java Approach Main Points Why distributed objects Distributed Object design points Java RMI Dynamic Code Loading 5.1 What s an Object? An Object is an autonomous entity having
More informationProgramming with RMI Reminder
Programming with RMI Reminder (Sources: Gordon S Blair, Paul Grace) Aims After completing the following you should get a reminder of: 1. the fundamental concepts of Java Remote Method Invocation; 2. the
More informationJAVA RMI Java, summer semester
JAVA RMI Overview Remote Method Invocation usage of remote object objects in a different VM (on the same computer or over the network) as there would be local objects (almost) calls just take longer time
More informationChapter 4: Processes. Process Concept. Process State
Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating Processes Interprocess Communication Communication in Client-Server Systems 4.1 Process Concept An operating
More informationCC755: Distributed and Parallel Systems
CC755: Distributed and Parallel Systems Dr. Manal Helal, Spring 2016 moodle.manalhelal.com Lecture 7: Remote Method Invocation (RMI) 1 RMI Y Daniel Liang, Introduction to JAVA Programming, 9th Edition,
More informationDistributed Systems Principles and Paradigms. Distributed Object-Based Systems. Remote distributed objects. Remote distributed objects
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science steen@cs.vu.nl Chapter 10: Version: December 10, 2012 1 / 22 10.1 Architecture 10.1 Architecture Remote
More informationDistributed Systems Recitation 3. Tamim Jabban
15-440 Distributed Systems Recitation 3 Tamim Jabban Project 1 Involves creating a Distributed File System (DFS): FileStack Stores data that does not fit on a single machine Enables clients to perform
More informationBEA WebLogic. Server. Programming WebLogic RMI
BEA WebLogic Server Programming WebLogic RMI Release 8.1 Document Revised: December 5, 2002 Copyright Copyright 2002 BEA Systems, Inc. All Rights Reserved. Restricted Rights Legend This software and documentation
More informationLecture 18 Inside Java RMI
CMSC 433 Fall 2014 Sec/on 0101 Mike Hicks (slides due to Rance Cleaveland) Lecture 18 Inside Java RMI Recall Java RMI applica/ons consist of three en//es Remote object servers Host remote objects Handle
More information