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が使い物になれば、外部システムとの連携やスマートフォンからの接続もより簡単に実装できるだろう。
| 固定リンク
「ソフトウェア」カテゴリの記事
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのenum型はシングルトンクラスみたいだ(2022.06.20)
- テスラが従来の自動車メーカーと異なるところは工場までソフトウェア化すること(2022.02.09)
- 「RubyやRailsは終わった」という記事のリンク(2022.01.09)
- 実践した後に勉強するのがエンジニアの本来の道(2022.01.09)
「Ruby」カテゴリの記事
- 「コーディングを支える技術」は良い本だ(2022.05.26)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- 「RubyやRailsは終わった」という記事のリンク(2022.01.09)
- ITの技術や知識はツールの習得と表裏一体である(2021.03.26)
- JRubyの終焉(2020.06.09)
コメント