Distributed Technologies - overview & GIPSY Communication Procedure

Size: px
Start display at page:

Download "Distributed Technologies - overview & GIPSY Communication Procedure"

Transcription

1 DEPARTMENT OF COMPUTER SCIENCE CONCORDIA UNIVERSITY Distributed Technologies - overview & GIPSY Communication Procedure by Emil Vassev June 09, 2003

2 Index 1. Distributed Applications 2. Distributed Component Object Model (DCOM) 3..NET Remoting 4. Common Object Request Broker Architecture (CORBA) 5. Java Intelligence Network Infrastructure (JINI) 6. GIPSY Communication Procedure June 09, 2003 Distributed Technologies 2

3 Distributed Applications Applications, which by their very nature are distributed across multiple computers. When the use of distributed applications is a necessity? The data used by the application is distributed. The computation is distributed. The users of the application are distributed. June 09, 2003 Distributed Technologies 3

4 Distributed Applications Fundamental Realities of Distributed Systems Basic differences between objects that are co-located in the same process, and objects that interact across process or machine boundaries Co-located Distributed Communication Fast Slow Failures Objects fail together Objects fail separately Network can partition Concurrent access Only with multiple threads Yes Secure Yes No Distributed Object Systems All system s entities are modeled as objects. June 09, 2003 Distributed Technologies 4

5 Distributed Component Object Model (DCOM) by Emil Vassev What is COM? COM is a general software architecture developed by Microsoft that provides a framework for integrating software components. COM defines a Binary standard for components interoperability. Two principle COM features: COM uses globally unique identifiers - class identifiers (CLSIDs) - to uniquely identify each COM object. CLSIDs are 128-bit integers that are guaranteed to be unique in the world across space and time. COM objects interact with each other and with the system through collections of functions called interfaces. IClock IAlaram ITimer Clock Object IUnknown interface IDispatch interface Clock COM object interfaces June 09, 2003 Distributed Technologies 5

6 Distributed Component Object Model (DCOM) by Emil Vassev COM Architecture Client Process Client In-process object In-process server Local Object Proxy COM Remote Object Proxy LPC RPC Local Server Process Stub COM Remote Server Process Remote Machine Local object Local server Local object Stub Local server COM June 09, 2003 Distributed Technologies 6

7 Distributed Component Object Model (DCOM) by Emil Vassev COM Architecture COM defines how components and their clients interact. This interaction is defined such that the client and the component can connect without the need of any intermediary system component. The client calls methods in the component without any additional overhead. In-process COM Architecture Client Object COM components run in the same process June 09, 2003 Distributed Technologies 7

8 Distributed Component Object Model (DCOM) by Emil Vassev Out-of-process COM Architecture The processes are shielded from each other. A client that needs to communicate with a component in another process cannot call the component directly, but has to use some form of interprocess communication provided by the operating system. COM provides this communication in a completely transparent fashion: it intercepts calls from the client and forwards them to the component in another process. Client Process Local Server Process Client Local Object Proxy COM LPC Stub COM Local object Local server COM components in different processes June 09, 2003 Distributed Technologies 8

9 Distributed Component Object Model (DCOM) by Emil Vassev What is DCOM? Microsoft Distributed COM (DCOM) extends the Component Object Model (COM) to support communication among objects on different computers on a LAN, WAN, or the Internet. With DCOM, your application can be distributed on locations that make the most sense to your customer and to the application. Built on top of DCE RPC DCOM Architecture Remote COM Architecture DCOM: COM components on different machines June 09, 2003 Distributed Technologies 9

10 Distributed Component Object Model (DCOM) by Emil Vassev How do remote invocations work? When the client and component reside on different machines, DCOM simply replaces the local inter-process communication with a network protocol. Neither the client nor the component is aware that the wire that connects them has just become a little longer. The COM run-time uses RPC and the security provider to generate standard network packets that conform to the DCOM wire-protocol standard. COM Object invocation steps Client request. Server location. Object creation. Interaction. Disconnection Client Request Two methods to make a request: CoCreateInstance CoGetClassObject June 09, 2003 Distributed Technologies 10

