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オブジェクト関連図

  1. UIPはサーバへのアクセスが必要になった場合CatpApiにsearch,insert等のメッセージを送る。
  2. CatpApiはCATPメッセージを生成し、それをサーバに送るためServerCommにメッセージを送る。
  3. ServerCommはCATPメッセージを完成させ、HTTPConnectionにメッセージを送る。
  4. HTTPConnectionはHTTPのPOSTメソッドによりCATPサーバにリクエストのCATPメッセージを送信する。
  5. CatpApiはサーバからレスポンス受信時(ServerComm終了時)、ServerRecvにレスポンスメッセージを要求する。
  6. ServerRecvはHTTPResponseにHTTP POSTレスポンスを要求し、CATPプロトコルに従いデータを切り出す。
  7. CatpApiはCATPサーバ並びに関連する各オブジェクトでエラーが発生した場合CatpExceptionを発生させる。
  8. CatpApiはUIPからのメッセージがsearch/scanであればResultSetオブジェクトを生成する。
  9. CatpApiはUIPからのメッセージがretreiveBrowse/retreiveDetailであればRecordオブジェクトを生成する。
  10. CatpApiはUIPからのメッセージがretreiveBrowseであればRecordListオブジェクトを生成する。
  11. UIPはtry-catch文によりCatpApiを監視し、CatpExceptionが発生した場合、詳細エラー情報を要求する。
  12. UIPはSearch/scanの結果生成されたResultSetにヒット件数等を要求する。
  13. UIPはretreiveBrowse/retreiveDetailの結果生成されたRecordに、受信したデータベースレコードを要求する。
  14. UIPはretreiveBrowseの結果生成されたRecordListに、受信したデータベースレコード一覧を要求する。
  15. UIPはサーバのデータベースへのレコードの登録時Recordを生成する。