REMOTE PROCEDURE CALL IMPLEMENTATION
Ex. No: Name: R Shiva
Date: Reg. No.: 30707104090
USE CASE DIAGRAM
extends
login details
login invalid login
client
extends
execute program
procedure not found
search procedure
client program client procedure
table
execute procedure
return
ip details
request conection
client system extends
check ip
invalid user server procedure
table
establish connection
server extends
serach procedure request procedure
includes
procedure not found
request termination return value
approve termination
SEQUENCE DIAGRAM:
REQUEST CONNECTION
client procedure table client system server ip details
procedure
1: search procedure
2: procedure not found
3: request connection
4: request connection
5: check ip address
6: valid address
7: authetication
8: accept request
SEARCH PROCEDURE
client program server server procedure
trable
1: reuqest procedure
2: search procedure
3: procedure found
4: execute
5: return value
EXECUTE PROCEDURE
client program server
procedure table
1: request procedure with parameter
2: sreach procedure
3: procedure found
4: execute
5: return value
ACTIVITY DIAGRAM
end user request
remote procedure call
bind/find server prepare data for
address transfer/marshalling
client sends
data to server
server receives
request
dispatcher chooses prepare data
function to execute for execution
result error
execute
function
return
result
CLASS DIAGRAM
<<Class Module>> <<Class Module>> <<Class Module>> <<Class Module>>
serverProcTable clientproctable logdetails ipdatabase
size : Variant size : Variant authorizedlist :...Variant ipaddr : Variant
location : Variant
... location : Variant
... clientid : Variant authorisedlist :...Variant
count : Variant count : Variant password : Variant
... size : Variant
procname : Variant
... procname : Variant
... location : Variant
...
search() count : Variant
search() search() validate()
serverproctable() clientproctable() logdetails() search()
authenticate()
ipdatabase()
<<Class Module>>
server
<<Class Module>> <<Class Module>>
ipaddr : Variant clientprog clientSys
count : Variant
processid : Variant
... ipaddr : Variant
approvetermination()
requestproc() requestConnection()
searchprocedure()
searchproc() requestTemination()
checkip()
clientprog() clientSys()
establishconnection()
server()
COLLABORATION DIAGRAM: REQUEST CONNECTION
3: request connection clientsystem
clientprogram
1: search procedure
2: procedure not found procedureTable
7: authentication
8: accept request
4: request connection
5: check ip
ipDetails
servers
6: valid address
COLLABORATION DIAGRAM: SEARCH PROCEDURE
5: execute
1: request procedure
client server
program
4: procedure found
6: return value
3: search
2: search procedure
server procedure
table
COLLABORATION DIAGRAM : EXECUTE PROCEDURE
4: execute
1: request procedure with parameters
client server
program
5: return the value
3: procedure found
2: search procedure
procedure
table
COMPONENT DIAGRAM
<<Standard EXE>>
User interface
Localised
processing
Server side
processing
DEPLOYMENT DIAGRAM
Client
User interface localised processing
Server
Server side processing
Clientproctable.cls
Option Explicit
'##ModelId=4CAD5F560138
Private size As Variant
'##ModelId=4CAD5F5A029F
Private location As Variant
'##ModelId=4CAD5F5D03C8
Private count As Variant
'##ModelId=4CAD5F5F0157
Private procname As Variant
'##ModelId=4CAD5F6403B9
Public Sub search()
End Sub
'##ModelId=4CAD5F66036B
Public Sub clientproctable()
End Sub
Ipdatabase.cls
Option Explicit
'##ModelId=4CAD5FFB009C
Private ipaddr As Variant
'##ModelId=4CAD5FFE0232
Private authorisedlist As Variant
'##ModelId=4CAD600303B9
Private size As Variant
'##ModelId=4CAD60050290
Private location As Variant
'##ModelId=4CAD600801B5
Private count As Variant
'##ModelId=4CAD602800CB
Public Sub search()
End Sub
'##ModelId=4CAD602C005D
Public Sub authenticate()
End Sub
'##ModelId=4CAD60350251
Public Sub ipdatabase()
End Sub
Logdetails.cls
Option Explicit
'##ModelId=4CAD5F8401F4
Private authorizedlist As Variant
'##ModelId=4CAD5FD6005D
Private clientid As Variant
'##ModelId=4CAD5FD803B9
Private password As Variant
'##ModelId=4CAD5FE10271
Public Sub search()
End Sub
'##ModelId=4CAD5FE503C8
Public Sub validate()
End Sub
'##ModelId=4CAD5FE802CE
Public Sub logdetails()
End Sub
Serverproctable.cls
Option Explicit
'##ModelId=4CAD5F220177
Private size As Variant
'##ModelId=4CAD5F2600AB
Private location As Variant
'##ModelId=4CAD5F3003D8
Private count As Variant
'##ModelId=4CAD5F3200EA
Private procname As Variant
'##ModelId=4CAD5F3A009C
Public Sub search()
End Sub
'##ModelId=4CAD5F3E030D
Public Sub serverproctable()
End Sub
Server.cls
Option Explicit
'##ModelId=4CAD604E00BB
Private ipaddr As Variant
'##ModelId=4CAD60510232
Private count As Variant
'##ModelId=4CAD60890196
Public Sub approvetermination()
End Sub
'##ModelId=4CAD609100DA
Public Sub searchprocedure()
End Sub
'##ModelId=4CAD6096007D
Public Sub checkip()
End Sub
'##ModelId=4CAD609A02AF
Public Sub establishconnection()
End Sub
'##ModelId=4CAD60A002DE
Public Sub server()
End Sub
Clientprog.cls
Option Explicit
'##ModelId=4CAD60B3037A
Private processid As Variant
'##ModelId=4CAD60C001D4
Public Sub requestproc()
End Sub
'##ModelId=4CAD60DD029F
Public Sub searchproc()
End Sub
'##ModelId=4CAD60E80261
Public Sub clientprog()
End Sub
Clientsys.cls
Option Explicit
'##ModelId=4CAD610B0290
Private ipaddr As Variant
'##ModelId=4CAD6117005D
Public Sub requestConnection()
End Sub
'##ModelId=4CAD611E02DE
Public Sub requestTemination()
End Sub
'##ModelId=4CAD612F0213
Public Sub clientSys()
End Sub