DISTRIBUTED SYSTEMS [COMP9243] Lecture 7: Middleware MIDDLEWARE. Distributed Object based: Slide 1. Slide 3. Message-oriented: Slide 4
|
|
- Harriet Gilbert
- 5 years ago
- Views:
Transcription
1 KINDS OF MIDDLEWARE DISTRIBUTED SYSTEMS [COMP9243] Lecture 7: Middleware Distributed Object based: Objects invoke each other s methods Server Slide 1 ➀ Introduction ➁ Distributed Object Middleware Remote Objects & CORBA Distributed Shared Objects & Globe ➂ Message-Oriented Middleware ➃ Publish/Subscribe Middleware Slide 3 Object MIDDLEWARE Message-oriented: Messages are sent between processes Message queues Machine A Machine B Machine C Sender A Distributed applications Application Application Slide 2 Network OS services Middleware services Network OS services Network OS services Slide 4 Receive queue Send queue Message R2 Kernel Kernel Kernel Application R1 Network Application Router Receiver B KINDS OF MIDDLEWARE 1 KINDS OF MIDDLEWARE 2
2 Coordination-based: Tuple space Transaction Processing Monitors: Slide 5 A Write A B Write B T Read T Insert a copy of A Tuple instance Insert a copy of B A B B B A C Look for tuple that matches T C Return C (and optionally remove it) Slide 7 Transaction Client application Requests Reply Reply Request Request TP monitor Reply Request Reply Server Server Server A JavaSpace Publish/Subscribe Web Services: Publisher Subscriber Subscriber Stock Servicequery_stock buy sell Client XML RPC Bank Servicebalance tansfer HTTP HTTP Slide 6 01 Data Item 01 Subscription Slide 8 XML RPC Match Match Publish/Subscribe Middleware Auction Servicesearch get_auction manage_auction bid SOAP Photo Servicesearch add_photo delete_photo update_photo HTTP KINDS OF MIDDLEWARE 3 DISTRIBUTED OBJECTS 4
3 DISTRIBUTED OBJECTS OBJECT MODEL Classes and Objects Class: defines a type Slide 9 Slide 11 Object: instance of a class Interfaces Object references Active vs Passive objects Persistent vs Transient objects Static vs Dynamic method invocation CHALLENGES Transparency INTERFACES Failure transparency Reliability Define an object s methods Composition of interfaces Dealing with partial failures Inheritance of interfaces Slide 10 Scalability Number of clients of an object Distance between client and object Design Must take distributed nature into account from beginning Performance Flexibility Slide 12 Versions of interfaces Interface Definition Language: Types of objects, Public methods, Exceptions that may occur etc. OBJECT MODEL 5 REMOTE OBJECT ARCHITECTURAL MODEL 6
4 REMOTE OBJECT ARCHITECTURAL MODEL OBJECT SERVER Client Interface Server Object State Methods Object: State & Methods Implements a particular interface Server Slide 13 Proxy Skeleton Run Time System Run Time System Client OS Server OS Remote Objects: Single copy of object state (at single object server) All methods executed at single object server All clients access object through proxy Object s location is location of state Interface Slide 15 Skeleton: Server stub Static vs dynamic skeletons Run-Time System: Dispatches to appropriate object Invocation policies Object Server: Hosts object implementations Transient vs Persistent objects Concurrent access Support legacy code Skeleton Run Time System Server OS CLIENT Slide 14 Client Process: Binds to distributed object Invokes methods on object Proxy: Proxy: RPC stub + destination details Binding causes a proxy to be created Responsible for marshaling Static vs dynamic proxies Usually generated Client Proxy Run Time System Client OS Slide 16 OBJECT REFERENCE Local Reference: Language reference to proxy Proxy Run-Time System: Provides services (translating references, etc.) Send and receive OBJECT SERVER 7 OBJECT REFERENCE 8
5 Remote Reference: Server address + object ID OBJECT REFERENCE Object name (human friendly, object ID, etc.) Naming Service Slide 17 OR address id type Remote Object Slide 19 OR Proxy name Remote Object Proxy What are the drawbacks and/or benefits of each approach? BINDING AND NAME RESOLUTION Reference to proxy code (e.g., URL) & init data Name Resolution: Name remote reference Slide 18 OR URL to proxy code init Remote Object Slide 20 Reference info contained in name (e.g., URL), or Naming service stores name to reference mappings Binding: Remote reference local reference Create a proxy Connect proxy to object server OBJECT REFERENCE 9 REMOTE METHOD INVOCATION (RMI) 10
6 REMOTE METHOD INVOCATION (RMI) STATIC VS DYNAMIC INVOCATION Standard invocation (synchronous): Client invokes method on proxy Proxy performs RPC to object server Slide 21 Skeleton at object server invokes method on object Object server may be required to create object first Slide 23 Other invocations: Asynchronous invocations Persistent invocations Notifications and Callbacks INVOCATION SEMANTICS Local method invocation: executed exactly once Problem: Cannot make such a guarantee for remote invocations! Features: CORBA Object Management Group (OMG) Standard (version 3.1) Slide 22 Fault Tolerance Measure Retransmit Filter Re-execute, Invocation Request Duplicates or Re-reply Semantics No n/a n/a Maybe Yes No Re-execute procedure At-least-once Yes Yes Retransmit reply At-most-once Slide 24 Range of language mappings Transparency: Location & some migration transparency Invocation semantics: at-most-once semantics by default; maybe semantics can be selected Services: include support for naming, security, events, persistent storage, transactions, etc. What s the difference between Maybe and At-most-once? STATIC VS DYNAMIC INVOCATION 11 CORBA ARCHITECTURE 12
7 Example: A Simple File System: CORBA ARCHITECTURE module CorbaFS { interface File; // forward declaration Slide 25 Static IDL proxy Client machine Client application Dynamic Invocation Interface Client ORB ORB interface Object adapter Server machine Object implementation Skeleton Dynamic Skeleton Interface Server ORB ORB interface Slide 27 // a super-simple file system interface FileSystem { exception CantOpen {string reason; enum OpenMode {Read, Write, ReadWrite File open (in string fname, in OpenMode mode) raises (CantOpen); Local OS Local OS Network // an open file interface File { string read (in long nchars); void write (in string data); void close (); INTERFACES: OMG IDL ELEMENTS OF IDL Slide 26 Components of an interface definition: Defines class attributes and methods (Classes are called interfaces and methods are called operations) Method arguments are annotated as in, out, and inout Errors/exceptions Interface inheritance Characteristics of OMG IDL: Grammar is a subset of ANSI C++ plus additional constructs for object invocation No control structures, only declarations Primitive and complex data types, but no pointers No templates and no overloading Includes support for pre-processor Slide 28 Basic types:: The usual short to long long types (size fixed) Latin 1 & wide characters boolean & octet any type Constructed types:: C/C++-style enumerations & structures Other types:: Sequence types e.g.,sequence<octet> Strings, Arrays Exceptions: Standard exceptions User-defined exceptions: struct-like data type INTERFACES: OMG IDL 13 ELEMENTS OF IDL 14
8 Modules & Interfaces: LANGUAGE MAPPINGS Slide 29 An interface defines the public interface of a CORBA object Interfaces can be defined using (multiple) inheritance A module bundles related declarations and interfaces module Foo { typedef long bar; interface A { enum baz { interface B {... interface C: A, B {... Valid names: Foo::bar, Foo::A::baz, and Foo::C::baz Slide 31 Accessing interfaces from "real" programming languages?: Standardised language mappings define Host language representation for basic and constructed IDL types, References to constants and objects, Mechanisms for invoking operations, Behaviour in case of an exceptions, and Signatures for standard operations like those of the object adapters. Ideally, client and (to a lesser extent) object implementation code should be portable across different IDL compilers and ORBs. Note: Defines only how an IDL interface appears in a given language, but not how it is implemented (e.g., OR). Slide 30 Operations & Attributes: All operations contained in the interface of an object can be invoked on that object interface Echo { void doecho (in string msg) raises(echoexception); oneway operations Attributes specify publicly accessible data items interface Counter { readonly attribute long value; void inc (); readonly attributes Slide 32 But C does not have: objects, inheritance, exceptions, and nested name spaces. The C language mapping: Objects: each object has type CORBA_Object Operations: function gets object as additional first argument Inheritance: method vectors and object adapter Exceptions: each operation gets a reference to CORBA_Environment as additional last argument Poor man s name spaces: :: is replaced by _ LANGUAGE MAPPINGS 15 LANGUAGE MAPPINGS 16
9 Slide 33 interface Echo { void doecho (in string msg); typedef CORBA_Object Echo; void Echo_doEcho (Echo _obj, CORBA_char *msg, CORBA_Environment *ev); Slide 35 Object Reference (OR): OBJECT REFERENCE (OR) Refers to exactly one object, but an object can have multiple, distinct handles A language mapping provides an opaque representation ORs are implementation specific interface Counter { readonly attribute long value; void inc (); Interoperable Object Reference (IOR) Can be shared between different implementations Tagged Profile Interoperable Object Reference (IOR) Slide 34 typedef CORBA_Object Counter; CORBA_long Counter get_value (Counter _obj, CORBA_Environment *ev); void Counter_inc (Counter _obj, CORBA_Environment *ev); Slide 36 Repository identifier IIOP version Profile ID Profile Host Port Object key Components Note: No definition for the attribute itself, only the _get_value operation. POA identifier Object identifier Other serverspecific information OBJECT REFERENCE (OR) 17 CLIENT 18
10 CLIENT Slide 37 Binds to remote object Static proxy Dynamic invocation Client-Side Dynamic Invocation: Dynamic Invocation interface (DII) Request is dynamically created Interface repository: Persistent storage of interface definitions Dynamic type checking and checking of inheritance graph Interface browser May be queried by language bindings Slide 39 OBJECT REQUEST BROKER (ORB) Provides run-time system Translate between remote and local references Send and receive messages Maintains interface repository Enables dynamic invocation (client and server side) Locates services OBJECT Slide 38 Also known as Servant Can be proper object (e.g., C++, Java) Can be state and procedures (e.g., C) Can be legacy code (with a wrapper) Slide 40 ORB In the same process ORB Separate processes ORB Object Adapter: Dispatcher (OR Servant) Invokes skeleton (static or dynamic) Possibly creates objects Portable Object Adapter Proxy Skeleton ORB Server based ORB OBJECT REQUEST BROKER (ORB) 19 OBJECT REQUEST BROKER (ORB) 20
11 Slide 41 CORBA Leaves Implementations a Lot of Freedom: Advantages ORB implementations can more easily be optimised for size, speed, or functionality Wide applicability; allows extreme cases like use in real-time systems (TAOS) Future improvements in network & compiler technology can be exploited more easily Vendors can specialise Disadvantages Slide 43 Direct Binding: Create proxy BINDING ORB connects to server (using info from IOR) Invocation requests are sent over connection Indirect Binding: Client IOR IOR refers to implementation repository 5. Actual invocation 4. Redirect message Object server Complexity of the specification; more difficult to understand Incompatibility of different implementations This is in contrast to COM/DCOM. 1. First invocation or binding request 3. Ack object is active Implementation repository 2. Activate/start object INTERCEPTORS COMMUNICATION: GENERAL INTER-ORB PROTOCOL (GIOP) Protocol framework for communicating between ORBs Client application Does not specify actual transport protocol Slide 42 Request-level interceptor Message-level interceptor Client proxy Client ORB Invocation request Slide 44 Components of the GIOP specification: Transfer syntax Message formats Transport layer assumptions Goals of GIOP: Local OS To server Simplicity & ease of implementation Scalability Generality & architecture neutrality BINDING 21 COMMON DATA REPRESENTATION (CDR) 22
12 COMMON DATA REPRESENTATION (CDR) neutral, bi-canonical, on-the-wire representation variable byte addressing (receiver might swap) data aligned at natural boundaries (improves efficiency) covers all data types that can be expressed in OMG IDL MESSAGE TYPES Request message:: Invocation of an operation or use of attribute accessor Request header and request body For example: boolean: True; long: 132; short: 56; char: Q; long long: 234,663 Reply message:: Reply to a request (that requires a reply) Slide 45 Value - 0x01 0x00 0x00 0x00 0x84 0x00 0x38 0x51 0x00 0x00 Address x00 0x00 0x00 0x03 0x94 0xA Slide 47 Reply header and reply body CancelRequest message:: Request not needed anymore (advisory) Transfers the request ID Value - 0x01 0x20 0x20 0x20 0x00 0x00 0x00 0x84 0x00 0x38 0x51 Address x20 0x20 0x20 0x20 0x20 0x00 0x00 0x00 0x00 0x00 0x03 0x94 0xA LocateRequest message:: Check object validity and capabilities Object of interest GIOP MESSAGES Slide 46 GIOP message header (1.1): module GIOP { struct Version {octet major; octet minor; enum MsgType_1_1 { Request, Reply, CancelRequest, LocateRequest, LocateReply, CloseConnection, MessageError, Fragment struct MessageHeader_1_1 { char magic[4]; Version GIOP_version; octet flags; // byte order, last fragment octet message_type; unsigned long message_size; Slide 48 LocateReply message:: Reply to locate request Object might be unknown, available, or forwarded CloseConnection message:: Server terminates connection MessageError message:: Error in message version or format Fragment message:: Follow up to incomplete message MESSAGE TYPES 23 TRANSPORT LAYER (GIOP REQUIREMENTS) 24
13 DISTRIBUTED SHARED OBJECT (DSO) MODEL TRANSPORT LAYER (GIOP REQUIREMENTS) Slide 49 Transport must be connection-oriented Transport must be reliable Unbounded stream of bytes Transport must notify in case of connection loss TCP s connection initiation model must be implementable TCP/IP fits very well Slide 51 State Interface Network Local Representative (Local Object) Process From GIOP to Internet Inter-Orb Protocol (IIOP): Distributed Shared Object A small step: IOR definition for TCP/IP Connection handling Distributed Shared Objects: Object state can be replicated (at multiple object servers) Object state can be partitioned Methods executed at some or all replicas Object location no longer clearly defined CORBA BIBLIOGRAPHY Slide 50 [1] IIOP Complete, W. Ruh, T. Herron, and P. Klinker, Addison Wesley, [2] The Common Object Request Broker: Architecture and Specification (2.3.1), Object Management Group, [3] C Language Mapping Specification, Object Management Group, [4] CORBAservices: Common Object Services Specification, Object Management Group, Play with CORBA. Many implementations available, including ORBit: Slide 52 CLIENT Client has local representative (LR) in its address space Stateless LR Equivalent to proxy Methods executed remotely Statefull LR Full state Partial state Methods (possibly) executed locally Client app LR DISTRIBUTED SHARED OBJECT (DSO) MODEL 25 OBJECT 26
14 OBJECT GLOBE (GLOBAL OBJECT BASED ENVIRONMENT) Scalable wide-area distributed system: Wide-area scalability requires replication Wide-area scalability requires flexibility Slide 53 Remote Object Replicated Object Slide 55 Features: Per-object replication and consistency Per-object communication Mechanism not policy Transparency (replication, migration) Dynamic replication Partitioned Object Replicated and Partitioned Object LOCAL REPRESENTATIVE OBJECT SERVER Slide 54 Server dedicated to hosting LRs Provides resources (network, disk, etc.) Static vs Dynamic LR support Transient vs Persistent LRs Security mechanisms LR Obj A LR Obj B Slide 56 Replication subobject Control subobject Same interface as implemented by semantics subobject Semantics subobject Location of LRs: Communication subobject LRs only hosted by clients Statefull LRs only hosted by object servers Statefull LRs on both clients and object servers Communication with other local objects GLOBE (GLOBAL OBJECT BASED ENVIRONMENT) 27 SEMANTICS SUBOBJECT 28
15 CONTROL-REPLICATION SUBOBJECT INTERACTION Control Subobject: SEMANTICS SUBOBJECT Equivalent to CORBA Servant Implements object interface (Globe IDL) INVOKE State stored in semantics subobject START RETURN Slide 57 Written as though non-distributed (in theory!) Problems to look out for: Slide 59 SEND Concurrent access No references to other Globe objects No complex parameters (lists, other Globe objects, etc.) No assumptions about local environment Replication Subobject: Read methods Write methods Replication interface: start(), send(), invoked() REPLICATION AND CONTROL SUBOBJECTS REPLICATION EXAMPLE: ACTIVE REPLICATION Slide 58 Control Subobject: Implements standard control interface Control Mediates between replication and semantics subobjects Does marshaling/unmarshaling Replication Semantics Slide 60 Repl Local object process B Ctrl Sem Local object process A Repl Ctrl Process A has no semantics subobject Repl Local object process C Ctrl Sem Replication Subobject: Comm Comm Comm Implements standard replication interface Responsible for replication and consistency Decides how to handle local invocations and incoming requests Request path Reply path Replication subobject forwards invocation to A and B and later merges results Implementation independent of semantics subobject CONTROL-REPLICATION SUBOBJECT INTERACTION 29 BINDING 30
16 BINDING Slide 61 Client 3. Select address Class object Local object 1. Name Object handle 2. Object handle Addresses & protocols Naming service Location service Register contact address Slide 63 MESSAGE-ORIENTED MIDDLEWARE (MOM) Middleware services to provide message passing. 5. Make contact 4. Load & instantiate class(es) (Trusted) class repository Distributed shared object Slide 62 Location Service: NAMING AND LOCATION SERVICES Object handle Contact Address Contact Address: Contact Point + LR implementation info Contact Point: Address Hierarchy of regions Pointer caching A0 region A0 A1 region A1 PA region A2 A2 R B2 B1 B0 region B0 PB region B1 region B2 C0 region C0 region PA region PB region PC region R PC C1 region C1 Slide 64 Provides: Persistent communication Message Queues MESSAGE QUEUING SYSTEMS Transfer of messages between queues Model: Application-specific queues Messages addressed to specific queues Only guarantee delivery to queue. Not when. Message transfer can be in the order of minutes Very similar to but more general purpose (i.e., enables communication between applications and not just people) MESSAGE-ORIENTED MIDDLEWARE (MOM) 31 MESSAGE QUEUING SYSTEMS 32
17 Message Queue Architecture Example: Sender A Basic queue interface: Application Application Receive queue Message R2 Slide 65 Slide 67 Send queue Application R1 Application Router Receiver B Message Queue Architecture Concepts: Examples: Slide 66 Queue Source queue (local) Destination queue (remote) Queue Manager Direct (manages queues on its machine) Relay/Router (routes to given destination queue s machine) Multicast support (routes to multiple destination queues) Message Broker Translates between application specific message formats Application gateway Slide 68 IBM MQSeries Message channels connect queue managers Message Channel Agent (MCA) manages a channel end (sends and receives transport level messages) Source and destination MCAs must be running to use channel Queue manager responsible for routing Java Message Service Java API to messaging system (e.g., MQ Series) Implementation of own messaging system Provides Point-to-point (usual message queues) and Publish/Subscribe MESSAGE QUEUING SYSTEMS 33 PUBLISH/SUBSCRIBE (EVENT-BASED) MIDDLEWARE 34
18 EXAMPLES Slide 69 PUBLISH/SUBSCRIBE (EVENT-BASED) MIDDLEWARE Publisher Subscriber Subscriber 01 Data Item 01 Subscription Match Match Publish/Subscribe Middleware Slide 71 Real-time Control Systems: external events (e.g. sensors) event monitors Stock Market Monitoring: stock updates traders subscribed to updates Network Monitoring: status logged by routers, servers monitors screen for failures, intrusion attempts Enterprise Application Integration: independent applications produce output as events consume events as input decoupled CHALLENGES MESSAGE FILTERING Transparency: loose coupling good transparency Publisher Subscriber Slide 70 Scalability: Potentially good due to loose coupling X In practice hard to achieve Number of subscriptions Number of messages Slide 72 Topic-based 01 Data item: comp.os.distributed Match comp.os.unix Publish/Subscribe Middleware Subscription: comp.os.* Flexibility: Loose coupling gives good flexibility Language & platform independence Policy separate from mechanism Programmability: Inherent distributed design Doesn t use non-distributed concepts Content-based Publisher 01 Data item: name=john age=30 Match name=john gender = male Publish/Subscribe Middleware Subscriber Subscription: name=john EXAMPLES 35 ARCHITECTURE 36
19 ARCHITECTURE Centralised: Multicast-based: Slide 73 Publisher Send Event Broker Send Subscribe Send Event Subscriber Slide 75 Publisher Subscriber Subscriber Publisher 01 Send Event No Match 01 Match 01 No Match 01 Distributed: Peer-to-Peer: Publisher Local Broker Subscriber Local Broker Publisher Subscriber Publisher Subscriber Slide 74 Border Broker Broker Border Broker Slide Send Event 01 Send Event Publisher Subscriber Local Broker Broker Broker Subscriber Publisher Subscriber ARCHITECTURE 37 COMMUNICATION 38
20 Slide 77 COMMUNICATION Point-to-point Multicast hard part is building appropriate multicast tree Content-based routing point-to-point based router network make forwarding decisions based on message content store subscription info at router nodes Slide 79 READING LIST Globe: A Wide-Area Distributed System An overview of Globe CORBA: Integrating Diverse Applications Within Distributed Heterogeneous Environments An overview of CORBA New Features for CORBA 3.0 More CORBA EXAMPLE SYSTEMS TIB/Rendezvous: Topic-based Multicast-based Java Message Service (JMS): API for MOM Slide 78 Topic-based centralised or peer-to-peer implementations possible Scribe: Topic-based Peer-to-peer architecture, based on Pastry (DHT) Topics have unique IDs and map onto nodes Multicast for sending events Tree is built up as nodes subscribe READING LIST 39 READING LIST 40
DISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: Lecture 7: Middleware. Slide 1. Slide 3. Message-oriented: MIDDLEWARE
DISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: KINDS OF MIDDLEWARE Lecture 7: Middleware Objects invoke each other s methods Slide 1 ➀ Introduction ➁ Publish/Subscribe Middleware ➂ Map-Reduce
More informationDistributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.
Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan Reading List Remote Object Invocation -- Tanenbaum Chapter 2.3 CORBA
More informationDS 2009: middleware. David Evans
DS 2009: middleware David Evans de239@cl.cam.ac.uk What is middleware? distributed applications middleware remote calls, method invocations, messages,... OS comms. interface sockets, IP,... layer between
More informationDistributed Object-based Systems CORBA
CprE 450/550x Distributed Systems and Middleware Distributed Object-based Systems CORBA Yong Guan 3216 Coover Tel: (515) 294-8378 Email: guan@ee.iastate.edu March 30, 2004 2 Readings for Today s Lecture!
More informationAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Distributed and Agent Systems Prof. Agostino Poggi What is CORBA? CORBA (Common Object Request
More informationToday: Distributed Objects. Distributed Objects
Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.
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 informationDistributed Middleware. Distributed Objects
Distributed Middleware Distributed objects DCOM CORBA EJBs Jini Lecture 25, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy. Lecture 25, page 2 Distributed
More informationToday: Distributed Middleware. Middleware
Today: Distributed Middleware Middleware concepts Case study: CORBA Lecture 24, page 1 Middleware Software layer between application and the OS Provides useful services to the application Abstracts out
More informationInterprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5
Interprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5 Fall 2008 Jussi Kangasharju Chapter Outline Overview of interprocess communication Remote invocations (RPC etc.) Message
More informationMTAT Enterprise System Integration. Lecture 2: Middleware & Web Services
MTAT.03.229 Enterprise System Integration Lecture 2: Middleware & Web Services Luciano García-Bañuelos Slides by Prof. M. Dumas Overall view 2 Enterprise Java 2 Entity classes (Data layer) 3 Enterprise
More informationElectronic Payment Systems (1) E-cash
Electronic Payment Systems (1) Payment systems based on direct payment between customer and merchant. a) Paying in cash. b) Using a check. c) Using a credit card. Lecture 24, page 1 E-cash The principle
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 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 informationWhat is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform.
CORBA What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform. It includes: an object-oriented Remote Procedure Call (RPC) mechanism object
More informationUnit 7: RPC and Indirect Communication
SR (Systèmes Répartis) Unit 7: RPC and Indirect Communication François Taïani Outline n Remote Procedure Call è First Class RPC è Second Class RPC (RMI) n Indirect Communication è Group Communication è
More informationDistributed Object-Based. Systems. Chapter 9
Distributed Object-Based Systems Chapter 9 Overview of CORBA The global architecture of CORBA. Object Model The general organization of a CORBA system. Service Collection Query Concurrency Transaction
More informationANSAwise - CORBA Interoperability
Poseidon House Castle Park Cambridge CB3 0RD United Kingdom TELEPHONE: Cambridge (01223) 515010 INTERNATIONAL: +44 1223 515010 FAX: +44 1223 359779 E-MAIL: apm@ansa.co.uk Training ANSAwise - CORBA Interoperability
More informationCORBA (Common Object Request Broker Architecture)
CORBA (Common Object Request Broker Architecture) René de Vries (rgv@cs.ru.nl) Based on slides by M.L. Liu 1 Overview Introduction / context Genealogical of CORBA CORBA architecture Implementations Corba
More informationCommunication. Distributed Systems Santa Clara University 2016
Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces
More informationDistributed Objects. Object-Oriented Application Development
Distributed s -Oriented Application Development Procedural (non-object oriented) development Data: variables Behavior: procedures, subroutines, functions Languages: C, COBOL, Pascal Structured Programming
More informationDistributed Systems Principles and Paradigms
Distributed Systems Principles and Paradigms Chapter 09 (version 27th November 2001) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.
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 informationOverview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36
Communication address calls class client communication declarations implementations interface java language littleendian machine message method multicast network object operations parameters passing procedure
More informationSoftware Paradigms (Lesson 10) Selected Topics in Software Architecture
Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1
More informationSAI/ST course Distributed Systems
SAI/ST course Distributed Systems 2013, Sep. 26 Oct 01 Lecture 3: Communication Agenda Overview Concepts Organization in layers IPC primitives Direct communication Indirect communication R.H. Mak 27-9-2013
More informationLimitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component
Limitations of Object-Based Middleware Object-Oriented programming is a standardised technique, but Lack of defined interfaces between objects It is hard to specify dependencies between objects Internal
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 informationCORBA COMMON OBJECT REQUEST BROKER ARCHITECTURE OVERVIEW OF CORBA, OMG'S OBJECT TECHNOLOGY FOR DISTRIBUTED APPLICATIONS CORBA
CORBA COMMON OBJECT REQUEST BROKER ARCHITECTURE OVERVIEW OF CORBA, OMG'S OBJECT TECHNOLOGY FOR DISTRIBUTED APPLICATIONS Peter R. Egli 1/27 Contents 1. What is CORBA? 2. CORBA Elements 3. The CORBA IDL
More informationMOM MESSAGE ORIENTED MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS. MOM Message Oriented Middleware
MOM MESSAGE ORIENTED MOM Message Oriented Middleware MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS Peter R. Egli 1/25 Contents 1. Synchronous versus asynchronous interaction
More informationAdvanced Lectures on knowledge Engineering
TI-25 Advanced Lectures on knowledge Engineering Client-Server & Distributed Objects Platform Department of Information & Computer Sciences, Saitama University B.H. Far (far@cit.ics.saitama-u.ac.jp) http://www.cit.ics.saitama-u.ac.jp/~far/lectures/ke2/ke2-06/
More informationPROFESSOR: DR.JALILI BY: MAHDI ESHAGHI
PROFESSOR: DR.JALILI BY: MAHDI ESHAGHI 1 2 Overview Distributed OZ Java RMI CORBA IDL IDL VS C++ CORBA VS RMI 3 Distributed OZ Oz Language Multi paradigm language, strong support for compositionality and
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 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 Object-based Systems CORBA
Distributed Object-based Systems CORBA Dr. Yong Guan Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University Outline for Today s Talk Role of CORBA and need
More informationIndirect Communication
Indirect Communication To do q Today q q Space and time (un)coupling Common techniques q Next time: Overlay networks xkdc Direct coupling communication With R-R, RPC, RMI Space coupled Sender knows the
More informationMay Gerd Liefländer System Architecture Group Universität Karlsruhe (TH), System Architecture Group
Distributed Systems 6 RMI/MP IPC May-18-2009 Gerd Liefländer System Architecture Group 1 Intended Schedule of Today RMI (only rough overview) Message Passing Motivation Bridge Principle Message Passing
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 informationChapter 4 Communication
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI
More informationMODELS OF DISTRIBUTED SYSTEMS
Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between
More informationAdvanced Topics in Operating Systems
Advanced Topics in Operating Systems MSc in Computer Science UNYT-UoG Dr. Marenglen Biba 8-9-10 January 2010 Lesson 10 01: Introduction 02: Architectures 03: Processes 04: Communication 05: Naming 06:
More informationNotes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title
Notes Ask course content questions on Slack (is651-spring-2018.slack.com) Contact me by email to add you to Slack Make sure you checked Additional Links at homework page before you ask In-class discussion
More informationDistributed Technologies - overview & GIPSY Communication Procedure
DEPARTMENT OF COMPUTER SCIENCE CONCORDIA UNIVERSITY Distributed Technologies - overview & GIPSY Communication Procedure by Emil Vassev June 09, 2003 Index 1. Distributed Applications 2. Distributed Component
More informationCOMMUNICATION IN DISTRIBUTED SYSTEMS
Distributed Systems Fö 3-1 Distributed Systems Fö 3-2 COMMUNICATION IN DISTRIBUTED SYSTEMS Communication Models and their Layered Implementation 1. Communication System: Layered Implementation 2. Network
More informationCommunication. Overview
Communication Chapter 2 1 Overview Layered protocols Remote procedure call Remote object invocation Message-oriented communication Stream-oriented communication 2 Layered protocols Low-level layers Transport
More informationSlides for Chapter 5: Remote Invocation
Slides for Chapter 5: Remote Invocation From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, Addison-Wesley 2012 Text extensions to slides David E. Bakken,
More informationStructured communication (Remote invocation)
Prof. Dr. Claudia Müller-Birn Institute for Computer Science, Networked Information Systems Structured communication (Remote invocation) Nov 8th, 2011 Netzprogrammierung (Algorithmen und Programmierung
More informationISO/IEC INTERNATIONAL STANDARD
INTERNATIONAL STANDARD ISO/IEC 19500-2 This is a preview of "ISO/IEC 19500-2:2012". Click here to purchase the full version from the ANSI store. Second edition 2012-04-15 Information technology Object
More information1.264 Lecture 16. Legacy Middleware
1.264 Lecture 16 Legacy Middleware What is legacy middleware? Client (user interface, local application) Client (user interface, local application) How do we connect clients and servers? Middleware Network
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 informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction
More informationDistributed Environments. CORBA, JavaRMI and DCOM
Distributed Environments CORBA, JavaRMI and DCOM Introduction to CORBA Distributed objects A mechanism allowing programs to invoke methods on remote objects Common Object Request Broker middleware - works
More informationAdvanced Distributed Systems
Course Plan and Department of Computer Science Indian Institute of Technology New Delhi, India Outline Plan 1 Plan 2 3 Message-Oriented Lectures - I Plan Lecture Topic 1 and Structure 2 Client Server,
More informationToday CSCI Remote Method Invocation (RMI) Distributed Objects
Today CSCI 5105 Remote Method Invocation (RMI) Message-oriented communication Stream-oriented communication Instructor: Abhishek Chandra 2 Remote Method Invocation (RMI) RPCs applied to distributed objects
More informationAnalysis of Passive CORBA Fault Tolerance Options for Real-Time Applications Robert A. Kukura, Raytheon IDS Paul V. Werme, NSWCDD
Analysis of Passive CORBA Fault Tolerance Options for Real-Time Applications Robert A. Kukura, Raytheon IDS Paul V. Werme, NSWCDD PASSIVE CORBA FAULT TOLERANCE All clients send method invocations only
More informationCommunication Paradigms
Communication Paradigms Nicola Dragoni Embedded Systems Engineering DTU Compute 1. Interprocess Communication Direct Communication: Sockets Indirect Communication: IP Multicast 2. High Level Communication
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 informationRemote Invocation. Today. Next time. l Overlay networks and P2P. l Request-reply, RPC, RMI
Remote Invocation Today l Request-reply, RPC, RMI Next time l Overlay networks and P2P Types of communication " Persistent or transient Persistent A submitted message is stored until delivered Transient
More informationOverview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host
Distributed Software Architecture Using Middleware Mitul Patel 1 Overview Distributed Systems Middleware What is it? Why do we need it? Types of Middleware Example Summary 2 Distributed Systems Components
More informationIIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol
IIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol My Articles: Home Networking Wearable Computing IIOP Meet My Friend Intelligent Agents We are
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 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 informationpresentation DAD Distributed Applications Development Cristian Toma
Lecture 9 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 informationObject-based distributed systems. INF 5040/9040 autumn Lecturer: Frank Eliassen
Object-based distributed systems INF 5040/9040 autumn 2010 Lecturer: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan Request-response protocols Characteristics of distributed objects Communication
More informationMODELS OF DISTRIBUTED SYSTEMS
Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between
More informationUNIT 4 CORBA 4/2/2013 Middleware 59
UNIT 4 CORBA 4/2/2013 Middleware 59 CORBA AN OBJECT ORIENTED RPC MECHANISM HELPS TO DEVELOP DISTRIBUTED SYTEMS IN DIFF. PLATFORMS OBJECTS WRITTEN IN DIFF., LANG, CAN BE CALLED BY OBJECTS WRITTEN IN ANOTHER
More informationChapter 5: Remote Invocation. Copyright 2015 Prof. Amr El-Kadi
Chapter 5: Remote Invocation Outline Introduction Request-Reply Protocol Remote Procedure Call Remote Method Invocation This chapter (and Chapter 6) Applications Remote invocation, indirect communication
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 informationCommunication. Outline
COP 6611 Advanced Operating System Communication Chi Zhang czhang@cs.fiu.edu Outline Layered Protocols Remote Procedure Call (RPC) Remote Object Invocation Message-Oriented Communication 2 1 Layered Protocols
More informationDistributed Systems COMP 212. Lecture 15 Othon Michail
Distributed Systems COMP 212 Lecture 15 Othon Michail RPC/RMI vs Messaging RPC/RMI great in hiding communication in DSs But in some cases they are inappropriate What happens if we cannot assume that the
More informationC 1. Recap: Finger Table. CSE 486/586 Distributed Systems Remote Procedure Call. Chord: Node Joins and Leaves. Recall? Socket API
Recap: Finger Table Finding a using fingers CSE 486/586 Distributed Systems Remote Procedure Call Steve Ko Computer Sciences and Engineering University at Buffalo N102" 86 + 2 4! N86" 20 +
More informationKINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK
KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR 2011 2012(ODD SEMESTER) QUESTION BANK SUBJECT CODE / NAME: IT1402-MIDDLEWARE TECHNOLOGIES YEAR/SEM : IV / VII UNIT
More informationIntegrating Fragmented Objects into a CORBA Environment
Integrating ed Objects into a CORBA Environment Hans P. Reiser 1, Franz J. Hauck 2, Rüdiger Kapitza 1, and Andreas I. Schmied 2 1 Dept. of Distributed Systems and Operating System, University of Erlangen-
More informationDistributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1
Distributed Systems Architectures Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1 Objectives To explain the advantages and disadvantages of different distributed systems architectures
More informationIndirect Communication
Indirect Communication Today l Space and time (un)coupling l Group communication, pub/sub, message queues and shared memory Next time l Distributed file systems xkdc Indirect communication " Indirect communication
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 4: Operating System Support Processes and
More informationCSci Introduction to Distributed Systems. Communication: RPC
CSci 5105 Introduction to Distributed Systems Communication: RPC Today Remote Procedure Call Chapter 4 TVS Last Time Architectural styles RPC generally mandates client-server but not always Interprocess
More informationCHAPTER 2. Introduction to Middleware Technologies
CHAPTER 2. Introduction to Middleware Technologies What is Middleware? General Middleware Service Specific Middleware Client/Server Building blocks RPC Messaging Peer to Peer Java RMI. BHUSHAN JADHAV 1
More information3C05 - Advanced Software Engineering Thursday, April 29, 2004
Distributed Software Architecture Using Middleware Avtar Raikmo Overview Middleware What is middleware? Why do we need middleware? Types of middleware Distributed Software Architecture Business Object
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 informationChapter 2 Architectures. Software Architectures
Chapter 2 Architectures Software architectures of distributed systems System architectures of distributed systems 1 Software Architectures Software architecture describes how the software components are
More informationCS454/654 Midterm Exam Fall 2004
CS454/654 Midterm Exam Fall 2004 (3 November 2004) Question 1: Distributed System Models (18 pts) (a) [4 pts] Explain two benefits of middleware to distributed system programmers, providing an example
More informationChapter 4 Communication
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI
More information02 - Distributed Systems
02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/58 Definition Distributed Systems Distributed System is
More informationCA464 Distributed Programming
1 / 25 CA464 Distributed Programming Lecturer: Martin Crane Office: L2.51 Phone: 8974 Email: martin.crane@computing.dcu.ie WWW: http://www.computing.dcu.ie/ mcrane Course Page: "/CA464NewUpdate Textbook
More information02 - Distributed Systems
02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/60 Definition Distributed Systems Distributed System is
More informationDistributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems?
UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems? 2. What are different application domains of distributed systems? Explain. 3. Discuss the different
More informationDistributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.
Distributed systems Distributed Systems Architectures Virtually all large computer-based systems are now distributed systems. Information processing is distributed over several computers rather than confined
More informationDistributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition.
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science Room R4.20, steen@cs.vu.nl Chapter 01: Version: February 21, 2011 1 / 26 Contents Chapter 01: 02: Architectures
More informationDistributed Systems Lecture 2 1. External Data Representation and Marshalling (Sec. 4.3) Request reply protocol (failure modes) (Sec. 4.
Distributed Systems Lecture 2 1 Today s Topics External Data Representation and Marshalling (Sec. 4.3) Request reply protocol (failure modes) (Sec. 4.4) Distributed Objects and Remote Invocations (5.1)
More informationMiddleware in Context: 2016 David E. Bakken. Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 30, 2019
Middleware in Context Prof. Dave Bakken Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 30, 2019 Sources of Info D. Bakken, Middleware, unpublished article (from an Encyclopedia of Distributed
More informationChallenges in component based programming. Lena Buffoni
Challenges in component based programming Lena Buffoni Challenge: Size & complexity Software is everywhere and increasingly complex (embedded systems, internet of things ) Single products have become product
More informationCORBA CASE STUDY Introduction 20.2 CORBA RMI 20.3 CORBA services 20.4 Summary
20 CORBA CASE STUDY 20.1 Introduction 20.2 CORBA RMI 20.3 CORBA services 20.4 Summary CORBA is a middeware design that allows application programs to communicate with one another irrespective of their
More informationRemote Invocation. 1. Introduction 2. Remote Method Invocation (RMI) 3. RMI Invocation Semantics
Remote Invocation Nicola Dragoni Embedded Systems Engineering DTU Informatics 1. Introduction 2. Remote Method Invocation (RMI) 3. RMI Invocation Semantics From the First Lecture (Architectural Models)...
More informationProblems with the specification lead to new specifications, forcing vendors to
CORBA Distributed object-based system Common Object Request Broker Architecture (CORBA) CORBA is a specification of a distributed system. There are no suggestions made about the implementation of the middleware
More informationDistributed Systems Principles and Paradigms. Chapter 01: Introduction
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science Room R4.20, steen@cs.vu.nl Chapter 01: Introduction Version: October 25, 2009 2 / 26 Contents Chapter
More informationChapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS Distributed Objects Figure 10-1. Common organization of a remote
More informationCS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University
CS 555: DISTRIBUTED SYSTEMS [RPC & DISTRIBUTED OBJECTS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey XDR Standard serialization
More information03 Remote invoaction. Request-reply RPC. Coulouris 5 Birrel_Nelson_84.pdf RMI
03 Remote invoaction Request-reply RPC Coulouris 5 Birrel_Nelson_84.pdf RMI 2/23 Remote invocation Mechanisms for process communication on a Built on top of interprocess communication primitives Lower
More informationArchitectural Design Outline
Architectural Design Outline Prev lecture general design principles. design Today architectural 1. What is a software architecture 2. Components, Connectors, and Configurations 3. Modeling Architectures:
More information