.NET Remoting A Distributed Application Cookbook.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

COS 461 Fall 1997 Network Objects u first good implementation: DEC SRC Network Objects for Modula-3 u recent implementation: Java RMI (Remote Method Invocation)
RPC Robert Grimm New York University Remote Procedure Calls.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
C# and Windows Programming Application Domains and Remoting.
Remote Method Invocation
Company LOGO Remote Method Invocation Georgi Cholakov, Emil Doychev, University of Plovdiv “Paisii.
Remote Object Invocation
FONG CHAN SING (143334) WONG YEW JOON (143388). JAVA RMI is a distributive system programming interface introduced in JDK 1.1. A library that allows an.
Distributed Systems Lecture #3: Remote Communication.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Distributed Systems Tutorial 2 -.NET Remoting. 2 What is Remoting?  Remoting allows you to pass objects or values across servers in different domains.
.NET Deployment Matt Smouse CSE775 – Distributed Objects Spring 2003.
Communication in Distributed Systems –Part 2
Client-Server Communication Sockets Remote Procedure Calls Remote Method Invocation (Java)
An Introduction to Internetworking. Algorithm for client-server communication with UDP (connectionless) A SERVER A CLIENT Create a server-socket (listener)and.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
CSCI 6962: Server-side Design and Programming Web Services.
+ A Short Java RMI Tutorial Usman Saleem
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
Copyright © 2003, developerLabs Extending.NET Distributed Applications Stephen Fulcher developerLabs.
A Distributive Server Alberto Pareja-Lecaros. Introduction Uses of distributive computing - High powered applications - Ever-expanding server so there’s.
Java Remote Method Invocation RMI. Idea If objects communicate with each other on one JVM why not do the same on several JVM’s? If objects communicate.
Systems Prog. & Script. - Heriot Watt Univ 1 Systems Programming & Scripting Lecture 11: The Distributed Object Model.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
CSE 451: Operating Systems Winter 2015 Module 22 Remote Procedure Call (RPC) Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
.Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003.
CORBA_1/001 Department of Computer Science Southern Illinois University Edwardsville Spring, 2010 Dr. Hiroshi Fujinoki CORBA:
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
Remote Method Invocation by James Hunt, Joel Dominic, and Adam Mcculloch.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Chap 35 Remote Procedure Calls RPC allows one host to make a procedure call that appears to be part of a local process (fig 35.1), but is really executed.
Remote Method Invocation A Client Server Approach.
Distributed Computing in Life Science Research -Presenter: Yijian Yang
Distributed objects and remote invocation Pages
UMBC Distributed Computing with Objects RMI/Corba CMSC 432 Shon Vick.
1 RMI Russell Johnston Communications II. 2 What is RMI? Remote Method Invocation.
Java Distributed Object Model A remote object is one whose methods can be invoked from another JVM on a different host. It implements one or more remote.
Distributed programming in Java Faculty:Nguyen Ngoc Tu Session 5 - RMI.
1 Nordjyllands Erhvervakademi Net Remoting Architecture Marshalling –Marshalling By Reference(MBR) –Marshalling By Value(MBV) Activation by MBR.
CC P ROCESAMIENTO M ASIVO DE D ATOS O TOÑO 2016 Lab 2: Mensaje Aidan Hogan
Distributed Web Systems Distributed Objects and Remote Method Invocation Lecturer Department University.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Presented by: Ramaswamy Krishnan-Chittur
Principles of Software Development
Lecture 7: Android Services
Remote Method Invocation
Matt Smouse CSE775 – Distributed Objects Spring 2003
Presented by: Ramaswamy Krishnan-Chittur
CSE 451: Operating Systems Winter 2006 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Creating a Distributed System with RMI
CSE 451: Operating Systems Autumn 2003 Lecture 16 RPC
CSE 451: Operating Systems Winter 2007 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Remote Procedure Call (invocation) RPC
CSE 451: Operating Systems Winter 2004 Module 19 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Creating a Distributed System with RMI
Creating a Distributed System with Remote Procedure Calls and Web Services Ch.5 B.Ramamurthy 2/17/2019 B.Ramamurthy.
CSE 451: Operating Systems Spring 2012 Module 22 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Autumn 2009 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Creating a Distributed System with RMI
Lecture 6: RPC (exercises/questions)
CSE 451: Operating Systems Autumn 2010 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Lecture 6: RPC (exercises/questions)
Lecture 7: RPC (exercises/questions)
CSE 451: Operating Systems Winter 2003 Lecture 16 RPC
Matt Smouse CSE775 – Distributed Objects Spring 2003
Creating a Distributed System with RMI
CSE 451: Operating Systems Messaging and Remote Procedure Call (RPC)
Matt Smouse CSE775 – Distributed Objects Spring 2003
Interception Demonstration
Presentation transcript:

.NET Remoting A Distributed Application Cookbook

Agenda Brief overview of Remoting Technicalities for creating a distributed application based on Remoting Examples will be uploaded to the course site

Remoting RMI – Remote Method Invocation (JAVA) RPC – Remote Procedure Call (.NET) ClientServer Object f h yf(x) Remote invocation Standard development syntax On runtime transparent to client Costumizable!

Step 1 – Miscellaneous Create three modules –A client module Holds client code Will ultimately run the client process (console application) –A server module Holds server code Will ultimately run the server process (console application) –A common library This module contains all the declarations\definitions that are common to the client and the server (DLL)

Step 2 – Creating the remote object -In the common library module Declare an interface exposing your remote objects methods -In the server module, declare the object’s class extending MarshalByRefObject and implementing the interface

Step 3 – Hosting the object The object is hosted in the server process Programmatically: Using a configuration file SoapServerFormatterSinkProvider server = new SoapServerFormatterSinkProvider(); server.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full; IDictionary prop = new Hashtable(); prop["port"] = 9999; ChannelServices.RegisterChannel(new HttpChannel(prop, null, server), false); RemotingConfiguration.RegisterWellKnownServiceType( Type.GetType("Server.Program, Server"), "Service", WellKnownObjectMode.Singleton);

Step 4 – Instantiation at the client The object is instantiated and accessed in the client process Programmatically: Using a configuration file SoapServerFormatterSinkProvider server = new SoapServerFormatterSinkProvider(); server.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full; IDictionary prop = new Hashtable(); prop["port"] = 0; //listens on an arbitrary port ChannelServices.RegisterChannel(new HttpChannel(prop, null, server), false); Common.IService service = (Common.IService)Activator.GetObject(typeof(Common.IService), "

Custom Sinks A class implemeting the sink – Extend BaseChannelSinkWithProperties – Implement IClientChannelSink or IserverChannelSink –Implement IMessageSink if placed before the formater sink A sink provider class –Implementing IClientChannelSinkProvider or IServerChannelSinkProvider –Actually passed to the channel