11 Distributed Component Object Model (DCOM) by Emil Vassev Server Location Service Control Manager (SCM) - responsible for the location and execution of the COM server that implements the COM object. The actions, taken by the SCM, depend on the type of COM server: In-Process - The SCM returns the file path of the DLL containing the object server implementation. The COM library then loads the DLL, and asks it for its class factory interface pointer. Local - The SCM finds and starts the local EXE, which registers a class factory interface pointer. Remote - The local SCM contacts the SCM running on the appropriate remote computer, and forwards the request to the remote SCM. The remote SCM obtains a class factory interface pointer in one of the two ways described above (in-process or local). The remote SCM then maintains a connection to that class factory, and returns an RPC connection to the local SCM. June 09, 2003 Distributed Technologies 11

12 Distributed Component Object Model (DCOM) by Emil Vassev Object Creation Object Creation creates the object by given CLSID. It involves three internal steps: Obtain the class factory for the CLSID. Ask the class factory to instantiate an object of the class, and return an interface pointer to the COM client. Initialize the COM object. COM Client (1)CoGetClassObject (2) Return the new interf. pointer to the client COM SERVER Class Factory (2) Create the object (3) Initialize the object COM Object June 09, 2003 Distributed Technologies 12

13 Distributed Component Object Model (DCOM) by Emil Vassev Programming layer Define interface in IDL inherit from IUnknown Generate Proxy/Stub Implement server by class factory Take care of reference counting Server main program creates new class factory, signals an event and waits until objects get deleted by COM library Client uses CoCreateInstance() to create interface pointers QueryInterface() to access additional interfaces Make calls trough interface pointer June 09, 2003 Distributed Technologies 13

14 .NET Remoting What is.net Remoting? Microsoft.NET Remoting was introduced by Microsoft with the advent of.net and.net Framework..NET is a new distributed technology that allows programs and software components to interact across application domains, processes, and machine boundaries. Remoting allows you to pass objects or values across servers in different domains using several different protocols. Principle.NET Remoting Features:.NET Remoting Objects Communication Channels Formatters Leased based lifetime June 09, 2003 Distributed Technologies 14

15 .NET Remoting.NET Remoting Architecture.NET Remoting uses a flexible and extremely extensible architecture. Remoting uses the.net concept of an Application Domain (AppDomain) to determine its activity. An AppDomain is an abstract construct for ensuring isolation of data and code, but not having to rely on operating system specific concepts such as processes or threads. Client AppDomain Server AppDomain Client Proxy Dispatcher Server object Formatter Formatter Transport Channel June 09, 2003 Distributed Technologies 15

16 .NET Remoting.NET Remoting objects Any object outside the application domain of the caller should be considered remote, even if the objects are executing on the same machine. All local objects implement the ISerializable interface. An object can be changed into a remote object by deriving it from MarshalByRefObject interface. Two distinct types of.net Remoting objects Client-activated objects Server-activated objects Server-activated objects are stateless; client-activated objects hold state. June 09, 2003 Distributed Technologies 16

17 .NET Remoting Client-activated objects Server-side objects which creation and destruction is controlled by the client application Created by new operator or Activator.CreateInstance() Server-activated objects Single call Singleton The object's lifetime is managed by the remote server, not by the client that instantiates the object. Created by new or Activator.GetObject(). June 09, 2003 Distributed Technologies 17

18 .NET Remoting Proxy objects Created when a client activates a remote object Created locally, contains a list of all classes and interface methods of the remote object. Messages Used by the proxies as communication units. Implement the interface IMessage. Communication Channels Transfer mechanism that is used to pass calls between a client and a server. HTTP channel required choice for making calls to objects hosted in IIS.Uses SOAP, an XML-based protocol. TCP channel much faster (about 5x). Binary oriented. June 09, 2003 Distributed Technologies 18

19 .NET Remoting Formatters NET formatters encode and decode the messages between.net Applications and AppDomains. There are two native formatters provided by.net Remoting: Binary SOAP - Simple Object Access Protocol Leased base lifetime Leases are granted to remote objects. The lease has a lease time - when the lease reaches zero it expires and the object is disconnected June 09, 2003 Distributed Technologies 19

20 Common Object Request Broker Architecture (CORBA) by Emil Vassev What is CORBA? CORBA, or Common Object Request Broker Architecture, is a standard architecture for distributed object systems. CORBA specifies a system, which provides interoperability between objects in a heterogeneous, distributed environment and in a way transparent to the programmer. The actual CORBA specification is controlled by the Object Management Group (OMG). Principle CORBA Features: IDL Interfaces Object Request Broker (ORB) CORBA Services Dynamic & Static Invocation June 09, 2003 Distributed Technologies 20

21 Common Object Request Broker Architecture (CORBA) by Emil Vassev CORBA Architecture CORBA defines an architecture for distributed objects. The basic CORBA paradigm is the request for services of a distributed object. The services that an object provides are given by its interfaces. Interfaces are defined in OMG's Interface Definition Language (IDL). Distributed objects are identified by object references, which are presented by IDL interfaces. CORBA Client CORBA Object IDL Interface ORB Core CORBA Client-Object request June 09, 2003 Distributed Technologies 21

22 Common Object Request Broker Architecture (CORBA) by Emil Vassev CORBA Architecture Client Process Server Process CORBA Client CORBA Object Dynamic Inv. Interface IDL Stub ORB Interface ORB Interface Static IDL Skeleton Dynamic Skeleton Object Adapter Interface repository ORB Core Implement. repository June 09, 2003 Distributed Technologies 22

23 Common Object Request Broker Architecture (CORBA) by Emil Vassev Object Request Broker (ORB) The ORB is the distributed service that implements the request to the remote object. It locates the remote object on the network, communicates the request to the object, waits for the results and when available communicates those results back to the client. It acts like a transport channel between the client and remote object. Some ORB Functionalities Marshal parameters from one programming language (such as C++) to another language (such as Java); Handle security across your machine's local boundary; Retrieve and publish metadata on objects on the local system for another ORB; Invoke methods on a remote object using static method invocation described by a downloaded stub; Invoke methods on a remote object using dynamic method invocation; Automatically start objects that aren't currently up and running; Route callback methods to the appropriate local object that it is managing. June 09, 2003 Distributed Technologies 23

24 Common Object Request Broker Architecture (CORBA) by Emil Vassev CORBA Services CORBA defines a set of distributed services to support the integration and interoperation of distributed objects. These services, known as CORBA Services (COS), are defined on top of the ORB. They are defined as standard CORBA objects with IDL interfaces, sometimes referred to as "Object Services." IDL Interface IDL Interface IDL Interface IDL Interface IDL Interface Naming Events Relationships Trader Query ORB Core June 09, 2003 Distributed Technologies 24

25 Common Object Request Broker Architecture (CORBA) by Emil Vassev IDL Stub Used for static invocation. Dynamic Invocation Interface (DII) Dynamic Invocation Interface (DII) - allows the client to specify requests to objects which definition and interface are unknown at the client's compile time (late banding). ORB Interface An interface that goes directly to the ORB. Object Adapter (OA) Performs the communication between the object implementation and the ORB core. June 09, 2003 Distributed Technologies 25

26 Common Object Request Broker Architecture (CORBA) by Emil Vassev Static IDL Skeleton & Dynamic Skeleton CORBA uses the skeletons to receive and forward requests to objects on the server side. Interface Repository (IR) A CORBA service used by the clients for accessing objects which interface is not known at compile time.. Used by DII as database that provides persistent storage of object interface definitions (necessary for late binding). Used by ORB to perform requests Implementation Repository (IR) A CORBA service that allows the ORB to locate and activate implementations of objects. Used by Object Adapter. June 09, 2003 Distributed Technologies 26

27 Common Object Request Broker Architecture (CORBA) by Emil Vassev How do remote invocations work? 1. The client first obtains the object reference (Naming Service and the Trader Service). 2. The ORB localize the object on a remote machine. 3. The client side ORB and server side ORB must agree on a common protocol IIOP. 4. The server side ORB creates the object. 5. The object s ORB uses a skeleton to receive and forward requests to objects on the server side. Client Object Client Object Stub Skeleton Stub Skeleton IIOP ORB 1 Protocol ORB 2 ORB-ORB communication June 09, 2003 Distributed Technologies 27

28 Java Intelligence Network Infrastructure (JINI) What is Jini? A set of components that provides an infrastructure for federating (grouping) services; A programming model that supports and encourages the production of reliable distributed services; Services that can be made part of a federated Jini system and which offer functionality to any other member of the federation. June 09, 2003 Distributed Technologies 28

29 Java Intelligence Network Infrastructure (JINI) Jini Architecture Discovery-Join-Lookup protocols internal protocols used by Jini to perform the registration and use of the Jini enabled devices (Cell Phone etc.) or software applications as Jini Services. The devices should embed the necessary Jini (Java) code in order to be plugged into a Jini system. Jini Service Jini Service Lookup JINI Discovery Join Device JAVA Client Soft App June 09, 2003 Distributed Technologies 29

