Upload
roland-smith
View
214
Download
1
Embed Size (px)
Citation preview
.Net Remoting.Net RemotingThe Other RPC ArchitectureThe Other RPC Architecture
Doug GregoryDoug GregoryOctober 27, 2003October 27, 2003
Available .Net RPC Available .Net RPC ArchitecturesArchitectures
Web ServicesWeb Services
System.Net Namespace – Protocols, System.Net Namespace – Protocols, Sockets, etc.Sockets, etc.
.Net Remoting.Net Remoting
.Net Remoting .Net Remoting ArchitectureArchitecture
Object1
App Domain 1
Object2
App Domain 2
The Simple View
.Net Remoting .Net Remoting ArchitectureArchitecture
Object 1
Transparent
Real
SerializersFormatter Sink
Transport Sink
Channels
Custom Sink
Proxy
Object 2
Transparent
Real
Formatter Sink
Transport Sink
Channels
Custom Sink
Proxy
+ Activation Type + By Ref / Value
The Not-So-Simple View
Sponsors &Leases
.Net Remoting Options.Net Remoting Options
By Reference or By ValueBy Reference or By Value Activation TypeActivation Type Serialization FormatSerialization Format Security optionsSecurity options Extended Channels, Channel Sinks, Extended Channels, Channel Sinks,
ProxyProxy
Remoting an ObjectRemoting an Object
Remote Object inherits from Remote Object inherits from MarshalByRefObjectMarshalByRefObject
Server Registers ChannelServer Registers Channel Server Registers ObjectsServer Registers Objects Client Registers ChannelClient Registers Channel Client Creates Object and makes Client Creates Object and makes
call(s)call(s)
.Net Remoting Activation.Net Remoting Activation
Server Activated, Single CallServer Activated, Single Call
Server Activated, SingletonServer Activated, Singleton
Client ActivatedClient Activated
Client-ActivatedClient-Activated
ClientObject
ServerObject
“Owned” instance
ClientObject
ServerObject
Server Activated, Single Server Activated, Single CallCall
ClientObject
ServerObject
ServerObject
Single Calls
Server Activated, Server Activated, SingletonSingleton
ClientObject
ClientObject
Single Instance
ServerObject
ClientObject
ConclusionConclusion
Keep it Simple
Expand when needed
Think Architecture
Additional ResourcesAdditional Resources ““An Introduction to Microsoft .Net Remoting Framework”, July 2001 (Beta 2 code)An Introduction to Microsoft .Net Remoting Framework”, July 2001 (Beta 2 code)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/hawkremoting.asphawkremoting.asp
““Basic Remoting Task List”Basic Remoting Task List”http://msdn.microsoft.com/library/default.asp?url=/library/en-us/http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconBasicRemotingTaskList.aspcpguide/html/cpconBasicRemotingTaskList.asp
““Design and Develop Seamless Distributed Applications for the Common Language Design and Develop Seamless Distributed Applications for the Common Language Runtime”, MSDN Magazine, October 2002Runtime”, MSDN Magazine, October 2002http://msdn.microsoft.com/msdnmag/issues/02/10/NETRemoting/http://msdn.microsoft.com/msdnmag/issues/02/10/NETRemoting/
““Microsoft .Net Remoting: A Technical Overview”, July 2001 (Beta 2 code)Microsoft .Net Remoting: A Technical Overview”, July 2001 (Beta 2 code)http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/hawkremoting.asphawkremoting.asp
““.Net Remoting Architectural Assessment”.Net Remoting Architectural Assessment”hhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/dotnetremotearch.aspdndotnet/html/dotnetremotearch.asp