Server-side encoding, protocol and transport extensibility for remoting systems

  • Authors:
  • Harold Carr

  • Affiliations:
  • Sun Microsystems, Inc.

  • Venue:
  • Proceedings of the 2nd international conference on Service oriented computing
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Requirement: Users of remoting systems (e.g., RPC and Messaging) want to concentrate on the data being sent. They should not have to use a different programming model just to use a different protocol. Problem: Remoting systems need to support alternate encodings, protocols and transports, either because of evolving standards or through dynamic negotiation with a peer. Solution: This paper has two main ideas. First, it clearly partitions a remoting system into four main blocks: presentation, encoding, protocol and transport. It identifies the extensibility points, the responsibilities and interactions of those blocks. Second, it shows how, for each message arriving on a connection accepted and created by an Acceptor, the Acceptor acts as a factory for specific encoders and protocol handlers. Thus a remoting system can dynamically adapt to new encodings, protocols and transports without changing the programming model presented to the programmer. Experience: We have used this model to adaptively alternate between XML and binary encoding, protocol and transport combinations in an RMI system. We show size and performance results for these combinations. Conclusion: This model isolates change from the remoting system user while allowing common remoting infrastructure to be extended and reused. The model does not degrade performance.