INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 9 Prof. Crista Lopes.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
RPC Robert Grimm New York University Remote Procedure Calls.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Remote Procedure Call and Remote Method Invocation
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Implementing Remote Procedure Calls Andrew Birrell and Bruce Nelson Presented by Kai Cong.
Remote Method Invocation
CORBA - Common Object Request Broker Architecture.
FONG CHAN SING (143334) WONG YEW JOON (143388). JAVA RMI is a distributive system programming interface introduced in JDK 1.1. A library that allows an.
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 13 Prof. Crista Lopes.
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 19 Prof. Crista Lopes.
Distributed Systems Lecture #3: Remote Communication.
1 HANDOUT 14 Remote Method Invocation (RMI) BY GEORGE KOUTSOGIANNAKIS THIS DOCUMENT CAN NOT BE REPRODUCED OR DISTRIBUTED WITHOUT TH E WRITTEN PERMISSION.
Tutorials 2 A programmer can use two approaches when designing a distributed application. Describe what are they? Communication-Oriented Design Begin with.
Sockets  Defined as an “endpoint for communication.”  Concatenation of IP address + port.  Used for server-client communication.  Server waits for.
CSE331: Introduction to Networks and Security Lecture 11 Fall 2002.
Outcomes What is RPC? The difference between conventional procedure call and RPC? Understand the function of client and server stubs How many steps could.
490dp Prelude: Design Report Remote Invocation Robert Grimm (borrowing some from Hank Levy)
Integration case study Week 8 – Lecture 1. Enrolment request (Workstation) Application server Database server Database New University Student Record System.
Remote Procedure Calls. 2 Client/Server Paradigm Common model for structuring distributed computations A server is a program (or collection of programs)
.NET Mobile Application Development Remote Procedure Call.
RMI Components java.rmi: client-side RMI classes, interfaces, and exceptions java.rmi.server: server-side RMI classes, interfaces, and exceptions java.rmi.registry:
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.
+ A Short Java RMI Tutorial Usman Saleem
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
11 September 2008CIS 340 # 1 Topics To examine the variety of approaches to handle the middle- interaction (continued) 1.RPC-based systems 2.TP monitors.
Abhishek Bachchan Vishal Patangia
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.
Copyright 2012 & 2015 – Noah Mendelsohn A Brief Intro to the RPC Project Framework Noah Mendelsohn Tufts University
CSE 451: Operating Systems Winter 2015 Module 22 Remote Procedure Call (RPC) Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Java Programming: Advanced Topics 1 Networking Programming Chapter 11.
Remote Procedure Calls CS587x Lecture Department of Computer Science Iowa State University.
Remote Procedure Call and Serialization BY: AARON MCKAY.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Distributed objects and remote invocation Pages
UMBC Distributed Computing with Objects RMI/Corba CMSC 432 Shon Vick.
1 RMI Russell Johnston Communications II. 2 What is RMI? Remote Method Invocation.
Java Distributed Object Model A remote object is one whose methods can be invoked from another JVM on a different host. It implements one or more remote.
Distributed programming in Java Faculty:Nguyen Ngoc Tu Session 5 - RMI.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Computer Science Lecture 4, page 1 CS677: Distributed OS Last Class: RPCs RPCs make distributed computations look like local computations Issues: –Parameter.
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.
Java Distributed Computing
Client-Server Communication
Distributed Computing
Java Distributed Computing
What is RMI? Remote Method Invocation
Extending Java RMI for Dynamic Reconfiguration
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
CSE 451: Operating Systems Autumn 2003 Lecture 16 RPC
CSE 451: Operating Systems Winter 2007 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Remote Procedure Call (invocation) RPC
CSE 451: Operating Systems Winter 2004 Module 19 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Creating a Distributed System with Remote Procedure Calls and Web Services Ch.5 B.Ramamurthy 2/17/2019 B.Ramamurthy.
CSE 451: Operating Systems Spring 2012 Module 22 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Autumn 2009 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Remote Procedure Call Hank Levy 1.
Remote Procedure Call Hank Levy 1.
CSE 451: Operating Systems Autumn 2010 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Winter 2003 Lecture 16 RPC
Remote Procedure Call Hank Levy 1.
CSE 451: Operating Systems Messaging and Remote Procedure Call (RPC)
Presentation transcript:

INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 9 Prof. Crista Lopes

Objectives  Understanding of Distributed Objects architectures  Acquaintance with a well-known RMI framework  Java RMI

Web Services isa Distributed System  “Collection of interacting components hosted on different computers that are connected through a computer network” Component 1 Component n Hardware Network OS Host 3 Component 1 Component n Hardware Network OS Host 2 Component 1 Component n Hardware Network OS Host 1 … Network

Remote Procedure Calls (RPC) r = foo(a, b) define foo(a, b) … end caller callee program host Local Procedure Calls r = foo(a, b) define foo(a, b) … end caller callee program host 1 host 2 program Remote Procedure Calls

Remote Procedure Calls (RPC) r = foo(a, b) define foo(a, b) … end caller callee program host Local Procedure Calls r = foo(a, b) define foo(a, b) … end caller callee program host 1 host 2 program Remote Procedure Calls Stub Skeleton

RPC Procedure Interface Definition (in IDL) Procedure Definition Program (in PL) Procedure Call Program (in PL) Stub (in PL) Skeleton (in PL) generates Network OS

RPC Stubs  Marshal arguments (i.e. “serialize”)  Issue request to remote server, wait for response  Unmarshal return value (i.e. “deserialize”)

RPC Skeletons  Unmarshal arguments  Call local procedure  Marshal return value  Send back response to client

Distributed Objects model Obj1 Host A Obj2 Host A Obj4 Host A Obj5 Host A Obj3 Obj6

Distributed Objects model Obj1 Obj2 Obj4 Obj5 Obj3 Obj6 “Transparent distribution”

Distributed Objects – Properties  Very tightly coupled with PL  Compiler generates stubs and skeletons  Distribution seen only in terms of peripheral components:  Security  Registry  Additional program arguments  Location (host) doesn’t matter [much]  Remote object references do

Rest of this lecture  Java RMI tutorial at