Net remoting architecture
Download
1 / 28

.NET Remoting Architecture - PowerPoint PPT Presentation


  • 143 Views
  • Uploaded on

.NET Remoting Architecture. Topics. Remoting Boundaries Crossing the Boundaries Distributed Applications Marshalling Channels Formatters Object Activation Leases. Remoting Boundaries. Windows Process Boundary Application Domain Boundary Crossing the Boundaries.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' .NET Remoting Architecture' - paloma


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Topics
Topics

  • Remoting Boundaries

  • Crossing the Boundaries

  • Distributed Applications

  • Marshalling

  • Channels

  • Formatters

  • Object Activation

  • Leases

.NET Remoting


Remoting boundaries
Remoting Boundaries

  • Windows Process Boundary

  • Application Domain Boundary

  • Crossing the Boundaries

.NET Remoting


Windows process boundary
Windows Process Boundary

  • Every Windows application runs in a separate process

  • Each process has its own virtual address space, executable code, data

  • Processes are isolated from one another – cannot access address space or code of other processes

.NET Remoting


Application domain boundary appdomain
Application Domain Boundary(AppDomain)

  • Created by CLR

  • Each AppDomain has its own code, data, and configuration settings

  • AppDomain cannot directly access code or data of another AppDomain

  • Code running in one AppDomain cannot affect other AppDomains

.NET Remoting


Crossing the boundaries
Crossing the Boundaries

  • .NET Remoting namespaces enable applications to cross these boundaries

  • System.Runtime.Remoting

    • Provides an abstraction of the ISO layers

    • Simple mechanism for inter-application domain communication

.NET Remoting


Crossing the boundaries cont d
Crossing the Boundaries (cont’d)

  • System.Web.Services

    • Classes that constitute the ASP.NET Web Services framework

    • Use SOAP, WSDL, UDDI

    • Simpler to use than .NET Remoting

.NET Remoting


Net remoting vs web services
.NET Remoting vs. Web Services

  • Use .NET Remoting when you have control of both end-points of a distributed application

  • Use Web Services when one end-point of a distributed application is not under your control

.NET Remoting


Distributed applications
Distributed Applications

  • The dominant architecture of modern applications

  • Components of the application are distributed across multiple processors, accessed via a network

.NET Remoting


Objectives of distributed applications
Objectives of Distributed Applications

  • Communicate between objects that run in different AppDomains and processes

  • Communicate between heterogeneous architectures

  • Ensure availability in spite of resource failure

  • Provide increased scalability and security

.NET Remoting


Net proxy objects
.NET Proxy Objects

Client

object

Server

object

Proxy

Remoting

System

Remoting

System

.NET Remoting


Object marshalling
Object Marshalling

  • The process of gathering and formatting data about an object for transmission across a network

  • Marshall-by-Reference (MBR)

  • Marshall-by-Value (MBV)

.NET Remoting


Channels
Channels

  • Provide abstraction of ISO layers programming

  • Objects that transport messages across remoting boundaries

  • Each channel has 2 end-points

  • Each channel is associated with a port number

  • .NET Framework provides HTTP and TCP channels

.NET Remoting


Http channels
HTTP Channels

  • Uses the HTTP protocol

  • Implemented through the classes of System.Runtime.Remoting.Channels.Http namespace

  • A channel is registered with the remoting framework

.NET Remoting


Tcp channels
TCP Channels

  • Uses TCP for establishing communication between end-points

  • Implemented through the classes of System.Runtime.Remoting.Channels.Tcp

.NET Remoting


Http vs tcp channels
HTTP vs. TCP Channels

  • HTTP: highly accessible through firewalls via port 80, bulky protocol, high overhead

  • TCP: limited accessibility through firewalls, very efficient packet structure, less secure

.NET Remoting


Formatters
Formatters

  • Objects that encode and serialize data into messages before transmission over a network

  • SOAP Formatter – XML-based protocol

  • Binary Formatter – used only within .NET applications

.NET Remoting


Channels and formatters
Channels and Formatters

  • The HTTP channel uses the SOAP formatter as its default formatter for the transport of messages across a network

  • The TCP channel uses the Binary Formatter as its default

.NET Remoting


Remote object activation
Remote Object Activation

  • Activation means instantiation

  • Applies only to MBR objects MBV objects are transferred to client side)

  • Two categories:

    • Server-activated objects

    • Client-activated objects

.NET Remoting


Server activated objects
Server-Activated Objects

  • Lifetime is controlled by server

  • Object is instantiated by a client request for service

  • Two activation modes:

    • SingleCall activation mode

    • Singleton activation mode

.NET Remoting


Singlecall activation mode
SingleCall Activation Mode

  • Object is instantiated on server for just one call from client, then destroyed

  • Does not maintain state across requests

  • Allows for greater server scalability

.NET Remoting


When to use singlecall activation
When to Use SingleCall Activation

  • Overhead of creating object is not great

  • Object is not required to maintain state

  • Server must support large number of requests

  • Object needs to be supported in a load-balancing environment

.NET Remoting


Singleton activation mode
Singleton Activation Mode

  • Only one instance of object is created, regardless of number of clients using it

  • Object can maintain state information across calls

  • State information is shared by all clients

  • Lifetime is determined by leases

.NET Remoting


When to use singleton activation
When to Use Singleton Activation

  • Overhead of creating object is substantial

  • Object is required to maintain state over a prolonged period

  • Multiple clients need to work on the shared state information

.NET Remoting


Client activated objects
Client-Activated Objects

  • Server-based objects whose lifetime is controlled by the client

  • Instantiated on the server when a client requests the object to be created

.NET Remoting


When to use client activated objects
When to Use Client-Activated Objects

  • Clients want to maintain a private session with the server object

  • Clients need to have control over when the objects are created and how long they live

.NET Remoting


Lifetime leases
Lifetime Leases

  • A lease defines the period of time an object is active in memory before destruction

  • Represented by an object defined in the System.Runtime.Remoting.Lifetime namespace

  • Applies only to Singleton SAO’s and CAO’s

.NET Remoting


How leases work
How Leases Work

  • A Lease Manager is created

  • Each time an object receives a call, the “CurrentLeaseTime” is renewed

  • When a lease expires, sponsors are contacted for renewal

  • When there are no renewal requests, object is marked for Garbage Collection

.NET Remoting


ad