#### lecture4

Caltech, CS 141
Excerpt: ... Review of Last Class Contracts and Inheritance Let me discuss contracts and inheritance now (partially a repeat from last class). We approach this issue from a purely theoretical viewpoint first: the viewpoint of refinement Later, we'll approach this problem from a practical viewpoint: that of code reuse An action s' is a refinement of action s if and only if s' can be used in place of s at any point in a program text. CS 141b - Distributed Computation Laboratory http:/www.cs.caltech.edu/~cs141/ Remote Method Invocation 20 January 2004 1 Review: Contracts & Inheritance class B { . / precondition p, postcondition q for method s: {p} s {q} /@ require p; /@ ensure q; public Object s(.) {.} } class C extends B { . / precondition p', postcondition q' for method s: {p'} s {q'} /@ require p'; /@ ensure q'; public Object s(.) {.} } CS 141b - Distributed Computation Laboratory http:/www.cs.caltech.edu/~cs141/ Remote Method Invocation 20 January 2004 2 Contracts and Inheritance ...

#### lecture4

Caltech, CS 141
Excerpt: ... Review of Last Class Contracts and Inheritance Let me discuss contracts and inheritance now (partially a repeat from last class). We approach this issue from a purely theoretical viewpoint first: the viewpoint of refinement Later, we'll approach this problem from a practical viewpoint: that of code reuse An action s' is a refinement of action s if and only if s' can be used in place of s at any point in a program text. CS 141b - Distributed Computation Laboratory http:/www.cs.caltech.edu/~cs141/ Remote Method Invocation 20 January 2004 1 Review: Contracts & Inheritance class B { . / precondition p, postcondition q for method s: {p} s {q} /@ require p; /@ ensure q; public Object s(.) {.} } class C extends B { . / precondition p', postcondition q' for method s: {p'} s {q'} /@ require p'; /@ ensure q'; public Object s(.) {.} } CS 141b - Distributed Computation Laboratory http:/www.cs.caltech.edu/~cs141/ Remote Method Invocation 20 January 2004 2 Contracts and Inheritance If class C ...

#### 1004rmi

University of Louisiana at Lafayette, FDD 360
Excerpt: ... Remote Method Invocation (2004.04.27) Remote Method Invocation 2 RMI: Remote Method Invocation distributed computing for Java allows an object on one machine to invoke methods of an object on another machine typically a server / client relationship process: 1) client gets reference to remote object 2) client invokes methods of remote object http:/java.sun.com/docs/books/tutorial/rmi/ http:/java.sun.com/marketing/collateral/javarmi.html http:/www.edm2.com/0601/rmi1.html Remote Method Invocation 3 RMI: The Platform is Irrelevant the hardware and operating systems of the machines providing remote clients and using remote clients is irrelevant caveat: each machine (server or client) must run a Java Virtual Machine running Java RMI Remote Method Invocation 4 Steps for Creating an RMI Program 1) write the Java remote interface 2) create Java server source files, adding the code that implements the interface 3) make a register and add the server side interface implementation to it 4) cre ...

#### rmi

University of Louisiana at Lafayette, FDD 360
Excerpt: ... Remote Method Invocation 1 Example RMI Project Using NetBeans 1) go to Tools -> Update Center and download the RMI package 2) select the template for the Remote interface 3) create the interface method headers (for the remote methods) 4) example: / file RMIInterface.java import java.rmi.*; public interface RMIInterface extends java.rmi.Remote { public int ComputeSquare(int n) throws java.rmi.RemoteException; } Remote Method Invocation 2 Example RMI Project Using NetBeans (continued) 5) select the template UnicastRemoteObject, implementing the remote interface created in step #1 6) implement the interface methods 7) example: / file RMIServer.java import java.rmi.*; import java.rmi.server.*; import java.rmi.registry.*; import java.net.MalformedURLException; public class RMIServer extends java.rmi.server.UnicastRemoteObject implements RMIInterface { Remote Method Invocation 3 Example RMI Project Using NetBeans (continued) 7) example (continued): public static void registerToRegistry (String name, Rem ...