30 Java Intelligence Network Infrastructure (JINI) JINI Service - a key concept within the Jini architecture Services appear programmatically as objects written in Java programming language. A service has an interface that defines the operations that can be requested of that service. Jini Service Computation Storage Communication channel Software filter Hardware device Another user Examples of services: Devices - printers, displays, or disks; Software - applications or utilities; Information - databases and files; Users of the system. June 09, 2003 Distributed Technologies 30

31 Java Intelligence Network Infrastructure (JINI) How the services communicate each other? Service protocol - which is a set of interfaces written in the Java programming language RPC and RMI Communication between services can be accomplished by using Java Remote Method Invocation (RMI). RMI is a Java extension to the traditional Remote Procedure Call (RPC) mechanisms. RMI - the Java RPC standard it uses pure Java interfaces. RMI works on Java objects only. RMI allows not only data to be passed from object to object around the network but full objects, including code. Lookup Service Jini manages and handles different available services by using Lookup Service (LUS). Repository for the available services stores service proxies. Used by the clients to download the service proxies on demand. June 09, 2003 Distributed Technologies 31

32 Java Intelligence Network Infrastructure (JINI) Discovery, Join and Lookup Protocols A trio of protocols used by JINI to manage the services in a Jini system. Discovery process Process of finding lookup services. protocol. Multicast discovery for LAN. Unicast discovery for WAN. Both Jini services and clients use discovery LUS Network Service LUS Discovery Multicast Protocol LUS June 09, 2003 Distributed Technologies 32

33 Java Intelligence Network Infrastructure (JINI) Join Process Process of registering a Jini s service to all of the Lookup Services. Proxy Service - acts as a signature for the service to be joined. Consists of service object and service attributes. Discovery-Join Process Process of adding a service to a Jini system. LUS Jini Service Proxy Service Proxy Service Proxy Service Proxy Service Proxy Service Join Process A service provider registers its Proxy Service with the Lookup Service June 09, 2003 Distributed Technologies 33

34 Java Intelligence Network Infrastructure (JINI) Lookup Process and Service Invocation Process Lookup Process the client locates the service (by using its interface), by looking for it in LUS and takes a copy of its Proxy Service. Service Invocation Process - the client invokes the service and interact with it trough the Proxy Service. LUS Proxy Service Proxy Service Proxy Service Client Proxy Service Service Provider Jini Service June 09, 2003 Distributed Technologies 34

35 Java Intelligence Network Infrastructure (JINI) Programming models Distributed leasing Distributed Transactions Distributed Events Access to many of the services in the Jini system environment is lease based. A series of operations, either within a single service or spread among multiple services, can be wrapped in a transaction. The Jini architecture supports distributed events. An object may allow other objects to register interest in events in the object and receive a notification of the occurrence of such an event. This enables distributed event-driven programming. June 09, 2003 Distributed Technologies 35

36 Overall Architectural Framework Client Operation() Reply Top layer Server Client stub Middle layer Server stub Wire protocol Bottom layer Wire protocol Network June 09, 2003 Distributed Technologies 36

37 GIPSY Communication Procedure CP DCOM.NET Remoting CORBA JINI Network DCOM.NET Remoting CORBA JINI CP Worker Generator June 09, 2003 Distributed Technologies 37

38 Thank you! June 09, 2003 Distributed Technologies 38

CHAPTER 7 COM and.net

CHAPTER 7 COM and.net 1 CHAPTER 7 COM and.net Evolution of DCOM Introduction to COM COM clients and servers COM IDL & COM Interfaces COM Threading Models. Marshalling, Custom and standard marshalling. Comparison COM and CORBA.

More information

Outline. COM overview. DCOM overview. Comparison DCOM and Corba

Outline. COM overview. DCOM overview. Comparison DCOM and Corba DCOM Overview 1 Outline COM overview DCOM overview Comparison DCOM and Corba 2 COM overview Standard for component interoperability binary standard specifies how the component should be represented in

More information

Today: Distributed Objects. Distributed Objects

Today: 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 information

Distributed Objects. Object-Oriented Application Development

Distributed 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 information

Electronic Payment Systems (1) E-cash

Electronic 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 information

Distributed Middleware. Distributed Objects

Distributed 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 information

1.264 Lecture 16. Legacy Middleware

1.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 information

Lecture 5: Object Interaction: RMI and RPC

Lecture 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 information

Distributed Systems Principles and Paradigms

Distributed 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 information

