1 / 7

Understanding Distributed Objects and Remote Invocation: RMI and RPC Fundamentals

This chapter explores concepts of distributed objects and remote invocation, featuring key mechanisms like Remote Procedure Call (RPC) and Remote Method Invocation (RMI). It covers middleware technologies such as IDL, CORBA, and communication between distributed objects. The text details the object model, client-server architectures, and design issues in RMI, addressing transparency, local vs. remote invocation, and implementation components like proxies and dispatchers. Case studies, including Java RMI and Sun RPC, illustrate practical applications and event-driven systems utilizing publish-subscribe paradigms.

mostyn
Télécharger la présentation

Understanding Distributed Objects and Remote Invocation: RMI and RPC Fundamentals

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 775/875: Fall 2000 Chapter 5: Distributed Objects and Remote Invocation

  2. 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(); };

  3. 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

  4. Design Issues for RMI • Local invocations are always exactly-once; but RMI has other options---maybe, at-least-once, at-most-once • Transparency---no distinction between local and remote invocations for users • Implementation of RMI: Communication module, remote reference module (remote objects and proxies), Proxy, dispatcher, and skeleton, the binder, server threads, activation of remote objects, persistent object storage, location service

  5. Remote Procedure Call • Similar to RMI • Sun RPC case study: XDR, numerical Ids for programs/procedures, port mapper as local registry of services (runs at a well-known port)

  6. Events and notifications • Events---manipulating a button, entering text via keyboard, etc. • Publish-subscribe paradigm • Distributed event-based systems: Heterogeneous and asynchronous • Participants: Object of interest, event, notification, subscriber, observer objects, publisher • Role of observer: forwarding, filtering, patterns of events, notification mailboxes (hold notifications)

  7. Java RMI Case Study • Remote interfaces---Remote • parameters and result passing: zero or more input parameters; 0 or 1 output parameter; serializable objects • RMI registry---Maps textual URL-style names to references to remote objects hosted locally • Server program, client program • Callbacks: A mechanism for a server to inform a client of an event

More Related