Interstage AR Processing Serverを利用する上で、PCやスマートデバイスからWebを通じてデータの登録や検索を行うため、ファイルデータ管理WebAPIを提供します。
ファイルデータ管理WebAPIでは以下の二つのデータを扱います。
大きなテキストデータや画像、動画などの保存したいデータは全てファイルデータとしてファイルシステムに格納します。ファイルは管理するベースとなるディレクトリ配下に順次保存します。
保存するときのファイル名は登録時にサーバが採番した管理IDを利用します。ベースディレクトリは設定ファイルで指定します。
以下の情報属性情報はプロパティとしてDBに格納します。登録時間などの取得は全てサーバ側で行います。
管理id
ファイル名
ファイルのmimetype
登録時間
最終更新時間
ファイルサイズ
同一データに対する複数の同時アクセス要求に備え、Interstage AR Processing Serverではデータに対してオプティミスティック同時実行制御を行います。そのため、各テーブルにversion(INTEGER型)を作成しています。
制御の基本的な流れは以下の通りです。
データを変更する際、データ獲得後に別のユーザがそのデータを変更していないかversion情報を取得します。
現在のversion情報と比較します。
変更されていない場合、データを更新します。
変更されていた場合、違反と見做しエラーを返します。
Interstage AR Processing Serverではオプティミスティック同時実行制御をETagヘッダとIf-Matchヘッダによって実現しています。そのため、データの更新/削除の前には必ず、サーバから最新のデータを取得し、versionを最新にしておく必要があります。さらに、If-Matchヘッダにversionを設定する必要があります。
注意
変更のたびにversionが追加されるため、データをINTEGERの最大値(2147483647)まで更新するとエラーとなります。
APIが返し得るHTTPステータスコードは、以下のとおり、API種別毎に決まります。コード200番台以外で返る場合は、レスポンスボディに、メッセージが入ります。
コード | 意味(W3C) | 意味(製品) | 取得 | 登録 | 削除 |
---|---|---|---|---|---|
200 | OK | 処理成功 | ○ | ○ | |
201 | Created | 生成処理成功 | ○ | ||
400 | Bad Request | リクエスト違反 | ○ | ○ | ○ |
404 | Not Found | リソースがない | ○ | ○ | |
412 | Precondition Failed | オプティミスティック同時実行制御による拒絶 | ○ | ||
500 | Internal Server Error | その他のエラー | ○ | ○ | ○ |
ポイント
「401 Unauthorized」等のHTTPの一般的なステータスコードはInterstage AR Processing Serverではなく、Webサーバなどによって返されます。