#### CS450Week3

Illinois Tech, CS 560
Excerpt: ... ation a. Message passing system - processes communicate with each other without resorting to shared variables b. Naming i. Direct communication ii. Indirect communication c. Synchronization - Message passing may be either blocking or nonblocking i. Blocking is considered synchronous ii. Non-blocking is considered asynchronous d. Buffering - Queue of messages attached to the link; implemented in one of three ways i. Zero capacity 0 messages Sender must wait for receiver (rendezvous) ii. Bounded capacity finite length of n messages Sender must wait if link full iii. Unbounded capacity infinite length Sender never waits e. An example: Mach f. An example: Windows 2000 CS450 Week 3 - Page3 6. Communication in Client-Server Systems a. Sockets - A socket is defined as an endpoint for communication. b. Remote procedure calls - Remote procedure call (RPC) abstracts procedure calls between processes on networked systems. c. Remote Method Invocation - Remote Method Invocation (RMI) is a Java mechanism similar ...

#### jini.glossary

Princeton, CS 597
Excerpt: ... ager, Solaris sunburst design, Solstice, SunCore, SolarNet, SunWeb, Sun Workstation, The Network Is The Computer, ToolTalk, Ultra, Ultracomputing, Ultraserver, Where The Network Is Going, Sun WorkShop, XView, Java WorkShop, the Java Coffee Cup logo, and Visual Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Page ii Jini Technology Glossary1.0 Jini Technology Glossary activation: The process of transforming a passive object into an active object. Activation requires that an object be associated with a Java Virtual Machine (JVM), which may entail loading the class for that object into a JVM and the object restoring its persistent state (if any). (Java Remote Method Invocation Specication, Section 7.1.1) activation descriptor: A class instance which holds an activatable objects group identier (species the JVM in which it is activated), the objects class name, a location from where to load the objects class code, an ...

#### Lecture01

UCSB, ECE 155
Excerpt: ... pplication Server - Middle Tier Performs the business logic processing Database System - Back-End Tier Stores the data in database records on stable storage, i.e., di k i disk Application Server 4 Networked Computing in Java Java provides various facilities that enable networked computing Downloadable Applets Remote Method Invocation (RMI) Servlets and Java Server Pages (JSPs) Java Database Connectivity (JDBC) Enterprise Java Beans (EJBs) and EJB Application Servers Java Applets An applet is a self-contained Java program that can be downloaded from a server over the Internet and run on your local computer Web Page Applet Web Page Browser Download Applet and Web Page over Network Computer Applet Java Virtual Machine Computer 5 Java Remote Method Invocation (RMI) Client invokes a method of a server across the network, network using Remote Method Invocation (RMI) Method name and its parameters are sent in a request message from the client to the server over TCP/IP Server processes the client's requ ...

#### chapter5

Old Dominion, CS 775
Excerpt: ... CS 775/875: Fall 2001 Chapter 5: Distributed Objects and Remote Invocation Terminology Remote procedure call (RPC) Remote method invocation (RMI) Middleware: RMI,RPC,RR, XDR Interface definition language (IDL) CORBA IDL: struct Person { string name; string place; long year;} interface PersonList { readonly attribute string listname; void addPerson(in Person p); void getperson(in string name, out Person p); long number(); }; Communication between distributed objects The object model: Object reference, interfaces, actions, exceptions, garbage collection Distributed objects: Client-server or other architectures Distributed object model: Remote method invocation (when invoker is in a different process than the object), remote object references, remote interfaces, actions (RMI), garbage collection, exceptions Design Issues for RMI Local invocations are always exactly-once; but RMI has other options-maybe, at-least-once, atmost-once Transparency-no distinction between local and remote in ...

#### chapter5

