Subcontract: a flexible base for distributed programming
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
An Extensible Binding Framework for Component-Based Middleware
EDOC '03 Proceedings of the 7th International Conference on Enterprise Distributed Object Computing
Hi-index | 0.00 |
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.