Mechanism: Communication Intermediation

Intent

Communication intermediation "interposes" functionality between a service provider (e.g., server) and a service consumer (e.g., client).

Also Known As

Proxy?

Motivation

A scenario that illustrates a problem and how the different elements of the mechanism solve the problem. The scenario will help you understand the more abstract description of the mechanism below.

Applicability

What are the situations in which the mechanism can be applied? What are examples of poor designs that the mechansim can address? How can you recognize these situations?

Participants

The elements participating in the mechanism and their responsibilities.

Collaborations

How the participants collaborate to carry out their responsibilities.

Consequences

Communication intermediation has the following benefits:

  1. They do not alter the service provider or consumer.
  2. Their overhead is amortized in high cost operations.
  3. They facilitate logging and playback. Because all the interaction between the service provider and consumer occurs by way of the communication intermediator, the interactions may be logged and played back at a later time.

Communication intermediation has the following limitations:

  1. They apply only to explicit communication channels.

Implementation

What pitfalls, hints, or techniques should you be aware of when implementing the mechanism? Are there language-specific issues?

  1. Description of Bullet

Known Uses

Firewalls, Web proxy servers, and CORBA interceptors are examples of communication intermediation.

Related Mechanisms

See reified connectors and instrumented connectors for more specific instances of the communication intermediation mechanism.


Back to the Adaptation home page. This page maintained by Peyman Oreizy (peymano at ics.uci.edu). Last updated on .