記載日:2007/03/21 最終更新日:2007/03/28
profaim.base 基盤設計 |
profaim.base.connector |
1.ConnectorContext の定義
ConnectorContext とは、 profaim.base.connector 上で生成され、 profaim.base.core の呼び出しの際に必須となるコンテキストです。 ConnectorContext を用意することで、profaim.base.core へのアクセスで必要なデータが明確にできる他、 ConnectorContext を profaim.base.core 呼び出し時の必須パラメータとすることで、誤ったレイヤーアクセスを防ぐこともできます。
2.ConnectorContext の要素
以下が profaim.base.connector から profaim.base.core を呼び出す際のパラメータとなる ConnectorContext の要素です。 ConnectorContext の内容には設定ファイルに指定した設定値も含まれます。 設定ファイルにはウェブサイト固有の情報を設定し profaim.base.connector がインストールされたディレクトリに配置します。
要素ID |
要素名 |
データ型 |
設定ファイルのキー |
用途・設定内容 |
ConnectionType |
接続種別 |
String |
|
接続元の種類を特定する定数。当面は固定値"HTTP-REQUEST" |
WebSiteID |
ウェブサイトID |
String |
website.id |
1つのprofaim.base.coreに対してウェブサイトを一意に特定する任意の文字列(ドメインを推奨) |
WebSiteRootPath |
ウェブサイトルート |
String |
website.root.path |
profaim.base.connectorをインストールしたパスを指定 |
ProfaimBaseID |
接続先profaim.baseID |
String |
profaim.base.id |
接続するprofaim.baseのID |
ProfaimBaseURI |
接続先profaim.baseURI |
String |
profaim.base.uri |
接続するprofaim.baseのURI |
ConnectionHeader |
接続ヘッダ |
ProfaimConnectionHeader |
|
profaim.base.connectorがprofaim.base.coreへの接続時に送信するヘッダ。 |
RawRequestHeaderMap |
未編集リクエストヘッダ |
Map<String, String> |
|
リクエストに乗せられたヘッダをそのまま格納。 |
ConnectionType は profaim.base に対してどの種類の接続要求を行うかを指定します。 現時点で profaim.base はウェブブラウザからのリクエストを処理するフレームワークのため、 ConnectionType の値は "HTTP-REQUEST" で固定です。 将来的に profaim.base を他の用途に使用することになれば、この値で処理を切り替えられる様にしました。
RowRequestHeaderMap へは、 リクエストで送信されたヘッダの内容を <(キー), (値)> の形式で保存します。 ただし、リクエストで送信された内容は環境により異なる可能性もあるということで、 リクエストで送信されたヘッダのうち profaim.base.core で使用するものについては ConnectionHeader にコピーしてそれを使用することにします。 万が一、環境依存によりヘッダの内容に差異がでてしまった場合は、 profaim.base.core で依存部分を吸収した上で ConnectionHeader にコピーすることで profaim.base.core への影響を排除できると考えています。
設定ファイルの詳細、 ConnectionHeader のデータ型 ProfaimConnectionHeader については別の機会に説明することにします。