.NET Remoting Priyanka Bharatula.

Slides:



Advertisements
Similar presentations
.Net Remoting by James Stone. What is.Net Remoting? RemotingRemoting is a technology that allows.NET applications to communicate. Remoting Same machine,
Advertisements

Copyright © 2002 Landl Software, Inc. All Rights Reserved. Twin Cities.NET Users Group Next Meeting - Thursday, April 4, 2002 A Look Inside Reflection.
.NET Remoting in Delphi and C# Alain “Lino” Tadros President & CEO Falafel Software Inc. ComponentScience Inc. BORCON 2004.
.Net Remoting Pooja Panjala 06/17/10. Agenda What is.net Remoting? Explanation of terms Architecture Implementation of Remoting Sample example.net Security.
C# and Windows Programming Application Domains and Remoting.
.NET REMOTING CertSIG Tom Perkins. FUNDAMENTALS Distributed Applications Process A Process B Process C Objects can communicate across process boundaries.
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
1 Advanced Programming Topics - II Objectives:  Background  Remoting  Types of remoting  Marshalling  Farmatters  Channels.
Remote Method Invocation Chin-Chih Chang. Java Remote Object Invocation In Java, the object is serialized before being passed as a parameter to an RMI.
EEC-681/781 Distributed Computing Systems Lecture 5 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Distributed Systems Tutorial 2 -.NET Remoting. 2 What is Remoting?  Remoting allows you to pass objects or values across servers in different domains.
.NET Mobile Application Development Remote Procedure Call.
.NET Remoting Architecture. Slide 2 CITE 4420.NET Remoting Topics Remoting Boundaries Crossing the Boundaries Distributed Applications Marshalling Channels.
.Net Remoting. 2 Distributed Computing under.Net In.Net, there are three levels of access to distributed computing machinery: In.Net, there are three.
Presented by Robert Zaremba.  Remote messages must be sent to a message queue so that components are decoupled  Both sides of a communication must be.
Java RMI Essentials Based on Mastering RMI Rickard Oberg.
Develop Distributed Applications using.NET Remoting Kate Gregory Regional Director Gregory Consulting Limited
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 RMI.
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
.Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003.
Li Tak Sing COMPS311F. RMI callbacks In previous example, only the client can initiate a communication with the server. The server can only response to.
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
.NET Mobile Application Development XML Web Services.
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 File System. Outline Basic Concepts Current project Hadoop Distributed File System Future work Reference.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
.NET Remoting. Remoting Introduction The process of programs or components interacting across certain boundaries either different processes or machines.
A service Oriented Architecture & Web Service Technology.
Windows Communication Foundation and Web Services
Architecture Review 10/11/2004
Jim Fawcett CSE775 – Distributed Objects Spring 2003
Last Class: Introduction
Message-Passing Communication Analyzer By Poonam Bijlani CSE 775- Distributed Objects Prof. Jim Fawcett.
Prof. Leonardo Mostarda University of Camerino
WEB SERVICES.
MCA – 405 Elective –I (A) Java Programming & Technology
Presentation 23 .NET Remoting Introduced
Advanced .NET Programming II 10th Lecture
Distribution and components
Matt Smouse CSE775 – Distributed Objects Spring 2003
Distribution of functionality Webservice using WCF
Microsoft .NET Remoting Essentials
Windows Communication Foundation and Web Services
#01 Client/Server Computing
Client-Server Interaction
Knowledge Byte In this section, you will learn about:
Programming Models for Distributed Application
DISTRIBUTED COMPUTING
Web services, WSDL, SOAP and UDDI
Remote Procedure Call (RPC) Neil Tang 11/26/2008
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Creating a Distributed System with Remote Procedure Calls and Web Services Ch.5 B.Ramamurthy 2/17/2019 B.Ramamurthy.
Overview of RMI Architecture
Distribution Infrastructures
WebServices Using JAX-RPC
Student: Popa Andrei-Sebastian
WEB SERVICES From Chapter 19, Distributed Systems
J2EE Lecture 13: JMS and WebSocket
Chapter 42 Web Services.
A Scripting Server for Domain Automation Tasks
Objectives In this lesson, you will learn about:
Matt Smouse CSE775 – Distributed Objects Spring 2003
Jim Fawcett CSE791 – Distributed Objects Spring 2002
Matt Smouse CSE775 – Distributed Objects Spring 2003
#01 Client/Server Computing
Overview of RMI Architecture
Presentation transcript:

