Restful-resources
RESTful Webサービス-リソース
リソースとは何ですか?
RESTアーキテクチャは、すべてのコンテンツをリソースとして扱います。 これらのリソースには、テキストファイル、Htmlページ、画像、ビデオ、または動的なビジネスデータがあります。 RESTサーバーは、単にリソースへのアクセスを提供し、RESTクライアントはリソースにアクセスして変更します。 ここで、各リソースはURI/グローバルIDによって識別されます。 RESTはさまざまな表現を使用して、テキスト、JSON、XMLのリソースを表します。 リソースの最も一般的な表現はXMLとJSONです。
リソースの表現
RESTのリソースは、オブジェクト指向プログラミングの同様のオブジェクト、またはデータベースのエンティティのようなものです。 リソースが識別されると、サーバーが上記の形式でリソースを送信でき、クライアントが同じ形式を理解できるように、標準形式を使用してその表現が決定されます。
たとえば、リンク:/restful/restful_first_application [RESTful Web Services-First Application]の章では、ユーザーは次のXML形式を使用して表されるリソースです-
<user>
<id>1</id>
<name>Mahesh</name>
<profession>Teacher</profession>
</user>
同じリソースは、次のようにJSON形式で表すことができます-
{
"id":1,
"name":"Mahesh",
"profession":"Teacher"
}
優れたリソース表現
RESTは、リソース表現の形式に制限を課しません。 クライアントはJSON表現を要求できますが、別のクライアントは同じリソースのXML表現をサーバーなどに要求できます。 クライアントが理解できる形式でリソースをクライアントに渡すことは、RESTサーバーの責任です。
以下は、RESTful Webサービスでリソースの表現形式を設計する際に考慮すべき重要なポイントです。
- 理解度-サーバーとクライアントの両方が、リソースの表現形式を理解して利用できる必要があります。
- 完全性-フォーマットはリソースを完全に表現できる必要があります。 たとえば、リソースには別のリソースを含めることができます。 フォーマットは、リソースの単純な構造と複雑な構造を表現できる必要があります。
- リンク-リソースは別のリソースへのリンケージを持つことができ、フォーマットはそのような状況を処理できるはずです。
ただし、現在、ほとんどのWebサービスは、XML形式またはJSON形式を使用してリソースを表しています。 XMLおよびJSONデータを理解、解析、および変更するために利用できるライブラリとツールがたくさんあります。