システム間の通信方法について
弊社コンテンツ情報サーバと御社管理サーバ/制御CPU間の通信方法として
REST、データ形式としてJSONフォーマットをお願いさせていただきます。
REST[Representational State Transfer]の特徴
- URLの文字列から情報の対象、HTTPメソッドから操作内容を指定して通常のHTTP通信を利用した
システム間の通信方法。総神事の変数はFormによるkey=value形式で情報伝達
- データ形式の双方の取り決めは必要だが、プリ、ポスト処理がSOAPに比べて少ないため
開発や設計が容易
- データの返答やkey=value形式で渡せないデータは
JSON[Java Script Object Notation]形式で送受信を行う
例 (Javaの場合はApache CommonsのHttpClientを利用)
// メソッドを定義
// 基本ルールとして 登録=PostMethod 取得=GetMethod 変更=PutMethod 削除=DeleteMethod
HttpMethod method = new GetMethod(“http://server.sgi.co.jp/test/file/sample1”);
// 変数の定義(mapに送信したい変数をあらかじめ格納)
List<NameValuePair> list = new ArrayList<NameValuePair>();
for (String key : map.keySet()) {
NameValuePair pair = new NameValuePair(key, map.get(key));
list.add(pair);
}
method.setQueryString(list.toArray(new NameValuePair[0]));
// メソッドの実行
client.executeMethod(method);
// 値の取得
System.out.println("http status code=" + method.getStatusCode());
System.out.println(method.getResponseBodyAsString()); // JSON形式で返す
メソッドの返答例
{code:0, message:”edited successfully”}
1
1-1 インターフェース一覧
コンテンツ情報サーバ⇔管理サーバ/制御CPU間の通信は、WebサービスAPI(REST)により行うものとします。
コンテンツ情報サーバ側 インターフェース一覧 (通信方向 : 管理サーバ/制御CPU) → コンテンツ情報サーバ
処理
WebサービスURI
Method
ファイリング指示データ情報受信
http://content_server/topaz/rest/asset/{materialId} POST
メタデータ抽出情報受信
PUT
テロップファイリング完了情報通知
PUT
削除指示
DELETE
低解像度生成完了通知
http://content_server/topaz/rest/file/{meterialId}
POST
※ http://content_server/ はコンテンツ情報サーバへのURLとなります。
※ URLに含まれる materialId は「素材コード(12桁の英数字)ロール番号(2桁)ブロック番号(4桁の英数字)」(=素材ID)
となります。
管理サーバ/制御CPU側 インターフェース一覧 (通信方向 : コンテンツ情報サーバ → 管理サーバ/制御CPU) 要確認
処理
WebサービスURI
Method
サムネイル生成完了通知
http://management_server/xxxx/rest/watcher/createdThumbnail
GET
代表サムネイル更新通知
http://management_server/xxxx/rest/watcher/changedThumbnail GET
フェイルオーバ発生通知
http://management_server/xxxx/rest/watcher/failedover
GET
※ http://management_server/xxxx/rest/watcher/までは変更可能です。
2
1-2 共通規約
コンテンツ情報サーバ⇔管理サーバ/制御CPU間の通信は、以下の規約に従うものとします。
共通規約
項目
内容
文字コード
UTF-8
リクエスト情報
HTTP Form形式
※変数(Key)に対して、複数の値、お
よび構造のある値を指定する場合は
JSON形式で送受信します。
JSON形式
レスポンス情報
レスポンスは、下表のレスポンスコード、およびレスポンス情報に従うものとします。
レスポンス情報の標準構成は以下の通りです。
{ code:0, message:”content file has been registered.”}
レスポンスコード一覧
レスポンス情報一覧
レスポンスコード
内容
Key
Value
200
正常終了
code
204
500
正常終了
※レスポンス情報を含まない場合
Bad Request
※データ形式が解釈できない場合
サーバエラー
0 : 正常終了
負数 : 異常終了
※負数の値は、各処理に割り当てられ
たコードを返すものとします。
404
URLの誤記
503
サーバが応答しない
400
各処理のステップ番号を付与するか?要検討
例)ファイリング情報(アセット)の登録時
-30 : 重複登録・必須項目チェック
-20 : ファイル登録処理
-10 : 登録処理
message
正常終了時 : 空文字列
異常終了時 : エラーメッセージ
3
管理サーバ/制御CPU -> コンテンツ情報サーバ
ファイリング指示データ情報受信
1. ファイリング指示データ情報受信
1.1 アクション
コンテンツ情報サーバに、ファイリング情報をアセットとして登録します。
1.2 リクエスト
通信方向 : 管理サーバ/制御CPU → コンテンツ情報サーバ
WebサービスURI : http://content_server/topaz/rest/asset/{materialId}
method : POST
リクエスト情報 : (一部抜粋)
tapeNo = 9
youtoFlag = 1
unyoFlag = 1
sozaiDt = 121212
filingStatus = 0
lowStatus = 0
…
※リクエスト情報の詳細については、別紙を参照してください。
1.3 レスポンス
標準構成に従います。
4
コンテンツ情報サーバ -> 管理サーバ/制御CPU
サムネイル生成完了通知
1. サムネイル生成完了通知
コンテンツ情報サーバは、以下の処理が完了した際に、管理サーバ/制御CPUへサムネイル生成完了を通知します。
・サムネイル生成
・メタデータ生成
・組立PV用ディレクトリ、ファイル構成
※通知ができなかった場合、再送しません。
※通知処理は、コンテンツ情報サーバのログファイルに記録します。
1.1 アクション
コンテンツ情報サーバにより送出されるサムネイル生成完了通知を受け付けます。
1.2 リクエスト
通信方向 : コンテンツ情報サーバ → 管理サーバ/制御CPU
WebサービスURI : http://management_server/xxxx/rest/watcher/createdThumbnail
method : GET
リクエスト情報 :
materialId = 素材コードブロック番号(素材ID)
lowUrl = ***
[低解像度PV用の保存フルパス] 要検討
thumbnailUrl = ***
[代表サムネイルの保存フルパス] 要検討
code = 0
message = “”
1.3 レスポンス
レスポンスコード : 200
ボディ : 標準構成を想定しています。
5
ダウンロード

コンテンツ情報サーバ