Bonobo および CORBA
Bonobo、libIDL、および ORBitは、D-Busやその他の技術に置き換えられたため使用は推奨されていないことに注意してください(前記参照)。
Bonoboはアプリケーションで再使用可能なコンポーネントを作成するためのフレームワークです。業界標準であるCORBA(Common Object Request Broker Architecture)を基に構築され、GNOMEアプリケーションで安心して使用できるコンポーネントを作成、使用するために必要となるすべての共通インタフェースを提供します。
Bonoboのコンポーネントはさまざまな場面で使用でき、柔軟で拡張性のあるソフトウェアを作成する助けとなります。たとえば、マルチメディアのコンテンツを表示するコンポーネントをワードプロセッサに埋め込むことにより、ワードプロセッサが直接マルチメディアを処理することなく、ワードプロセッサにマルチメディアのサポートを追加することができます。BonoboコンポーネントはGNOMEパネルにアプレットを埋め込むのにも使用されています。Bonoboを使用することによりアプレットが効果的にパネルと通信することが可能になり、ユーザに統一されたインタフェースを提供することができます。
Bonoboのコンポーネントはグラフィカルなコントロールとは限りません。BonoboはGNOMEの電子メールクライアントでありグループウェア・スィートでもあるEvolutionで、アドレス帳やカレンダーへのアクセスに使用されていました。これによりユーザは自分の情報を1ヶ所に保存して、すべてのアプリケーションがアクセスできるようにしたのです。
BonoboはCORBA上に構築されているため、コンポーネントを独立したプロセスで実行することができます。コンポーネントは異なる言語で記述でき、異なるランタイム上で実行することができます。; 唯一必要なのはインタフェースがIDL(Interface Definition Language)で記述されていなければならないということだけです。CORBAの柔軟なデザインによりネットワーク上の異なるマシンのコントロールを実行することさえ可能です。
GNOMEは、高速で軽量なCORBA実装であるORBitを提供します。GNOMEにより供給されるツールとライブラリは、C言語や他のCORBA実装では使用できない言語でも効果的にコンポーネントを記述することが可能です。
BonoboはCORBAに欠けている、一貫したコンポーネントサポートするために必要な追加のインタフェースと仕様を提供することによって、そのギャップを埋める手助けをします。Bonoboを使わずにCORBAを使用することはほとんどないでしょうが、直接CORBAを使用することも可能です。たとえば、GNOMEアクセシビリティの基盤はCORBAにより、実行中のアプリケーションを調査・対話する援助ツールを実現しています。
あなたはグラフィカルで複雑な埋め込み可能コンポーネントを提供するためにBonoboを使用したいと思うかもしれません。しかし大部分のGNOMEにおけるIPCの必要性はD-Busへと移行しつつあります。アプリケーションをD-Busに統合することでそれらは大幅に簡単になります。
Bonoboについての詳細は Libbonobo Reference Manual および LibbonoboUI Reference Manual を参照してください。GNOMEのCORBA実装であるORBitについての詳細は ORBit2 Reference Manual を参照してください。