Abstract
We present a high-level RPC architecture. Although RPC systems seem quite varied they actually share the same fundamental building blocks. We examine the operation of several technologies (e.g., SOAP/HTTP, RMI-IIOP) to show what they have in common, namely four main blocks that we call PEPt: Presentation, Encoding, Protocol and transport. Presentation encompasses the data types and APIs available to a programmer. Encoding describes the representation of those data types on the wire. Protocol frames the encoded data to denote the intent of the message. Transport moves the encoding + protocol from one location to another. The PEPt architecture allows one to understand, use and implement RPC-systems by providing a simple but comprehensive framework in which to place finer-grained details. It may also serve as the basis for RPC infrastructure reuse between seemingly disparate systems. The PEPt architecture enables an RPC system to adaptively change encodings, protocols and transports.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Nelson, B.J.: Remote procedure call. Ph.D. thesis, Dept. of Computer Science, Carnegie- Mellon University, Pittsburgh, Pa. (1981)
The Open Group: DCE, http://www.opengroup.org/pubs/catalog/dz.htm
Carr, H.: Distributed C++. Ph.D. thesis, University of Utah (1994)
Kesselman, C., Mani, C.K.: Compositional C++: Compositional Parallel Programming. Caltach (1992), http://caltechcstr.library.caltech.edu/documents/disk0/00/00/01/05/
Microsoft: DCOM, http://www.microsoft.com/com/tech/DCOM.asp
Object Management Group (OMG): Common Object Request Broker Architecture (CORBA), http://www.omg.org/technology/documents/formal/corba_iiop.htm
Sun Microsystems: Remote Method Invocation, http://java.sun.com/products/jdk/rmi/
OMG: Java to IDL Mapping, http://www.omg.org/cgi-bin/doc?ptc/02-01-12
Winer, D.: XML-RPC. Userland (1999), http://www.xmlrpc.com/
Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., Mendelsohn, N., Nielsen, H.F., Thatte, S., Winer, D.: Simple Object Access Protocol (SOAP) 1.1. World Wide Web Consortium (2000), http://www.w3.org/TR/SOAP/
Sun Microsystems: Corba Technology and the Java 2 Platform, Standard edn., http://java.sun.com/j2se/1.4.1/docs/guide/corba/index.html
Schmidt, D.C.: The ADAPTIVE Communication Environment (ACE), http://www.cs.wustl.edu/~schmidt/ACE.html
International Organization for Standardization: Reference Model of Open Distributed Processing, http://www.iso.ch/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=20696
Christensen, E., Curbera, F., Meredith, G., Weerawarana, S.: Web Services Description Language (WSDL) 1.1. World Wide Web Consortium (2001), http://www.w3.org/TR/wsdl
jini.org: Jini Davis Project, http://davis.jini.org/index.html
Hamilton. G., Mitchell, J.G., Powell, M.L.: Subcontract: A Flexible Base for Distributed Programming. Sun Microsystems (1993), http://research.sun.com/research/techrep/1993/abstract-13.html
Myers, J.: Simple Authentication and Security Layer (SASL). Internet Engineering Task Force (1997), http://ietf.org/rfc/rfc2222.txt?number=2222
Rose, M.T.: BEEP, http://beepcore.org/
Boecking, S.: Object-Oriented Network Protocols. Addision Wesley, Reading (2000), http://www.aw.com/catalog/academic/product/1,4096,0201177897,00.html
Schmidt, D.C., Stal, M., Rohnert, H., Buschmann, F.: Pattern-Oriented Software Architecture. Patterns for Concurrent and Networked Objects, vol. 2. John Wiley and Sons, Ltd, Chichester (2000), http://siesta.cs.wustl.edu/~schmidt/POSA/
Sun Microsystems: Solaris Doors, http://docs.sun.com/db/doc/806-0630/6j9vkb8d1?a=view
McKusick, M.K., Bostic, K., Karels, M.J., Quarterman, J.S.: The Design and Implementation of the 4.4BSD Operating System. Addision Wesley, Reading (1996), 2.6.5 Scatter/Gather I/O, http://www.freebsd.org/doc/en_US.ISO8859-1/books/design-44bsd/x355.html#AEN458
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Carr, H. (2003). PEPt – A Minimal RPC Architecture. In: Meersman, R., Tari, Z. (eds) On The Move to Meaningful Internet Systems 2003: OTM 2003 Workshops. OTM 2003. Lecture Notes in Computer Science, vol 2889. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39962-9_23
Download citation
DOI: https://doi.org/10.1007/978-3-540-39962-9_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20494-7
Online ISBN: 978-3-540-39962-9
eBook Packages: Springer Book Archive