CHAPTER - 4 REMOTE COMMUNICATION

CHAPTER - 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 information

KINGS 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 (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 information

CORBA (Common Object Request Broker Architecture)

CORBA (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 information

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Distributed 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 information

Distributed Environments. CORBA, JavaRMI and DCOM

Distributed 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 information

Chapter 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 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 information

RPC 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

RPC 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 information

Computer and Automation Research Institute Hungarian Academy of Sciences. Jini and the Grid. P. Kacsuk

Computer and Automation Research Institute Hungarian Academy of Sciences. Jini and the Grid. P. Kacsuk Computer and Automation Research Institute Hungarian Academy of Sciences Jini and the Grid P. Kacsuk Laboratory of Parallel and Distributed Systems MTA SZTAKI Research Institute kacsuk@sztaki.hu www.lpds.sztaki.hu

More information

Distributed 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. 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 information

What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform.

What 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 information

Message 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 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 information

Advanced Lectures on knowledge Engineering

Advanced 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 information

Lecture 06: Distributed Object

Lecture 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 information

Distributed Systems Middleware

Distributed Systems Middleware Distributed Systems Middleware David Andersson, 810817-7539, (D) Rickard Sandell, 810131-1952, (D) EDA 390 - Computer Communication and Distributed Systems Chalmers University of Technology 2005-04-30

More information

Chapter 4 Communication

Chapter 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 information

Lecture 16. What is COM? Principles of COM. COM Design Principles. Example (UML Diagram) Microsoft IDL (MIDL) COM/DCOM February 23, 2005

Lecture 16. What is COM? Principles of COM. COM Design Principles. Example (UML Diagram) Microsoft IDL (MIDL) COM/DCOM February 23, 2005 What is? Lecture 16 /D February 23, 2005 = Common Model. Platform-independent, distributed OO system for client-server implementations. objects can be created in a variety of languages (like CORBA). Not

More information

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University CORBA and COM TIP Two practical techniques for object composition X LIU, School of Computing, Napier University CORBA Introduction Common Object Request Broker Architecture (CORBA) is an industry-standard

More information

Distributed Systems. The main method of distributed object communication is with remote method invocation

Distributed 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 information

DS 2009: middleware. David Evans

DS 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 information

CAS 703 Software Design

CAS 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 information

Networks and Operating Systems Chapter 3: Remote Procedure Call (RPC)

Networks and Operating Systems Chapter 3: Remote Procedure Call (RPC) Systems Group Department of Computer Science ETH Zürich Networks and Operating Systems Chapter 3: Remote Procedure Call (RPC) Donald Kossmann & Torsten Höfler Frühjahrssemester 2013 DINFK, ETH Zürich.

More information

Chapter 3 Introduction to Distributed Objects

Chapter 3 Introduction to Distributed Objects Chapter 3 Introduction to Distributed Objects Distributed object support all of the properties of an object created in compiled object oriented language, namely,data and code encapsulation, polymorphism

More information

A Tutorial on The Jini Technology

A Tutorial on The Jini Technology A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far A Tutorial on The Jini Technology Lian Chen Introduction Jini network technology provides a simple

More information

Mohsin Qasim Syed Abbas Ali

Mohsin Qasim Syed Abbas Ali 2005-5-18 Final version Table of Content 1 -Introduction to CORBA...3 1.1 Overview...3 1.2 Why is CORBA important in a networked environment?... 4 1.3 HOW DOES CORBA WORKS?...4 1.4 CORBA Architecture...

More information

COMPONENT BASED TECHNOLOGY (IT-1401)

COMPONENT BASED TECHNOLOGY (IT-1401) COMPONENT BASED TECHNOLOGY (IT-1401) TWO MARK QUESTIONS: UNIT-I 1. Define software component. A software component is a system element offering a predefined serviceable to communicate with other components.

More information

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

MTAT 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 information

Agent 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 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 information

Chapter 16. Layering a computing infrastructure

Chapter 16. Layering a computing infrastructure : Chapter 16 by David G. Messerschmitt Layering a computing infrastructure Applications Application components Middleware Operating system Network 2 1 Spanning layer Application Distributed object management

More information

(D)COM Microsoft s response to CORBA. Alessandro RISSO - PS/CO

(D)COM Microsoft s response to CORBA. Alessandro RISSO - PS/CO (D)COM Microsoft s response to CORBA Alessandro RISSO - PS/CO Talk Outline DCOM What is DCOM? COM Components COM Library Transport Protocols, Security & Platforms Availability Services Based on DCOM DCOM

More information

Chapter 3: Naming Page 38. Clients in most cases find the Jini lookup services in their scope by IP

Chapter 3: Naming Page 38. Clients in most cases find the Jini lookup services in their scope by IP Discovery Services - Jini Discovery services require more than search facilities: Discovery Clients in most cases find the Jini lookup services in their scope by IP multicast/broadcast Multicast UDP for

More information

Apartments and COM Threading Models. Jim Fawcett CSE775 - Distributed Objects Spring 2008

Apartments and COM Threading Models. Jim Fawcett CSE775 - Distributed Objects Spring 2008 Apartments and COM Threading Models Jim Fawcett CSE775 - Distributed Objects Spring 2008 COM Marshaling Architecture Client Process Local Server Process In-Process Object In-Process Server stub Local Object

More information

ANSAwise - CORBA Interoperability

ANSAwise - 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 information

MONitoring Agents using a Large Integrated Services Architecture. Iosif Legrand California Institute of Technology

MONitoring Agents using a Large Integrated Services Architecture. Iosif Legrand California Institute of Technology MONitoring Agents using a Large Integrated s Architecture California Institute of Technology Distributed Dynamic s Architecture Hierarchical structure of loosely coupled services which are independent

More information

.NET. Inf 5040, Outline. Gyrd Brændeland, Sharath Babu Musunoori, Åshild Grønstad Solheim

.NET. Inf 5040, Outline. Gyrd Brændeland, Sharath Babu Musunoori, Åshild Grønstad Solheim .NET Inf 5040, 02.11.04 Gyrd Brændeland, Sharath Babu Musunoori, Åshild Grønstad Solheim Outline Introduction An overview of.net framework architecture More focus on.net core components.net features Web

More information

Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component

Limitations 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 information

COM+ OVERVIEW OF MICROSOFTS COM, DCOM AND COM+ COMPONENT TECHNOLOGIES DCOM - COM+ Peter R. Egli peteregli.net. peteregli.net. 1/20 Rev. 1.

COM+ OVERVIEW OF MICROSOFTS COM, DCOM AND COM+ COMPONENT TECHNOLOGIES DCOM - COM+ Peter R. Egli peteregli.net. peteregli.net. 1/20 Rev. 1. COM, DCOM - COM+ DCOM, COM+ OVERVIEW OF MICROSOFTS COM, DCOM AND COM+ COMPONENT TECHNOLOGIES Peter R. Egli 1/20 Contents 1. Evolution of COM 2. COM, DCOM, ActiveX, OLE, COM+ 3. Structure of COM Components

More information

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Software 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 information

Module 1 - Distributed System Architectures & Models

Module 1 - Distributed System Architectures & Models Module 1 - Distributed System Architectures & Models System Architecture Defines the structure of the system components identified functions of each component defined interrelationships and interactions

More information

Evolution of Service Oriented Architectures

Evolution of Service Oriented Architectures Evolution of Service Oriented Architectures Rushikesh K. Joshi Department of Computer Science & Engineering Indian Institute of Technology Bombay Email: rkj@cse.iitb.ac.in R.K.Joshi IIT Bombay 1 The Plan

More information

Web Services: A Bridge between CORBA and DCOM

Web Services: A Bridge between CORBA and DCOM Web Services: A Bridge between and DCOM Mohammed Mohsen AL-Khawlani Abstract In today s market, there are many distributed systems technologies and each technology has its own strengths and weaknesses.

More information

CORBA vs. DCOM. Master s Thesis in Computer Science

CORBA vs. DCOM. Master s Thesis in Computer Science Master s Thesis in Computer Science Preliminary version December 21, 2000 CORBA vs. DCOM Fredrik Janson and Margareta Zetterquist The Royal Institute of Technology Kungliga Tekniska Högskolan Examiner:

More information

JAYARAM. COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University)

JAYARAM. COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University) Estd: 1994 Department of Computer Science and Engineering Subject code : IT1402 Year/Sem: IV/VII Subject Name JAYARAM COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli - 621014 (An approved

More information

Implementing Remote Procedure Calls*

Implementing Remote Procedure Calls* Overview Implementing Remote Procedure Calls* Birrell, A. D. and Nelson, B. J. Brief introduction RPC issues Implementation Examples Current RPC implementations Presented by Emil Constantinescu Review

More information

CSci Introduction to Distributed Systems. Communication: RPC

CSci 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 information

A Report on RMI and RPC Submitted by Sudharshan Reddy B

A Report on RMI and RPC Submitted by Sudharshan Reddy B A Report on RMI and RPC Submitted by Sudharshan Reddy B Abstract: This report mainly explains the RMI and RPC technologies. In the first part of the paper the RMI technology is briefly explained and in

More information

RMI: Design & Implementation

RMI: 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 information

Distributed Programming with RMI. Overview CORBA DCOM. Prepared By: Shiba R. Tamrakar

Distributed 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 information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

Verteilte Systeme (Distributed Systems)

Verteilte 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 information

COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC)

COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC) COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC) 1 2 CONVENTIONAL PROCEDURE CALL (a) (b) Parameter passing in a local procedure call: the stack before the call to read. The stack while the called procedure

More information

Distributed Objects. Chapter Distributing Objects Overview

Distributed 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 information

IIOP: 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 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 information

Component models. Page 1

Component models. Page 1 Component Models and Technology Component-based Software Engineering Ivica Crnkovic ivica.crnkovic@mdh.se Page 1 Overview Introduction ACME Architectural Description Language Java Bean Component Model

More information

DISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: Lecture 7: Middleware. Slide 1. Slide 3. Message-oriented: MIDDLEWARE

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 information

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication

More information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: 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 information

Interprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5

Interprocess 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 information

Outline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4

Outline. 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 information

EECS 482 Introduction to Operating Systems

EECS 482 Introduction to Operating Systems EECS 482 Introduction to Operating Systems Fall 2017 Manos Kapritsos Slides by: Harsha V. Madhyastha Recap: Socket abstraction Machine 1 Machine 2 Process A Process B Process C socket 1 socket 2 socket

More information

Today: Distributed Middleware. Middleware

Today: 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 information

PROFESSOR: DR.JALILI BY: MAHDI ESHAGHI

PROFESSOR: 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 information

