基盤としてのRESTful Webサービス

NAS Bridge管理APIは、RESTful Webサービスを基盤としています。Representational State Transfer(REST)は、サーバベースのリソースを公開してその状態を管理するために確立されたガイドラインと設計原則の集合です。RESTは主流の規格を使用しており、これがNAS Bridgeを管理するための柔軟で拡張性の高い基盤となっています。

リソースと状態の表示

RESTful Webサービスの設計の核となるのは、次の要素です。
  • システムまたはサーバベースのリソースの識別

    すべてのシステムは、リソースを使用し、管理します。リソースには、ファイル、ビジネス情報、プロセス、管理エンティティなどがあります。RESTful Webサービスに基づいてアプリケーションを設計する際に行う最初の作業の1つは、リソースを識別することです。

  • リソースの状態および関連する状態操作の定義

    リソースの状態の数は有限で、リソースは必ずそのいずれかの状態にあります。状態とその変更に使用する操作を明確に定義する必要があります。

クライアントとサーバの間でメッセージを交換しながら、CRUD(Create、Read、Update、Delete)操作に従ってリソースにアクセスしてその状態を変更します。

HTTPメッセージ

Hypertext Transfer Protocol(HTTP)は、Webサービスのクライアントとサーバがリソースに関するメッセージを交換する際に使用するプロトコルです。HTTPメッセージの交換時には、HTTP動詞がリソースおよび対応する状態管理アクションにマッピングされます。

NAS Bridge管理APIはHTTPのサブセットを利用し、次のHTTP動詞を使用します。

HTTPはステートレスです。このため、関連する一連の要求と応答を1つのIDで関連付けるには、HTTPヘッダーやクッキーなどの追加情報をデータ フローに追加する必要があります。また、HTTPはデフォルトでTCPポート80を使用します。

URIエンドポイント

すべてのRESTリソースは、明確に定義されたアドレス指定方式を使用して定義、提供される必要があります。Uniform Resource Identifier(URI)は、リソースが配置されているエンドポイントの指定に使用します。URIは、ネットワークで使用可能なリソースに一意の名前を作成するための一般的な枠組みです。リソースは、階層型ディレクトリに似た構造で公開されます。

Uniform Resource Locator(URL)は主にWebに適用されるURIの一種で、RESTful Webサービスの設計に使用されます。URLは、リソースの識別および表示されたリソースへのアクセスに使用されます。

JSONの形式

Webクライアントとサーバの間では複数の方法で情報を転送できますが、最も広く使用されている方法(NAS Bridgeでも使用)はJavaScript Object Notation(JSON)です。JSONは、オブジェクトやアレイなどの単純なデータ構造をプレーン テキストで表すための標準です。NAS Bridge RESTful Webサービスでは、各リソースを記述する状態情報の表示と転送にJSONが使用されています。

複数のアクセス パス

NAS Bridge管理APIには、次のような方法でアクセスできます。
  • NAS Bridgeの標準ユーザ インターフェイスNAS Bridgeの標準Webユーザ インターフェイスから間接的にAPIにアクセスします。ブラウザを使用してNAS Bridgeの管理IPアドレスにアクセスすると、最初のページにカテゴリ別に分類された管理機能が表示されます。ブラウザは、管理APIにアクセスし、ユーザ インターフェイスの設計に従ってデータを再フォーマットします。つまり、ユーザはNAS Bridgeのユーザ インターフェイスを操作し、ユーザ インターフェイスは対応するAPI呼び出しを作成します。
  • API Docs(Swagger)Webページ:ブラウザから管理IPアドレスを介してNAS Bridgeにアクセスしたら、[API Docs] Webページ(Swaggerオープン ソース プラットフォームが提供)にアクセスできます。API Docsページでは、ユーザ インターフェイスを使用してパラメータやオプションを変更した場合のAPIの動作を確認しながら、APIの開発を進めることができます。API Docs(Swagger)インターフェイスの表示例については、NAS Bridge管理APIの使用手順を参照してください。
    注意:API Docs(Swagger)ユーザ インターフェイスを使用して実行するAPI処理はすべてその場で実行されます。設定やその他のデータを誤って作成、更新、または削除しないように注意してください。
  • カスタム プログラム - Python、Java、cURLなどの各種プログラミング言語やツールを使用して管理APIにアクセスすることができます。APIを使用するプログラム、スクリプト、またはツールは、RESTful Webサービスのクライアントとして機能します。プログラミング言語を使用すると、APIをより詳しく理解できるだけでなく、NAS Bridgeノードの管理と制御を自動化することができます。

データのアップロード

APIを使用してNAS Bridgeのリカバリ パッケージなどのファイルをアップロードする場合は、マルチパートのコンテンツ タイプでPOSTを実行する必要があります。そうしないと、ファイルはアップロードされません。