RESTful Webサービスの基礎

NAS Bridge管理APIは、RESTful Webサービスに基づいています。Representational State Transfer(REST)は、サーバベースのリソースを公開するために確立されたガイドラインです。RESTはNAS Bridgeを管理するための柔軟で拡張性の高い基盤を提供します。

リソースと状態の表示

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

    すべてのシステムは、リソースを使用し、管理します。リソースには、ファイル、ビジネス情報、プロセス、管理エンティティなどがあります。

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

    リソースは必ず複数ある状態のいずれかに該当します。状態の変更に使用される処理を明確に定義する必要があります。

クライアントとサーバの間でメッセージが交換されて、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エンドポイント

Uniform Resource Identifier(URI)は、リソースが配置されているエンドポイントの指定に使用します。URIは、一意なリソース名を作成するための一般的なフレームワークです。リソースは、階層型ディレクトリに似た構造で公開されます。

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

JSONの形式

Webクライアントとサーバの間では複数の方法で情報を転送できますが、最も広く使用されている方法は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 Webページを使用して実行するAPI処理はすべてその場で実行されます。設定データやその他のデータを誤って作成、更新、または削除しないように注意してください。
  • カスタム プログラム - Python、Java、cURLなどの各種プログラミング言語やツールを使用して管理APIにアクセスすることができます。APIを使用するプログラム、スクリプト、またはツールは、RESTful Webサービスのクライアントとして機能します。プログラミング言語を使用すると、APIをより詳しく理解できるだけでなく、NAS Bridgeノードの管理と制御を自動化することができます。

データのアップロード

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