Process Boundary

[ComponentDesignPatterns | CategoryPattern]

Context

You're developing in an environment where location of associated components can change in the course of a project.

Perhaps the location of a component can change at runtime. It might be required to exist a on different platform if distributed, or a different protocol might be required to communicate with it.

Security and reliability issues differ depending on the location of your component.

You're not in an environment where your program works the same regardless of the distribution of the components and frameworks it is composed of.

Problem

How do you guard against the physical location of components affecting your system in unfavorable or unforseen ways?

Forces

Solution

Explicitly recognize and decide upon the allowed location of components that depend on one another. Classify components into ones that either can be distributed (domestic or foreign) or cannot be distributed (domestic only).

Resulting Context

Relative to a component, you might use AbstractInteractions with domestic components, and GoingThroughCustoms and developing InterfacesLast with foreign components.

FacadesAsDistributedComponents can be used to create a portal for an application to get authorization and authenticated to use server components.

Known Uses

Example

Related Patterns


EditText of this page (last edited November 30, 1998) or FindPage with title or text search