コンパイラで(コンパイルというよりは)翻訳する。してのメソッドなりデータ型なり例外として記述できるようになる。つのファイル(*_c.hh、*_c.cc、*_s.hh、*_s.cc)を生成する。クラスとして展開される。このとき、これのクライアント側コード(*_c.hh/*_c.cc)の集まりのことをクライアントスタブといい、サーバ側コード(*_s.hh/*_s.cc)の集まりのことをサーバスケルトンという。コードなので、後はここに記述されたクラスを基底クラスとして実装クラスを導けばよい。定義された内容が実装に対する基底クラスへと変換されることにより、実装時に関数のシグネチャを誤ったり不十分な実装クラスを構築するといったミスを事前に防ぐことができる。定義されたメソッドはスケルトンでは純粋仮想関数としてマッピングされるので、これらのクラス内では実装コードを書くことができない。これも継承という仕組みと組み合わせることにより、インタフェースはそのままに設計(基底クラス)と実装(派生クラス)の分離というプログラム全体での可視性を高めることに成功している。加えて、クライアントとサーバ用のコードが別々に生成される点は、これらの開発を別個に行うことが可能であることを示している。プログラムの役割分担として、クライアント側でメソッドの呼び出しコードを、サーバ側で呼び出されるメソッドの実体をそれぞれ記述する。機能へのアクセスが実現される。コンパイラでソースファイルをコンパイル・リンクして実行ファイルを生成する。ライブラリが実装コードとリンクされてアプリケーションの完成となる。場合として図示すると以下のようになる。(サーバ側)分散システムでは基本的にクライアントからのリクエストを受け付けるために、クライアントより先にサーバが起動していなければならない。サーバ実装の間を仲立ちするオブジェクトアダプタ。