典型的な統合開発環境 (IDE) では、ソース・ファイルのコレクションがビルド・ツールに送り込まれ、 ある種の消費可能出力が作成されます。 出力は、中間オブジェクト、ライブラリー、実行可能ファイル、またはプロジェクトの複雑さやタイプに応じて、これらの組み合わせから構成されます。 従来、結果のビルド出力は IDE と同じワークステーションで使用するように設計されていましたが、最新の開発環境では、ユーザーはリモート・システムで実行する出力を作成することができます。
IDE 内のプロジェクトがリモート・システムをターゲットにできるさまざまな方法があります。 1 つは、クロスコンパイラーを使用する方法です。 これは、ビルドが行われるプラットフォーム以外のプラットフォームで使用するように設計された出力が、利用するビルド・ツールによって作成される場合です。 Java などの一部の言語では、任意のプラットフォームで実行可能なビルド出力が作成されます。 このため、クロスコンパイラー手法のように、適切な出力を作成するにはローカル・ビルド・ツールで十分です。 Java のようにプラットフォームに中立的なプログラミング言語は少なく、言語/プラットフォームの該当する組み合わせのためのクロスコンパイラーを見つけることは容易ではありません。 また、追加のリモート装備なしでは、これらの 2 つの手法には、ターゲットとするリモート・マシンにビルド結果を自動的には送り込まないといった制限もあります。
対照的な手法として、IDE が稼働するワークステーションではなく、ターゲット・システムでビルドを実行する方法があります。 これを行うには、ソース・コードがリモート・ホストでビルド可能であることが必要です。 ソースをリモートで開発するか、ローカル・プロジェクト・ソース・コードをリモート・システムに同期させる必要があります。 IBM® Rational® Developer for Power Systems Software などの開発環境では、直接リモート開発 (マウントまたは Eclipse ファイル・システムによる) がサポートされています。 また、別の方法として、ローカル・プロジェクトとリモート・ホストとの間でファイルを転送するプッシュ/プル・メカニズムがサポートされています。 特定のリモート・ホストおよびプラットフォームをプロジェクトからターゲットとする機能が役立つ一方、リモート開発の潜在能力は、マルチコンテキスト・リモート開発サポートでは完全には実現されていません。 現代の多くの開発プロジェクトはさまざまなプラットフォームで稼働することを目的としており、それ以外のプロジェクトは一度にいくつかのマシンで分散的な方法で実行することを目的としています。 デバッグ可能なビルドと最適化されたビルドの両方を作成したり、他の何らかの固有プロパティーを持つ代替ビルドを同一マシン上で作成したりするのは、開発者にとって一般的ではありません。 現在 IBM Rational Developer for Power Systems Software で使用可能なマルチコンテキスト・リモート開発を使用すれば、単一のプロジェクト、または IDE 内の他の種類のローカル・リソースは、複数の環境、プラットフォーム、およびロケーションをシームレスかつ同時にターゲットとすることができます。