.NET Remoting Priyanka Bharatula

Introduction .NET Remoting allows an application to make an object available across remoting boundaries, which includes different appdomains, processes or even different computers connected by a network. The framework provides a number of services, including object activation and object lifetime support, as well as communication channels which are responsible for transporting messages to and from remote applications.

.NET Remoting Components A remotable object: Which is an object that contain some properties and methods located in one application domain and you need to call its methods or properties from another application domain or process. A host application: This is the host of the remotable object also called as the server application. The main task of this host is to listen to requests for the hosted remotable object. A client application: This is the application which makes requests for the remotable object.

Types of Remotable Objects There are 3 types of remotable objects that you can configure and choose from depending on the requirements of your application. Single Call: Service one and only one request coming in Singleton Call: Service multiple clients and is useful when data needs to be shared explicilty between several clients. Client Activation: Richer than singleton in many aspects as they can store the state information between method calls for its specific client.

.Net Remoting Basics Different Ways of defining interfaces: Shared Assembly Shared Interface or Base Objects Generated Metadata Assembly (SoapSuds) Serialization of Data: Encoding/Decoding of Objects natively supported Just need to mark such objects with [Serializable] attribute or implement the interface ISerializable Lifetime Management: Open network connection between client-server Combined reference counting and pinging mechanisms Objects get lifetime when created (reset: time-to-live) Sponsor registered with a server-side object Multiserver/Multiclient: .Net automatically keeps track of remote object’s origin

Remotable Types Marshal-by-value: - all serializable types. - can be used as parameters of remote calls where copy of the object is passed to the remote application. Marshal-by-object: - Types derived from System.MarshalByRefObject - A proxy is passed to the remote application where methods are executed remotely

Managing Life Time of an Object Lease-based object lifetime Each server-object associated with a lease on creation Lease has time-to-live counter, decremented in certain intervals In addition, a defined amount of time is added on every method call a client places on remote object Upon reaching zero time, framework looks for a sponsor registered with the lease.

Managing Life Time of an Object ... sponsor is an object running on sever itself, client or any machine reachable via a network An object subject to garbage collection if A sponsor decides lease will not be renewed Framework unable to contact any registered sponsors If a client references time out object, an exception is thrown System.Runtime.Remoting.Lifetime class

Channels Channels are responsible for passing messages across remoting boundaries. Channels must be registered before objects are created as per application domain. Two pre-defined .NET Remoting channels existing are the TcpChannel and the HttpChannel.

Remoting Architecture

Activation Server activated objects(SAO) : - constructed implicitly by the server when a method is invoked for the first time - can be either singleton/single call Client activated objects(CAO) : - constructed explicitly by the client using new or Activator.CreateInstance with an arbitrary constructor. - stateful objects

Types of Invocation Synchronous Calls Client waits until server finishes processing the request Asynchronous Calls Delegates at work One-Way Calls Framework does not guarantee their execution Method cannot have return values or out parameters No exception thrown even if server is down or the method call is malformed Used in uncritical logging or tracing facilities

.Net Remoting Vs Web Services XML Web Services simple, loosely coupled programming model. can be accessed only over HTTP and work in a stateless environment. services hosted in IIS. .Net Remoting Tightly coupled and more complex programming model. can be accessed over any protocol and support both stateful and stateless environments. services hosted in any AppDomain.

References Advanced .Net Remoting – Ingo Rammer & Mario http://www.thinktecture.com/ .Net Remoting Technical Overview http://msdn.microsoft.com/en-us/library/kwdt6w2k(VS.71).aspx .NET Remoting Versus Web Services http://www.developer.com/net/net/article.php/11087_2201701_1

Thank you