2. CATPAPI概要
2.1 CATPAPIの位置づけ
CATPAPIはクライアント側に存在するCATPプロトコルのクライアント機能を実装したプログラムである。CATPAPIはUIPからの要求に応じて学術情報センターのCATPサーバと通信し目録データベースのアクセスを実現する。このサーバとの通信において本バージョンではCATPプロトコルをHTTPのPOSTメソッドのオブジェクトボディ上に実装する。尚、図2.1にCATPAPIの位置づけを示す。
図2.1 CATAPIの位置づけ
2.2 オブジェクト関連
本仕様書で記述するCATPAPIのオブジェクト関連図を図2.2に示す。
図2.2 CATPAPIオブジェクト関連図
- UIPはサーバへのアクセスが必要になった場合CatpApiにsearch,insert等のメッセージを送る。
- CatpApiはCATPメッセージを生成し、それをサーバに送るためServerCommにメッセージを送る。
- ServerCommはCATPメッセージを完成させ、HTTPConnectionにメッセージを送る。
- HTTPConnectionはHTTPのPOSTメソッドによりCATPサーバにリクエストのCATPメッセージを送信する。
- CatpApiはサーバからレスポンス受信時(ServerComm終了時)、ServerRecvにレスポンスメッセージを要求する。
- ServerRecvはHTTPResponseにHTTP POSTレスポンスを要求し、CATPプロトコルに従いデータを切り出す。
- CatpApiはCATPサーバ並びに関連する各オブジェクトでエラーが発生した場合CatpExceptionを発生させる。
- CatpApiはUIPからのメッセージがsearch/scanであればResultSetオブジェクトを生成する。
- CatpApiはUIPからのメッセージがretreiveBrowse/retreiveDetailであればRecordオブジェクトを生成する。
- CatpApiはUIPからのメッセージがretreiveBrowseであればRecordListオブジェクトを生成する。
- UIPはtry-catch文によりCatpApiを監視し、CatpExceptionが発生した場合、詳細エラー情報を要求する。
- UIPはSearch/scanの結果生成されたResultSetにヒット件数等を要求する。
- UIPはretreiveBrowse/retreiveDetailの結果生成されたRecordに、受信したデータベースレコードを要求する。
- UIPはretreiveBrowseの結果生成されたRecordListに、受信したデータベースレコード一覧を要求する。
- UIPはサーバのデータベースへのレコードの登録時Recordを生成する。