記載日: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 については別の機会に説明することにします。