Towards a Web-centric Legacy System Migration Framework

Towards a Web-centric Legacy System Migration Framework Towards a Web-centric Legacy System Migration Framework Ying Zou and Kostas Kontogiannis Dept. of Electrical & Computer Engineering University of Waterloo Waterloo, ON, N2L 3G1, Canada {yzou, kostas}@swen.uwaterloo.ca

More information

Communication. Distributed Systems Santa Clara University 2016

Communication. 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 information

OO-Middleware. Computer Networking 2 DVGC02 Stefan Alfredsson. (slides inspired by Annika Wennström, Sören Torstensson)

OO-Middleware. Computer Networking 2 DVGC02 Stefan Alfredsson. (slides inspired by Annika Wennström, Sören Torstensson) OO-Middleware Computer Networking 2 DVGC02 Stefan Alfredsson (slides inspired by Annika Wennström, Sören Torstensson) Object oriented middleware Extendend mechanism for objects Objects consist of data

More information

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Chapter 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 information

Issues in selecting appropriate middleware

Issues in selecting appropriate middleware Issues in selecting appropriate middleware School of Computing, Dublin Institute of Technology, Kevin Street, Dublin 8, Ireland. Abstract As enterprises expand by acquiring other companies and by combining

More information

Distributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems?

Distributed 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 information

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010 Oracle Tuxedo CORBA Technical Articles 11g Release 1 (11.1.1.1.0) March 2010 Oracle Tuxedo CORBA Technical Articles, 11g Release 1 (11.1.1.1.0) Copyright 1996, 2010, Oracle and/or its affiliates. All rights

More information

COMERA: COM Extensible Remoting Architecture

COMERA: COM Extensible Remoting Architecture The following paper was originally published in the Proceedings of the 4th USENIX Conference on Object-Oriented Technologies and Systems (COOTS) Santa Fe, New Mexico, April 27-30, 1998 COMERA: COM Extensible

More information

Advanced Topics in Operating Systems

Advanced 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 information

Introduction to Web Services & SOA

Introduction to Web Services & SOA References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Service-Oriented Programming (SOP) SOP A programming paradigm that

More information

Performance comparison of DCOM, CORBA and Web service

Performance comparison of DCOM, CORBA and Web service Performance comparison of DCOM, CORBA and Web service SeongKi Kim School of Computer Science and Engineering Seoul National University, 56-1 Sinlim, Kwanak Seoul, Korea 151-742 Abstract - The distributed

More information

Overview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36

Overview. 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 information

