Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2889))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Nelson, B.J.: Remote procedure call. Ph.D. thesis, Dept. of Computer Science, Carnegie- Mellon University, Pittsburgh, Pa. (1981)

    Google Scholar 

  2. The Open Group: DCE, http://www.opengroup.org/pubs/catalog/dz.htm

  3. Carr, H.: Distributed C++. Ph.D. thesis, University of Utah (1994)

    Google Scholar 

  4. Kesselman, C., Mani, C.K.: Compositional C++: Compositional Parallel Programming. Caltach (1992), http://caltechcstr.library.caltech.edu/documents/disk0/00/00/01/05/

  5. Microsoft: DCOM, http://www.microsoft.com/com/tech/DCOM.asp

  6. Object Management Group (OMG): Common Object Request Broker Architecture (CORBA), http://www.omg.org/technology/documents/formal/corba_iiop.htm

  7. Sun Microsystems: Remote Method Invocation, http://java.sun.com/products/jdk/rmi/

  8. OMG: Java to IDL Mapping, http://www.omg.org/cgi-bin/doc?ptc/02-01-12

  9. Winer, D.: XML-RPC. Userland (1999), http://www.xmlrpc.com/

  10. 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/

  11. Sun Microsystems: Corba Technology and the Java 2 Platform, Standard edn., http://java.sun.com/j2se/1.4.1/docs/guide/corba/index.html

  12. Schmidt, D.C.: The ADAPTIVE Communication Environment (ACE), http://www.cs.wustl.edu/~schmidt/ACE.html

  13. International Organization for Standardization: Reference Model of Open Distributed Processing, http://www.iso.ch/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=20696

  14. 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

  15. jini.org: Jini Davis Project, http://davis.jini.org/index.html

  16. 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

  17. Myers, J.: Simple Authentication and Security Layer (SASL). Internet Engineering Task Force (1997), http://ietf.org/rfc/rfc2222.txt?number=2222

  18. Rose, M.T.: BEEP, http://beepcore.org/

  19. Boecking, S.: Object-Oriented Network Protocols. Addision Wesley, Reading (2000), http://www.aw.com/catalog/academic/product/1,4096,0201177897,00.html

    Google Scholar 

  20. 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/

    Google Scholar 

  21. Sun Microsystems: Solaris Doors, http://docs.sun.com/db/doc/806-0630/6j9vkb8d1?a=view

  22. 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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics