目次 | |

1. はじめに

Java Beans APIは,Java対応のソフトウェア部品モデルを,定義することを目的とする。 その結果,エンドユーザがアプリケーションを組み込めるJava部品を,独立系ソフトウェアベンダが, 生産し,出荷することが可能となる。
 

1.1 部品粒度

Java Beans部品の種類は,次のものを含む。
a) アプリケーションに組み込む際にビルディングブロックとして使用するもの。 ユーザはある種のビルダツールを使って,Java Beansを相互に結び付け,カスタム化し, アプリケーションとして動作させる。例えば,AWTボタン。
b) 複合文書に構成可能な,通常のアプリケーションにより近いもの。 Java Beanの表計算が,ウェブページ内部に組み込まれていてよい。
これらの領域は,互いにかさなる。例えば,表計算は,アプリケーション内に存在する。 “複合アプリケーション”と“複合文書”との間は,はっきりと切り離されていない。

ビーンズの設計は,小規模制御からウェブページなどの簡単な複合文書にまで及ぶ。 しかし,ClarisWorks,Microsoft Officeなどの全機能文書システムの典型である 高機能文書統合は提供しない。OLE Control又は ActiveX APIに類似したAPIを提供するが, OpenDocなどによって提供される高機能文書APIすべては提供しない。しかし, ビーンズを部品として高機能複合文書内に組み込むことは可能とする。ワードプロセッサ, 表計算などの一連の主要文書部品が,Java Beansとしてサポートされることを望む。

一般に,Java Bean部品は小中規模制御を行い,単純な問題を容易にし, できるだけ多くの振舞いに対応する。
 

1.2 移植性

Java Beans体系は,プラットフォ−ムによらない部品体系を提供することを, 主たる目的の一つとする。Java Beanを別のJava Beanの内部に入れ子にする場合, すべてのプラットフォームへの移植性を達成する。しかしトップレベルで, Java ビーンが,プラットフォーム特有な,Word,Visual Basic,ClarisWorks, Netscape Navigatorなどのコンテナに組み込まれる場合,Java Beans APIは, プラットフォーム固有の部品体系に統合することが望ましい。

この意味を次に例示する。Microsoftプラットフォームにおいて,Java Beans APIは,COM及びActiveXにブリッジされる。同様に,OpenDoc の Live Object 部分としてビーンを処理したり,又はNetscape Navigator内部の LiveConnect でビーンを統合することができる。

単体のJava Beanは,広範囲の様々な環境で実行できることが望ましい。 それぞれの環境内で,他の部品同様にイベント,サービスメソッド呼出しなどを, 起動できるのがよい。

様々なブリッジを,この規定の一部で個々に記述することはない。 ブリッジの存在はJava Beanの開発者には見える必要が無く,この規定が定義する Java Bean APIは,プラットフォーム固有の体系にブリッジされる。

特にOpenDoc,OLE/COM/ActiveX及びLiveConnectの部品モデルへのブリッジは, Java Beans APIを設計する際の制約であった。ビーンズ APIが, この3主要部品モデルに変換できることは,注意深く確認した。
 

1.3 均一で高品質な API

すべての Java Bean APIをサポートする能力は,プラットフォームによって異なる。 プラットフォームが全機能を提供できないときは,代わりに妥当で無害なものを 提供しなければならない。

例えば,プラットフォームがメニューバーの併合処理をサポートしない場合, Java Bean部品は,文書のメニューバーへの併合の代わりに, ポップアップメニューバーを提供する。

つまり,Java Bean部品の作成者は,一貫性のあるAPIの集合を, あらゆる場所で動作するようプログラムできる。ビーンの作成者が, 現プラットフォームにおいてどの機能がサポートされているかを見つけるために検査を行う必要性は, できるだけ避けることとする。
 

1.4 簡潔性

Java Bean APIは,比較的単純なものにしておく。重量部品も可能だが, 実装及び使用が容易な小型軽量部品を中心とする。

原則として,引き継がなければならない,多くのクラス java.beans.Everythingは作らない。 むしろ,Java Bean実行環境が通常のオブジェクトにデフォルトの振舞いを用意し, 適当なインタフェース継承によって,そのデフォルトの振舞いを上書き可能とする。

Java Beansの基本概念をすばやく習得でき,単純な部品の作成及び使用が容易にでき, さらに,より高機能なAPIを使用できることを目的とする。
 



目次 | |