Architecture of the Object Oriented ARC framework for C# over .NET
- T. Vamsi Kalyan & R.K. Joshi
Department of Computer Science and Engineering IIT Bombay
Project sponsored by Microsoft A Presentation for SoDA, Jan 2004, Taj West End Bangalore
Architecture of the Object Oriented ARC framework for C# over .NET - - PowerPoint PPT Presentation
Architecture of the Object Oriented ARC framework for C# over .NET T. Vamsi Kalyan & R.K. Joshi Department of Computer Science and Engineering IIT Bombay Project sponsored by Microsoft A Presentation for SoDA, Jan 2004, Taj West End
Project sponsored by Microsoft A Presentation for SoDA, Jan 2004, Taj West End Bangalore
UserProgram
IMyObj Factory Container ARCObject
NodeAdmin Program
UserLevel
.NET Remoting Infrastructure
Call Services Call Services Call Services Asynchronous Notify
ARCObject Proxy Layer ARC Kernel Layer Communication Kernel Services ARC Proxy Layer ARC Services
NodeAdmin Services Services ARC Object
Join Service Registration Service Migration Service HPF Service ObjectArrival Intimation Service
Developer Services
Translated UserInterface
Acquire Proxy RealObj
ARC User Upper Layer ARC User Lower Layer Layer
Service Auto Execution Fault Tolerance & Leave Service Activation & Trigger Service
:logical ring :a node not in the ARC logical ring :LAN Network :a node in the ARC logical ring ARC Sotware Components ARC Sotware Components ARC Sotware Components ARC Sotware Components ARC Sotware Components <<TCP .NET Remoting>> <<TCP .NET Remoting>> <<TCP .NET Remoting>> <<TCP .NET Remoting>> <<TCP .NET Remoting>> ARC Network
«interface»
IContainer Container Factory
+New(): IMyObj «interface»
IPushCommand
+push(machine:HPFValue): int «interface»
IMyObject
+myOperation(param:type): type
UserProgram PContainer
«implementation» 2 «instantiate» «interface»
IRefCount
+IncRefCount(): void +DecRefCount(): void +RefCount(): int «use» «use» «interface»
ISync
+Sync(): void +GracefulRetract(): void +connect() «interface»
IMigratable
To Interfaces IMYObject, IPushRequest
Proxy PReal Activator (.NET Remoting)
+GetObject(): Object «interface»
ITrigger
+Trigger(): void +OnReturn(): void +OnRetract(): void «interface»
IRealUtil
+isRetractonSet(): bool +RegisterForRemoteAccess(): void «interface»
IMyObject
+myOperation(param:type): type
Nonoriginator Context Real
«instantiate» «implementation» «interface»
IRefCount
+IncRefCount(): void +DecRefCount(): void +RefCount(): int «use» «use» «use» «interface»
IMigratable
«interface»
IPushRequest
+push(machine:HPFValue): int
Container at Originator
«use»
FrontEndReal
«use» To MarshalByRefObject, IMyObjectMigratable, IFronEndRealUtil, PFrontEndReal
ARC Node CodeMotion Server .dll Name Server .dll Object Server .dll Join Class.cs FTS Service .dll ARC System .dll HPF Server .dll StartUp Program Config File User Program
Name Server Code Motion Server Startup Program FTSServer ObjectServer JoinServer HPFServer ARCSystem
– Anonymity – Mobility and distribution of objects – Service orientation at interface and interaction level – Object orientation at design and implementation level – OOAD process followed for development
– Tested using four Windows 2000 workstations.
programmer’s concerns while building service oriented and object-