12
.Net Remoting .Net Remoting The Other RPC Architecture The Other RPC Architecture Doug Gregory Doug Gregory October 27, 2003 October 27, 2003

Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003

Embed Size (px)

Citation preview

Page 1: Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003

.Net Remoting.Net RemotingThe Other RPC ArchitectureThe Other RPC Architecture

Doug GregoryDoug GregoryOctober 27, 2003October 27, 2003

Page 2: Net Remoting The Other RPC Architecture Doug Gregory October 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

Page 3: Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003

.Net Remoting .Net Remoting ArchitectureArchitecture

Object1

App Domain 1

Object2

App Domain 2

The Simple View

Page 4: Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003

.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

Page 5: Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003

.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

Page 6: Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003

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)

Page 7: Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003

.Net Remoting Activation.Net Remoting Activation

Server Activated, Single CallServer Activated, Single Call

Server Activated, SingletonServer Activated, Singleton

Client ActivatedClient Activated

Page 8: Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003

Client-ActivatedClient-Activated

ClientObject

ServerObject

“Owned” instance

ClientObject

ServerObject

Page 9: Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003

Server Activated, Single Server Activated, Single CallCall

ClientObject

ServerObject

ServerObject

Single Calls

Page 10: Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003

Server Activated, Server Activated, SingletonSingleton

ClientObject

ClientObject

Single Instance

ServerObject

ClientObject

Page 11: Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003

ConclusionConclusion

Keep it Simple

Expand when needed

Think Architecture

Page 12: Net Remoting The Other RPC Architecture Doug Gregory October 27, 2003

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