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

NAS Bridge管理APIは、RESTful Webサービス テクノロジを基盤として実装されています。Representational State Transfer(REST)は、サーバベースのリソースを公開してその状態を管理するために確立されたテクノロジと設計原則の集合です。RESTは主流の標準を使用しており、これによりNAS Bridgeノードを管理する基盤の柔軟性と拡張性が向上されています。

リソースと状態の表示

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

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

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

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

クライアントとサーバの間でメッセージを交換しながら、一般的なCRUD(作成、読み取り、更新、削除)モデルに従ってリソースへのアクセスおよびその状態の変更が行われます。

HTTPメッセージ

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

NAS Bridge管理APIでは、HTTPプロトコルのサブセットを利用して、次のHTTP動詞が使用されます。

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

URIエンドポイント

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

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

JSONの形式

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

複数のアクセス パス

RESTful Webサービスは柔軟性が高いため、管理APIには複数の方法でアクセスすることができます。
  • NAS Bridgeの標準ユーザ インターフェイス– APIには、主にNAS Bridgeの標準Webユーザ インターフェイスからアクセスします。ブラウザを使用してノードの管理IPアドレスにアクセスすると、最初のページにカテゴリ別に分類された管理機能が表示されます。ブラウザは、管理APIにアクセスし、ユーザ インターフェイスの設計に従ってデータを再フォーマットします。
  • Swagger Webページ – NAS Bridge管理APIでは、Swaggerオープン ソースAPIプラットフォームを使用して、ブラウザ使用時のNAS Bridgeノードへの代替アクセス ポイントを提供しています。Swaggerでは、ユーザ インターフェイスを使用してパラメータやオプションを変更した場合のAPIの動作を確認しながら、APIの開発を進めることができます。
    注意:Swaggerユーザ インターフェイスを使用して実行するAPI処理はすべてライブ処理です。設定やその他のデータを誤って作成、更新、または削除しないように注意してください。
  • カスタム プログラム – 各種のプログラミング言語やツールを使用して管理APIにアクセスすることができます。広く利用されているのは、Python、Java、cURLなどです。APIを使用するプログラム、スクリプト、またはツールは、RESTful Webサービスのクライアントとして機能します。プログラミング言語を使用すると、APIをより詳しく理解できるだけでなく、NAS Bridgeノードの管理と制御を自動化することができます。

データのアップロード

APIを使用してファイル(エクスポートされた構成ファイルなど)をアップロードする際には、マルチパート コンテンツ タイプでPOSTを実行する必要があります。そうしないとファイルのアップロードは失敗します。