Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Pattern languages of program design
Proceedings of the conference on TRI-Ada '96: disciplined software development with Ada
Evaluating architectures for multithreaded object request brokers
Communications of the ACM
Multithreaded Rendezvous: a design pattern for distributed rendezvous
Proceedings of the 1999 ACM symposium on Applied computing
Synchronizing group transaction with rendezvous in a distributed Ada environment
SAC '98 Proceedings of the 1998 ACM symposium on Applied Computing
DVM: an object-oriented framework for building large distributed Ada systems
Proceedings of the conference on TRI-Ada '95: Ada's role in global markets: solutions for a changing complex world
Implementing the model-view-controller paradigm in Ada 95
Proceedings of the conference on TRI-Ada '95: Ada's role in global markets: solutions for a changing complex world
Integrating Groups and Transactions: A Fault-Tolerant Extension of Ada
Ada-Europe '98 Proceedings of the 1998 Ada-Europe International Conference on Reliable Software Technologies
Hi-index | 0.00 |
In many cases, servers must impose a protocol of calls to their clients, and at the same time handle multiple client requests. The MT-Rendezvous design pattern greatly simplifies both tasks: separate server threads handle separate clients or sessions, and each different call protocol is handled by means of rendezvous. One of the most significant performance problems in this kind of system is the latency introduced by network messages exchanged between clients and servers. Another design pattern, CompositeCalls, has been used to achieve dramatic performance improvements. With CompositeCalls clients send entire programs to the server so that the number of messages exchanged can be greatly reduced. Moreover, servers can be dynamically extended by using CompositeCalls. Therefore, an expressive and efficient server model can be obtained by mixing both patterns within the same framework. However, as both patterns overlap, its integration is not a trivial task. In this paper we describe how can both patterns be combined, including a brief description for its instantiation in Ada 95. Besides, we show concrete applications where the compound pattern, CompositeRendezvousCalls, can be employed, including a transactional framework for distributed Ada applications, TransLib.