概要とアプリケーション作成の流れ、そして簡単なサンプル・プログラムの実行までを取り上げています。本文中におかしな箇所などがあれば、忌憚のないご意見をお聞かせください。(こるば)とは何かひとことでいえば、分散システムのためのフレームワーク。通常のプログラムにおいて、ある処理から別の関数が呼び出されるとき、その関数の実体は同じプログラム中に存在しなければならないが、その実体が他の環境のプログラムにあっても呼び出せるようにしたシステムのことを分散システムという。このとき、関数の呼び出す側をクライアント、呼び出される実体の提供する側をサーバといい、このような両者の間に立って動くソフトウェアのことをミドルウェアと呼ぶ。いったツールが広がりをみせる中にあって着実に実績を伸ばしている。一般にこれらのシステムをゼロから構築しようとすると、目的とする関数の場所の特定や接続のタイミングといった以外にも、接続する相手プログラムの状態把握、異なるシステムとやりとりする場合におけるデータの扱い、エラー発生時の対処など様々な問題を考慮しなければならないため、プログラムは複雑で難解なものとなりやすかった。(あるいは適用できるプラットフォームなどの制限によって実現されることが多かった。その基盤技術としてオブジェクト指向を用いることにより、そういった複雑な仕組みの多くを隠蔽し、また現実味のある仕様を策定することで利用者にとっての分散システムに対する敷居を低くすることに成功している。最小限の手続きを行うだけでリモートメソッドを手軽に呼び出すことができ、それだけ開発者は個々のメソッドの実装(ビジネスロジックの部分)に専念することが可能になっている。限らずオブジェクト指向そのものにも通じる考え方であるが、あるデータとそれに対する操作をオブジェクトという単位でまとめると「そのオブジェクト同士の間で何のデータがやりとりされるのか」「あるオブジェクトは自分以外のオブジェクトに対して何を受け取り何を渡すのか」というインタフェースが必ず存在している。いうよりもオブジェクト指向設計においては、クラスやメソッドもインタフェースという出入口を先に決めておいて後から中身を用意する??ということがいえるためである。中身よりも出入口としてのインタフェースの設計を先行させることによって、オブジェクトの柔軟性の獲得やデータの流れの明確化、ひいてはプログラムの保守性を高めているからである。用いるデータ型・例外の定義を指している。多様な実装形態が予想される分散システムにおいて、特定のプラットフォームや言語に依存したインタフェースの定義では意味を成さない。呼ばれる専用のインタフェース記述言語を用意している。よって最初のインタフェース定義が行われることにより、複数の実装環境や実装環境の変化に対しても元の定義を変えることなく対応することができる。特徴である言語独立・プラットフォーム独立が実現されている。目標に掲げる「分散システムの相互運用での標準」の仕様に対する名称である。いうコンポーネントによってオブジェクト間の実際の通信(位置管理や接続など)が行われている。中心としたインタフェースのつながりにこそ意味がある。言い換えるならば、そこにあるのは個々のシステムごとの「アプリケーションへのインタフェース」、分散システム全般に汎用的な「サービスへのインタフェース」、特定の分散システムに適用される「ドメイン/ファシリティへのインタフェース」であるといった方が分かりやすい。定めるのは「オブジェクトのインタフェース部分」だからである。仕様を定めるだけで、それに対する実装は行わない」という点にある。仕様をどういうかたちで実装・製品化するかに関しては、個々のベンダの裁量にある。実装)といっても幅があり、製品間での差別化を図る上での独自機能を持つものが少なくない。利用可能になっている。製品になったものである。アプリケーションサーバ・ソフトウェアの基盤としても採用されている。呼ばれる独自プログラムを中心に構成されている点にある。完全に動的なオブジェクトの位置管理、オブジェクトのライフサイクルの管理、適切な負荷分散などを行うことにより、何よりもシステムへの信頼性(フォールトレランスの実現)と柔軟性の確保が実現されている。おける弱点のひとつだった。以下のような特徴を持っている。次のような特徴がある。分野でのシステム構築や企業合併における既存システム同士の接続といった用途で強みを発揮している。オブジェクトのひとつとしてラッピングする、コストを抑えたシステム移行において事例が多い。場合におけるアプリケーション開発の大まかな流れを示す。(つまり、システム分析や設計の段階は省く。呼ばれる言語独立なインタフェース定義言語を用いてインタフェースを定義する。間通信を行うオブジェクトのメソッド、ユーザ定義のデータ型・例外などの、いわばプロトタイプを記述する。ロジックは記述できない。)ここでの定義が汎用的であることによって、逆に様々な言語への置き換え(マッピング)が実現されている。