Old Dominion, CS 775
Excerpt: ... CS 775/875: Fall 2002 Chapter 5: Distributed Objects and Remote Invocation Terminology Remote procedure call (RPC) Remote method invocation (RMI) Middleware: RMI,RPC,RR, XDR Interface definition language (IDL) CORBA IDL: struct Person { string name; string place; long year;} interface PersonList { readonly attribute string listname; void addPerson(in Person p); void getperson(in string name, out Person p); long number(); }; Communication between distributed objects The object model: Object reference, interfaces, actions, exceptions, garbage collection Distributed objects: Client-server or other architectures Distributed object model: Remote method invocation (when invoker is in a different process than the object), remote object references, remote interfaces, actions (RMI), garbage collection, exceptions Design Issues for RMI Local invocations are always exactly-once; but RMI has other options-maybe, at-least-once, atmost-once Transparency-no distinction between l ...

#### notes

CSU LA, CS 420
Excerpt: ... Submitted by Shabana Hoque Based on lecture on 01/22/2007 RMI vs. CORBA Client HTTP, RMI, CORBA Application Server RMI, CORBA are like Remote Procedure Calls. The concept may be the same; one program calls another to execute some service, but RPCs function more like a program calling a function in the same machine, only done remotely. RPCs also tend to be language and platform specific. RMI stands for Remote Method Invocation , is an object-oriented implementation of the Remote procedure Call model. It is an API for Java programs only. RMI allows developers to invoke object methods and execute them on remote java virtual machines (JVMs). Under RMI entire objects can be passed and returned as parameters. RMI also supports a registry, which allows clients to perform lookups for a particular service. The object provides remote methods, which can be invoked in client programs. Remote object must be written in java. Remote object are accessed through their interfaces only. CORBA stands for Common Object Request ...

#### L14tmp

University of Illinois, Urbana Champaign, CS 425
Excerpt: ... 2 stored here Lecture 14-13 Bank Database Example How are transactions executed between a client ATM and a bank server? Bank Database: Think of two simultaneous deposits of \$10,000 into your bank account, each from one ATM. Both ATMs read initial amount of \$1000 concurrently from the bank server Both ATMs add \$10,000 to this amount (locally at the ATM) Both write the final amount to the server Whats wrong? The ATMs need mutually exclusive access to your account entry at the server 2002, M. T. Harandi and J. Hou (Modified K. Nahrstedt) Lecture 14-14 Middleware Layers Applications RPCs and RMIs, e.g., CORBA Request reply protocol External data representation Operating System Middleware layers= Provide support to the application RMI= Remote Method Invocation CORBA=Common Object Request Brokerage Architecture 2002, M. T. Harandi and J. Hou (Modified K. Nahrstedt) Lecture 14-15 Local Objects Object consists of a set of data and a set of methods. E.g ...

#### L14tmp

University of Illinois, Urbana Champaign, CS 425
Excerpt: ... N45 File bad.mp3 with key K42 stored here Lecture 14-13 Bank Database Example How are transactions executed between a client ATM and a bank server? Bank Database: Think of two simultaneous deposits of \$10,000 into your bank account, each from one ATM. Both ATMs read initial amount of \$1000 concurrently from the bank server Both ATMs add \$10,000 to this amount (locally at the ATM) Both write the final amount to the server Whats wrong? The ATMs need mutually exclusive access to your account entry at the server 2002, M. T. Harandi and J. Hou (Modified K. Nahrstedt) Lecture 14-14 Middleware Layers Applications RPCs and RMIs, e.g., CORBA Request reply protocol External data representation Operating System Middleware layers= Provide support to the application RMI= Remote Method Invocation CORBA=Common Object Request Brokerage Architecture 2002, M. T. Harandi and J. Hou (Modified K. Nahrstedt) Lecture 14-15 Local Objects Object consists of a set of data and a ...

#### timesheet

