PR

 「Web2.0は技術じゃない」。こう断言する向きがあります。ただ,「それは間違いだった」と言って良いのではないかと私は考えます。

 Webというプラットフォームは,現在情報システムを語る上で,最重要の基盤となっています。その主要部分を定義するW3C(World Wide Web Consortium) がWeb2.0の要求を取り入れて,大きな改訂作業を行っています。この状況に対して,「Web2.0は技術じゃない」と断言してもそれは虚しく響きます。

 次第に,企業情報システムのビジョンの策定,そして企業情報システムにおける要求開発の結果が,Webの規格に影響を与えることが増えてくるでしょう。RESTに大いに影響されたSOAP1.2WSDL2.0の規格などはその典型例と言えます。

 Webの原点への回帰を促したRESTは,WebAPIを簡潔に呼び出すだけでWebサービスを実現できることを示してくれました。REST型WebAPIの隆盛は,元祖WebサービスのSOAP/WSDLに影響を与えています。httpのGETを利用可能とする等の進化を遂げたSOAP1.2WSDL2.0がまもなく利用可能となり,普及が見込まれています。

 SOAP/WSDLは,B2CよりはB2B――企業間連携や企業内アプリケーション統合で多く使われる規格です。つまり,“for Enterprise”の最重要規格の一つであり続けています。具体的には,Webサービスを呼び出す際に,構造をもった情報(XML)を渡して、ある程度複雑な連携をしたければSOAP/WSDLを用いることになります。

互いの長所を取り込むREST/WADLとSOAP/WSDL

 SOAP/WSDLがRESTの守備範囲に進出する一方,REST側も適用対象の広がりを見せようとしています。純粋なREST(RESTfulと呼ばれます)では無くなってしまいますが,SessionやCookieも利用できて便利だったり,手軽にセキュリティを確保できます。SSL対応のhttpsプロトコルで実現可能なのです。SOAP/WSDLがWS-Securityの諸要素,すなわちXML署名,XML暗号を使わないとEnd-to-endの秘匿性を保証し難いのに対し,実に簡便です。もちろん,できることは限られていますが。

 RESTの仕様定義をXMLできっちり行い,様々な開発環境の拡張や仕様自体の拡張を可能にする規格としてる WADL (Web Application Description Language) が注目されています。仕様記述はRelaxNG あるいは XML Shema で行い,httpのDELETE, GET, HEAD, POST, PUTに対応しています。WADLについてはまた別の機会に取り上げたいと思います。

SOAPをREST対応にする