0
0

More than 3 years have passed since last update.

リソース指向アーキテクチャ(ROA)について

Posted at

リソース指向アーキテクチャ(ROA)とは

リソース指向アーキテクチャ(Resource Oriented Architecture、以下ROA)とは、それ自体を参照するに値するものを「リソース」として定義し、リソースを中心に考えるアーキテクチャのこと。また、ROAはREST APIを実装するうえで問題を解決してくれるアーキテクチャでもある。言い換えるとREST APIはROAの実装ということである。

ROAの概念

ROAには以下の概念が存在する。

1.リソース

Web上に存在する情報、データのこと。
ドキュメントやデータベースの行など、それ自体を参照するに値するほどの重要性を持っている。

2.名前(URI)

リソースの名前とアドレスである。
リソースは少なくとも1つのURIを持っていなければならない。

3.表現

Webサーバはリソースを特定の言語(英語、日本語等)、フォーマット(XML、JSON等)で送信しなければならない。
こういったリソースの形式をリソースの表現と呼ぶ。

4.リソース間のリンク(リンクと接続性)

リソースには別のリソースへのリンクを含めることができる。リンクを含めることで別のリソースに接続することができる。
このように、リソースに含まれるリンクをもとに別のリソースに接続可能となる(遷移可能となる)性質のことを「接続性」と呼ぶ。

ROAの特性

ROAには以下の特性が存在する。

1.アドレス可能性

URIを通じてリソースを簡単に指し示せる性質のことを「アドレス可能性」と呼ぶ。

2.ステートレス性

全てのHTTPリクエストが完全に分離している性質のことを「ステートレス性」と呼ぶ。セッション等の状態管理はせず、やり取りされる情報はそれ自体で完結して解釈できること。

3.リンクと接続性

リソースには別のリソースへのリンクを含めることができる。リンクを含めることで別のリソースに接続することができる。このように、リソースに含まれるリンクをもとに別のリソースに接続可能となる(遷移可能となる)性質のことを「接続性」と呼ぶ。

4.統一インターフェース

リソースの操作をする時に、全てHTTPメソッドが定義通りに使われることを「統一インターフェース」と呼ぶ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0