NJIT, CIS 602
Excerpt: ... Mitali Basak Date 20-Nov-07 21-Nov-07 27-Nov-07 Time 6:00 PM 6:00 PM 7:00 PM 28-Nov-07 29-Nov-07 7:00 PM 7:00 PM 30-Nov-07 6:00 PM 02-Dec-07 03-Dec-07 8:00 AM 9:00 AM 04-Dec-07 9:00 PM Timesheet Task Read Chapter 11 of Text Read Chapter 12 of Text Read lectures on Chapter 11 Concurrent Programming Read lectures on Java sockets Read lectures on Chapter 12 Distributed Computing and Remote Method Invocation Read lectures on Java 2 Enterprise Edition and Enterprise Java Beans, Certificates and how to use Prophet Oracle database Create planning and inspection document for Course Project Write code for course project: Theatre Reservation system Deploy and test code Time spent (hrs) 4.0 4.0 3.0 3.0 5.0 6.0 4.0 10.0 4.0 1 ...

#### ttbl4980Spring2003

Toledo, EECS 4980
Excerpt: ... Tentative Timetable EECS 4980: Java Spring 2003 Note: This schedule is subject to frequent change. The dates will certainly change as we go along in the term. It is only a rough estimate of the timing of topics in the course. Date Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Week 11 Week 12 Week 13 Week 14 Week 15 May 5 Topic(s) Java Basics I/O Basics Events and GUIs Applets Threads Networking - Basics Remote Method Invocation Servlets and JSP Java Beans JDBC IDL/Corba TBD TBD Examination 5-7PM Flanigan Chap. 1, 2 Chap. 3 Chap. 10, 11 Chap. 15 Chap. 4 Chap. 5 Chap. 16 Chap. 18 Chap. 15 Chap. 17 Reilly Chap. 2 Chap. 4 Chap. 7 Chap. 5,6 Chap. 11 Chap. 10 Chap. 12 ...

#### mware-notes

Allan Hancock College, CS 9243
Excerpt: ... t of standard OS services must be reimplemented by the middleware, leading to an overabundance of features and bloat. One direction that current middleware is taking is to increase flexibility (and reduce bloat) by focusing on adaptation and reflection. The most popular (and widely used) middleware abstraction is that of distributed objects. Besides distributed objects, other abstractions include RPC, transaction processing, message passing, events, shared data spaces, and web services. In this lecture we focus on distributed object-based middleware and (event-based) publish/subscribe middleware. Distributed-Object Middleware Recall from the second lecture that remote method invocation (RMI) is an extension of the RPC model of communication to objects. Whereas RPC involves the invocation of procedures on remote servers, RMI involves the invocation of methods on remote objects. In this lecture we will look at distributed objects, the distributed system paradigm based on using RMI to provide communication and ...

#### TimelineW09

CSU Fullerton, JAC 444
Excerpt: ... Timeline for JAC444 (Winter 2009) Instructor: Peter Liu email: peter.liu@senecac.on.ca office hours: http:/cs.senecac.on.ca/~pliu Week 1: Getting started with Java 2 JDK, Java API, bytecode, the basic structure of a Java class, object references, the lifetime of a Java object, parameter passing, static variables, wiki-based learning Week 2: Java arrays and Java strings, extraction of tokens, the ArrayList class, inheritance Week 3: Java packages, unit testing with JUnit and Ant Week 4: Exception Handling in Java, the wrapper classes, the Random class Week 5: GUI programming in Java, Java interfaces Week 6: GUI programming and Graphics in Java Week 7: Test #1, Java collections Study Week Week 8: Thread progrramming Week 9: Java input/output, object serialization Week 10: Socket-based network programming in Java Week 11: Remote method invocation (RMI) Week 12: Test #2, Java databse connectivity(JDBC) Week 13: Review Examination Week ...

#### TimelineW09

