150 likes | 340 Views
Request/Reply Communication. Aravind Venkataraman. Concept. Interprocess Communication Shared Memory Request/Reply Communication. Message Passing. Remote Procedure Call. Topics of Discussion. Request/Reply Communication Remote Procedure Call (RPC) RPC Architectural Model RPC Process
E N D
Request/Reply Communication Aravind Venkataraman
Concept Interprocess Communication Shared MemoryRequest/Reply Communication Message Passing Remote Procedure Call
Topics of Discussion • Request/Reply Communication • Remote Procedure Call (RPC) • RPC Architectural Model • RPC Process • RPC Communication Protocols • RPC Design issues • RPC Architectures/Implementations • RPC Industry Examples
Request/Reply Communication Design Issues • Synchronous vs. Asynchronous • Client-Server vs. P2P • LAN vs. Distributed Environment • Remote Procedure Call
RPC Communication Protocols [5] • Request [R] Protocol • Request Reply [RR] Protocol • Request Reply Acknowledgement [RRA]
RPC Design Issues[1,7] • Compiler – Interface Description Language (IDL), RPCGEN • Parameter passing • Security – Protected RPC
RPC Architectures/Implementations [4] • CORBA (Common Object Request Broker Architecture) • DCOM (Distributed Component Object Model) • Java RMI (Remote Method Invocation) • Web Services (XML-RPC, SOAP, JSON-RPC)
Other RPC Industry Implementations [1] • 1984 - ONC RPC/NFS (Sun Microsystems Inc.) • Early 1990s - DCE RPC (Microsoft) • Late 1990’s – ORPC (Object Oriented Programming Community) • 1997 – DCOM (Microsoft) • 2002 - .NET Remoting (Microsoft) • Doors (Solaris) • ICE (Internet Communications Engine) • DCOP - Desktop Communication Protocol (KDE)
SOAP (Service Oriented Architecture Protocol) [8] • Typical SOAP Request <?xml version="1.0"?> <methodCall> <methodName>examples.getStateName</methodName> <params> <param> <value><i4>40</i4></value> </param> </params> </methodCall> <?xml version="1.0"?> • <methodResponse> • <params> • <param> • <value><string>South Dakota</string></value> • </param> • </params> • </methodResponse> • Typical SOAP Response
References http://en.wikipedia.org/wiki/Interprocess_communication Andrew D. Birrell, Bruce Nelson, “Implementing Remote Procedure Calls”, ACM Transactions on Computer Systems, Volume 2, Issue 1, 1984 http://technet2.microsoft.com/windowsserver/en/library/e5677c57-3182-497a-b53b-a536580b542b1033.mspx?mfr=true http://www.ibm.com/developerworks/webservices/library/ws-arc3/ Nilimesh Halder, Tariqul Islam, Ju Bin Song, “Modeling and Formal Verification of Communication Protocols for Remote Procedure Call”, IJCSNS - International Journal of Computer Science and Network Security, Vol. 7, July 2007 http://en.wikipedia.org/wiki/Remote_Procedure Call Heindel L E, Kasten V A, “Highly reliable synchronous and asynchronous remote procedure calls”, Conference Proceedings of the 1996 IEEE Fifteenth annual International Phoenix Conference on Computers and Communication, 27-29 March 1996 Davis A, Du Zhang, “A Comparitive study of DCOM and SOAP”, Proceedings of the 2002 IEEE Fourth International Symposium on Multimedia and Software Engineering, 11-13 Dec 2002