たなかこういちの資料室

システム開発に携わる筆者があれこれ試したことや学んだことについてのまとめ

SOAとROAの比較、まとめ

 

基礎とする技術(実現方式)

提供するモノ(論理構成)

モノの例え
SOA SOAP, XML 再利用性の高い業務ロジック(機能) RPC
ROA REST, JSON データへの汎用的なアクセス手段(エンティティ) RDBMS
 
※“本来のSOA, ROA”は上記の通りだが、下記参考文献でも言及ありますが、実際のプロジェクトには「ROAの技術( RESTやJSON)を用いたSOA」が大量に存在します。「機能を提供したいのだが、採用技術は軽量のがよい」という判断は全く悪いことではありません。ただ、技術はRESTであってもシステムの論理構成はサービス指向ベースでデザインしている/されている、という点を誤認識しないようにする必要があります。
 
※ちなみに、「ROAの技術を用いたSOA」を、( RESTful(フル)に対して)「REST風(ふう)」と称するべきでしょう。
 
 

基礎とする技術(実現方式)

提供するモノ(論理構成)

REST風(ふう) REST, JSON 再利用性の高い業務ロジック(機能)
 

「RESTful = REST風」という理解をされている方もいるようですが、「RESTful」はRESTの原理原則に完全準拠していることを表していて、「REST風」は「REST-like」の意味のはずなので、「「RESTful」と「REST風」は(本記事の説明のように)異なる」、というのが妥当な理解だと思います。

 
参考文献
- InfoQ、「SOAの未来はRESTか」:http://www.infoq.com/jp/articles/RESTSOAFuture
 
◆以上
 

関連記事