CSU Fullerton, BTP 400
Excerpt: ... Timeline for BTP400 (Winter 2009) Instructor: Peter Liu email: peter.liu@senecac.on.ca student help time: http:/cs.senecac.on.ca/~pliu Week 1: Getting started with Java 2 JDK, Java API, bytecode, the basic structure of a Java class, object references, the lifetime of a Java object, parameter passing, static variables, wiki-based learning Week 2: Java arrays and Java strings, extraction of tokens, the ArrayList class, inheritance Week 3: Java packages, unit testing with JUnit and Ant Week 4: Exception Handling in Java, the wrapper classes, the Random class Week 5: GUI programming in Java, Java interfaces Week 6: GUI programming and Graphics in Java Week 7: Test #1, Java collections Study Week Week 8: Thread progrramming Week 9: Java input/output, object serialization Week 10: Socket-based network programming in Java Week 11: Remote method invocation (RMI) Week 12: Test #2, Java databse connectivity(JDBC) Week 13: Review Examination Week ...

Temple, CIS 307
Excerpt: ... Remote method invocation from Tanenbaum. 1. Compile all .java files 2. Start the registry On Unix:rmiregistry & On Windows:start rmiregistry 3. Create an instance of the remote object java RemoteDateImpl 4. Reference the remote object java RMIClient ...

#### CS451_DisSys_0209

UVA, CS 451
Excerpt: ... Local invocations are executed exactly once. Cannot always be the case for remote method invocation s. Possible run-time errors Cant find the server Request to server is lost Reply from server is lost Server crashes Client crashes CS451: Distributed Systems (Spring 2007) CS451: Distributed Systems (Spring 2007) 1 [5] What are the invocation semantics? RPC/RMI invocation semantics: Maybe. At-least once. At-most once. [5] What are the invocation semantics? Fault tolerance measures Retransmit request message No Yes Yes Duplicate filtering Not applicable No Yes Re-execute procedure or retransmit reply Not applicable Re-execute procedure Retransmit reply Invocation semantics Maybe At-least-once At-most-once RPC/RMI invocation semantics depends on use of: Retry request message. Duplicate filtering. Retransmission of results. CS451: Distributed Systems (Spring 2007) CS451: Distributed Systems (Spring 2007) (potential) transparencies of RPC/RMI location transparency: RMI and RPCs invoked wi ...

#### notes

CSU LA, CS 420
Excerpt: ... CS420 1/22/2006 CLASS NOTES by Uma Dharmapuri Brief Introduction to RMI and CORBA: The Java Remote Method Invocation (RMI) mechanism and the Common Object Request Broker Architecture (CORBA) are the two most important and widely used distributed object systems. Each system has its own features and shortcomings. Remote Method Invocation (RMI) Java RMI is a Java application-programming interface for performing the object equivalent of remote procedure calls. The original implementation depends on Java Virtual Machine (JVM) class representation mechanisms and it thus only supports making calls from one JVM to another. The protocol underlying this Java-only implementation is known as Java Remote Method Protocol (JRMP). In order to support code running in a non-JVM context, a CORBA version was later developed. Usage of the term RMI may denote solely the programming interface or may signify both the API and JRMP. Java Remote Method Invocation (Java RMI) enables the programmer to create distributed Java technolog ...

#### 03DistributedProgramming-4RMI-3up

UMass (Amherst), COMP 3010
Excerpt: ... 1/20/2009 REMOTE METHOD INVOCATION . COMP3010 Distributed Computing Winter 2009 1 Remote Method Invocation . Remote Method Invocation (RMI) is a modern and object oriented version of RPC RMI provides support for "distributed" objects in Java; i.e., it allows objects to invoke methods on remote objects The principle is the same as RPC and much of the implementation is similar, though OO adds a couple of new "wrinkles" COMP3010 Distributed Computing Winter 2009 2 Distributed Objects. The goals for distributed objects in Java are: Support seamless remote invocation on objects in different virtual machines Support call backs from servers to applets Integrate the distributed object model into the Java language in a Integrate the distributed object model into the Java language in a natural way, while retaining most of the Java language's object semantics Make differences between the distributed object model and local Java object model apparent Make writing reliable distribu ...

