Enterprise Objects Framework
Enterprise Object(直訳すれば「企業オブジェクト」)は、オブジェクト指向プログラミングでビジネスオブジェクトと呼ばれるものに似ている。ビジネスオブジェクトとは、ビジネス領域での具体的あるいは概念的オブジェクト(例えば、顧客、注文、商品など)をモデル化したクラスである。EO (Enterprise Objects) が他のオブジェクトと異なるのは、そのインスタンスが何らかのデータソースとマッピングされている点である。典型的なEnterprise Objectは、キーと値のペアを含み、関係データベースの行を表している。キーは列(カラム)の名前であり、その値はデータベース内のその行のそのカラムに格納されている値に他ならない。従って、EOの属性は永続性があると言える。
より正確に言えば、Enterprise Objectとは、com.webobjects.eocontrol.EOEnterpriseObjectインタフェースを実装したクラスのインスタンスである。
Enterprise Objectには対応するモデル (EOModel) があり、そのクラスのオブジェクトモデルとデータベースのスキーマとのマッピングが定義されている。しかし、Enterprise Object自体にはそのモデルに関する知識は存在しない。このような抽象化によって、データベース製品を切り換えても、コードを修正せずに済むのである。そのため、Enterprise Objectsは高度な再利用性を有する。