SOAPからRESTへ
InfoQの記事「InfoQ: SOAP から REST へ - その方法と意義」が良かったのでメモ。
【元ネタ】
InfoQ: SOAP から REST へ - その方法と意義
次世代Webフレームワークの設計思想~RESTful Webサービス: プログラマの思索
Ruby on Rails + Curl リッチクライアントCRUDアプリを作成する(1/5):CodeZine
RedmineのRESTful APIを使う: プログラマの思索
SOA(サービス指向アーキテクチャ)はバズワードだ。
SOAこそが今後の設計の将来だ、と言われた時期があったけれど、結局使いづらかったのではないか。
SOAを支えるエンタープライズ系技術としてSOAP、WSDLなどが声高に叫ばれたが、結局廃れてしまったか、傍流の技術になってしまったように思う。
渡辺幸三さんもDOAの立場から、SOAと言うWebサービス経由のシステム設計で、業務システム設計の全てが解決できるわけではなく幻想に近い、と言われていたのを思い出す。
データをXML形式でHTTP経由でやり取りするのは、確かに設計は綺麗なのだが、プログラムはかなり泥臭いし、結構工数もかかる。
対照的に、草の根的に発展してきたRESTはRuby on Railsの歴史と重なる。
RESTの解説はRailsを生み出したDHH(デビッド・トーマス)のRuby会議の資料がとても分かりやすかった。
#但し、何故か今はリンクが切れてしまって読めなくなっている。
Rubyist Magazine - 日本 Ruby カンファレンス 2006 特別号
RESTは、HTTPもDBと同様にCRUD操作があるという前提で作られている。
Railsは、DBを操作するActiveRecordと、HTTPを操作するRESTを故意に同一視して、URLを叩けば即座にDB操作できるような仕掛けを作っているのがすごい点だと思う。
InfoQ: SOAP から REST へ - その方法と意義の記事によれば、最近のWebAPIはRESTが圧倒的らしい。
Railsを改めて振り返ると、とてもエポックメイキングなWeb技術なのだな、と思う。
【追記】
@yohshiyさんがr-labs でRedmine REST APIを翻訳して公開されていた。
Redmine REST APIの機能は未完成だけれども、その可能性はとても大きいと思う。
RESTが使い物になれば、外部システムとの連携やスマートフォンからの接続もより簡単に実装できるだろう。
| 固定リンク
「ソフトウェア」カテゴリの記事
- マインドマップをFreeplaneに乗り換えた(2020.11.21)
- ソフトウェアの政治的影響力とは何だろうか(2020.07.07)
- DevOpsがアジャイル開発を促進する(2020.06.11)
- AzureクラウドデザインパターンとAWSクラウドデザインパターンのリンク(2020.06.09)
- Ruby技術者認定試験の感想(2020.05.08)
「Ruby」カテゴリの記事
- JRubyの終焉(2020.06.09)
- PythonとRubyの違い(2020.05.10)
- Ruby技術者認定試験の感想(2020.05.08)
- 「Rubyのしくみ」を読んだ後のRubyの感想(2020.04.07)
- Ruby初心者が間違いそうなこと(2020.03.06)
コメント