#### lect05Slides

East Los Angeles College, CS 3052
Excerpt: ... ); long number(); }; 17 16-Feb-07 COMP30052 Lecture 5 18 Syntax of interface but commonly with extra information (e.g. in, out, inout) about reference parameters 16-Feb-07 COMP30052 Lecture 5 3 Remote Method Invocation (RMI) Java includes RMI in its API Marshalling is simpler: Java <=> Java It requires that objects sent as arguments or results be serializable, i.e. there is a standard external form for them. This allows arbitrarily complex structures (not possible with copy/restore parameters) 16-Feb-07 COMP30052 Lecture 5 19 Remote Object References A major difference between RMI and RPC is that there are, in RMI, references to remote objects! 16-Feb-07 COMP30052 Lecture 5 20 What are Remote Object References? They must be system-wide not reused for other objects Figure 4.13 Representation of a remote object reference 32 bits 32 bits 32 bits 32 bits If objects don't move (only references) they can identify the machine (e.g. by internet address) and process (by port number and t ...

#### COP3813-99

FAU, COP 3813
Excerpt: ... Example: fig. 25.15 CGI for HTML DBI for database PHP Serverside scripting language for creating web pages. Combines script into HTML page Example: fig. 26.1 VBScript Microsoft script lanuage derived from Visual Basic Browser support only in IE, so rarely used on client side Can be used for serverside ASP scripting Example: fig. 32.15 Python Objectoriented scripting language Used for serverside applicaitons Free Good features for web development Example: fig. 35.18 Java Servlets Use Remote Method Invocation (RMI) between Java on client and server Developed as part of Jakarta Porject Tomcat for in Apache server Web Servlets Usually extend class HttpServlet Example requester: fig. 36.12 Example servlet: fig. 36.11 JavaServer Pages Extend Servlet concept Support reuse of JavaBean components Example: fig 37.1 Can insert content directly into web pages Example: fig 37.4 with serverside Note update with refresh meta tag scripting ...

#### distrSys

Brookdale, CS 3171
Excerpt: ... OSI Layers, interfaces, and protocols in the OSI model. 2-1 TvS 2.2 7 Middleware Protocols 2-5 An adapted reference model for networked communication. TvS 2.6 8 Middleware A software layer that masks the heterogeneity of systems provides a convenient programming abstraction provides protocols for providing general-purpose services to more specific applications, eg. authentication protocols authorization protocols distributed commit protocols distributed locking protocols high-level communication protocols remote procedure calls (RPC) remote method invocation (RMI) 9 Middleware General structure of a distributed system as middleware. 1-22 TvS 1.24 10 Middleware and Openness 1.23 In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications. TvS 1.25 11 Middleware programming models Remote Calls remote Procedure Calls (RPC) distributed obj ...

#### Lec04

UMass (Amherst), CS 677
Excerpt: ... Last Class: RPCs RPCs make distributed computations look like local computations Issues: Parameter passing Binding Failure handling Computer Science CS677: Distributed OS Lecture 4, page 1 Today: Case Study: Sun RPC Lightweight RPCs Remote Method Invocation (RMI) Design issues Computer Science CS677: Distributed OS Lecture 4, page 2 Case Study: SUNRPC One of the most widely used RPC systems Developed for use with NFS Built on top of UDP or TCP TCP: stream is divided into records UDP: max packet size < 8912 bytes UDP: timeout plus limited number of retransmissions TCP: return error if connection is terminated by server Multiple arguments marshaled into a single structure At-least-once semantics if reply received, at-least-zero semantics if no reply. With UDP tries at-most-once Use SUN's eXternal Data Representation (XDR) Big endian order for 32 bit integers, handle arbitrarily large data structures Computer Science CS677: Distributed OS Lecture 4, page 3 Binde ...