SOAPとREST。SOAPは死んだのか
SOAP is Not Dead - It's Undead, a Zombie in the Enterpriseを読みました。
SOAPは死んでない、ゾンビだ。ということです。
自分自身はB2B、または巨大企業の社内システム間に関わることが多く、ほとんどSOAPです。
SOAP&WSDLの良いところは、ツールを使っての自動生成や、アノテーションからのWSDLの自動生成などにあると思います。つまり、厳密に仕様定義を行いツール(機械)が判別できるようにすることです。
一方、REST。
ここでいうRESTはいわゆるRESTFulとかではなく、プロトコルとしてのRESTだと思うのですが、シンプル、レイヤーとしてthinになります。
開発生産性でいうと、どっちでも変わらない。特にでかいプロジェクトでは、サービス呼び出しの部分なんかほんの一部なので誤差の範囲だと思います。
SOAPは面倒と言われますが、自動のためのツールとJavaにはかなり最適化されていると思うので、クラスからのWebサービス化や、WSDLをもとにクライアントを作るのは一瞬です。
SOAPでデメリットかなーと思うのは、、、
- SOAPは自動生成されたコードが多いので、何かあったときに追っかけていくのが面倒。
- SOAPの自動生成コードと、APサーバのライブラリとの相性を要チェック。APサーバが異なると動かない場合がある。もちろん普通の場合は大丈夫だけど、暗号化とか認証とかちょっと変わったことをやろうとするとある
これらはRESTを使い込んでいないので、実はRESTでもあるのかも知れないけれど
「Java による RESTful システム構築」 を読んでみようと思う。以下書評。
http://www.artonx.org/diary/20100810.html#p01
http://d.hatena.ne.jp/Yoshiori/20100906/1283762429