REMOTE METHOD INVOCATION INTRODUCTION TO RMI, A JAVA API FOR RPC-STYLE INVOCATION OF REMOTE OBJECT METHODS

REMOTE METHOD INVOCATION INTRODUCTION TO RMI, A JAVA API FOR RPC-STYLE INVOCATION OF REMOTE OBJECT METHODS RMI Remote Method RMI Invocation REMOTE METHOD INVOCATION INTRODUCTION TO RMI, A JAVA API FOR RPC-STYLE INVOCATION OF REMOTE OBJECT METHODS Peter R. Egli 1/19 Contents 1. What is RMI? 2. Important RMI

More information

Distributed Systems Theory 4. Remote Procedure Call. October 17, 2008

Distributed Systems Theory 4. Remote Procedure Call. October 17, 2008 Distributed Systems Theory 4. Remote Procedure Call October 17, 2008 Client-server model vs. RPC Client-server: building everything around I/O all communication built in send/receive distributed computing

More information

Chapter 5: Distributed objects and remote invocation

Chapter 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 information

Distributed Object-Based. Systems. Chapter 9

Distributed 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 information

.NET XML Web Services

.NET XML Web Services .NET XML Web Services Bill Buchanan Date Title Kalani Unit 0: Introduction to.net - Unit 0: Introduction to.net - Unit 1: Creating/Manipulating Datasets Unit 1 Unit 1: Creating/Manipulating Datasets Unit

More information

Network Programming Primer. Quiz Chapter 16

Network Programming Primer. Quiz Chapter 16 Network Programming Primer Quiz Chapter 16 Distributed Computing Use for example in MMOs Distributed System a collection of autonomous hosts that are connected through a computer network. Each host executes

More information

Analysis 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 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 information

Interconnection of Distributed Components: An Overview of Current Middleware Solutions *

Interconnection of Distributed Components: An Overview of Current Middleware Solutions * Interconnection of Distributed Components: An Overview of Current Middleware Solutions * Susan D. Urban, Suzanne W. Dietrich, Akash Saxena, and Amy Sundermier Arizona State University Department of Computer

More information

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 22: Remote Procedure Call (RPC)

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 22: Remote Procedure Call (RPC) CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2002 Lecture 22: Remote Procedure Call (RPC) 22.0 Main Point Send/receive One vs. two-way communication Remote Procedure

More information

Contents. Java RMI. Java RMI. Java RMI system elements. Example application processes/machines Client machine Process/Application A

Contents. 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 information

Distributed Systems Principles and Paradigms. Distributed Object-Based Systems. Remote distributed objects. Remote distributed objects

Distributed 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 information

RPC. Remote Procedure Calls. Robert Grimm New York University

RPC. Remote Procedure Calls. Robert Grimm New York University RPC Remote Procedure Calls Robert Grimm New York University Assignments! You need (more) time for interoperability testing!! Your server should be running by midnight Sunday! Assignment 3 test case posted!

More information

Software Architecture Patterns

Software Architecture Patterns Software Architecture Patterns *based on a tutorial of Michael Stal Harald Gall University of Zurich http://seal.ifi.uzh.ch/ase www.infosys.tuwien.ac.at Overview Goal Basic architectural understanding

More information

Chapter 4. Internet Applications

Chapter 4. Internet Applications Chapter 4 Internet Application Protocols 1 Internet Applications! Domain Name System! Electronic mail! Remote login! File transfer! World Wide Web! All use client-server model 2 Names! Internet communication

More information

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Overview. 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 information

OO-Middleware. Computer Networking 2 DVGC02 Stefan Alfredsson. (slides inspired by Annika Wennström, Sören Torstensson)

OO-Middleware. Computer Networking 2 DVGC02 Stefan Alfredsson. (slides inspired by Annika Wennström, Sören Torstensson) OO-Middleware Computer Networking 2 DVGC02 Stefan Alfredsson (slides inspired by Annika Wennström, Sören Torstensson) Object oriented middleware Extendend mechanism for objects Objects consist of data

More information

UPnP Services and Jini Clients

UPnP Services and Jini Clients UPnP Services and Jini Clients Jan Newmarch School of Network Computing Monash University jan.newmarch@infotech.monash.edu.au Abstract UPnP is middleware designed for network plug and play. It is designed

More information

Introduction to Web Services & SOA

Introduction to Web Services & SOA References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Web Service Definition The term "Web Services" can be confusing.

More information