Distributed Proxy: A Design Pattern for Distributed Object Communication
António Rito Silva, Francisco Assis Rosa, Teresa Gonçalves · 1997
This paper presents the Distributed Proxy pattern, a design pattern for distributed object communication. The Distributed Proxy pattern decouples distributed object communication from object specific functionalities. It further decouples logical communication from physical communication. The Distributed Proxy pattern enforces an incremental development process, encapsulates the underlying distribution mechanisms, and offers location transparency. 1 Intent The Distributed Proxy pattern decouples the communication between distributed objects by isolating distributionspecific issues from object functionality. Moreover, distributed communication is further decoupled into logical communication and physical communication parts. 2 Motivation An example motivates for the problems and respective forces involved in distributed object communication. 2.1 Example A distributed agenda application has several users which manipulate agenda items, either private (appointments) or shared (meetings). A meeting requires the participation of at least two users. When an agenda session starts, it receives an agenda manager reference from which the agenda user informationcan be accessed. It is simple to design a solution ignoring distribution issues. The Booch[1] class diagram in Figure 1 shows the functionalities design of the agenda application, where distribution issues are ignored. Enriching this design with distribution is complex. For example we must consider different address spaces. In terms of our agenda application this means, that operation getUser in Agenda Manager should return to the remote Agenda Session a User object across the network. Another source of complexity is need to implement distributed communication. For instance, the communication between Agenda Session andAgenda Manager is implemented using sockets. From a user’s perspective, however, all distribution issues should be hidden. They just want to manipulate agenda items. Item Meeting Appointment A 0+