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