Edit Diff Annotate History
Upload
List
Recent
Alias
Top
Help
WOAndEOF : Edit
Last updated: Fri Mar 30 22:07:46 +0900 2007
EOFはWebObjectsと統合されていて、データベースと画面表示をスムースに連携することが可能になっています。 もちろんコンテキストという概念はWebObjectsにもあり、「セッション」と「コンポーネント」が相当します。 ここで注意したいのは、EOFとWebObjectsではコンテキストの単位が異なることです。 両者のコンテキストはそれぞれまったく別のものです。 WebObjects側ではEOFのコンテキストを管理せず、EOF側でもWebObjectsのコンテキストを管理しません。 !WebObjectsのコンテキスト WebObjectsのコンテキストの1つはセッションです。 セッションは、ユーザがアプリケーションにアクセスしてから一連の作業が終了するまでのコンテキストです。 もう1つのコンテキストであるコンポーネントは、セッション内で表示したWebページを特定します。 Webページに含まれるエレメントやコンポーネントもすべてコンテキストとして管理されます。 コンポーネントのコンテキストは、ユーザが入力したデータをインスタンス変数にセットしたりアクションを起動するのに使われます。 WebObjectsのコンテキストはそれぞれセッションIDとコンテキストID(コンポーネント)で管理されます。 WebObjectsの生成する、あのややこしいURLがそうです。 URLの最後にセッションIDとコンテキストIDが含まれています。 図:WebObjectsのURL <<url.png>> !EOFを含めたWebObjects全体のコンテキスト WebObjectsと絡むEOFのコンテキストは編集コンテキストです。 編集コンテキストはWebObjectsの各セッションに1つずつ用意されており、 基本的にセッションの編集コンテキストを使ってデータベースを操作します。 セッションやコンポーネントと違い、編集コンテキストにIDはありません。 以上を合わせると、WebObjects全体のコンテキストとその多重度は以下のようになります。 図:WebObjects全体のコンテキスト <<whole_contexts.png>> 図:WebObjects全体のコンテキストの多重度 <<whole_contexts_multi.png>>