Web2.0の情報アーキテクチャ
Web2.0を支える技術トピック
本稿ではWeb2.0的なサービス、製品を実現するための具体的な技術に焦点を当てていく
ブログとRSS/Atomの普及
企業や組織が作成したページを閲覧するパブリッシング型から、利用者自らが情報を発信していく参加型への移行
検索APIを提供するWebサービス
GoogleやYahoo!は、人間でなくアプリケーションプログラムからも同様に検索サービスを利用できるAPIを公開している。ただしアプリケーションごとに1日に検索できるクエリ数が制限される運用となっている。GoogleはSOAP /WSDL (WEB Services Description Language)ベースの検索APIを、Yahoo!はRESTベースの検索APIをそれぞれ提供する。Amazonでは書籍用のISBNコード に加えて、自社サイトで扱うすべての商品に付与してASINコード(amazon standard identification number)を提供する。
Ajaxの浸透と発展
Rich User Experiencesを最大化するための技術要素としてAjaxが重要となっている。これは以下の技術の組み合わせであると定義されている。
- XHTMLおよびCSSを利用した標準に基づく表現
- DOM を利用した動的表示とインタラクション
- XMLおよびXSLT(XMLによって記述された文書を他のXML文書に変換するための簡易言語。)を利用したデータ交換や操作
- XMLHttpRequestを利用した非同期データ取得
- それらすべてを結びつけるJavaScript
XMLHttpRequestとはJavaScriptでWebブラウザ~サーバ間の非同期通信の機能を提供するクラスである。またAjaxの浸透によりJavaScriptの重要度が再確認されてきたためJavaScriptライブラリの充実が行われている。
XMLを補完するJSONフォーマット
XMLほどの厳密性がそれほど必要とされない分野で活躍できるという意味でJSON(JavaScript Object Notation)が脚光を浴びつつある。XMLの持つすべての機能をJSONで再現できるわけではないが、JavaScriptを利用したWebアプリケーション実装において必要となるデータはすべてJSON形式で表現することが可能である。これにより冗長なXMLコードを生成する必要がなくなる。
万年β版ソフトウェアとテスト
ソフトウェアをパッケージ販売することよりもWebからダウンロードすることが増えてきている。それによるメリットとしては、更新した場合新たなパッケージを買う必要などなく更新プログラムをダウンロードしてくるだけで済む。またユーザとのWebでのインタラクションなどによりさらに良いサービスが提供できる機会が増えるなどがある。βというフレーズはテストの段階を表すための言葉ではなく、単にサービスの鮮度を表すために利用されることが多い。
軽量プログラミングモデルと疎結合
RSSやRESTベースのシステムを導入する際のキーワードとして疎結合が挙げられる。従来型の企業システムに見られたような密結合した複数システム間の調整は避け、各システムが緩やかに連携する運用を実現する。API使用に沿う限り、システム環境やプログラムの開発言語は問われないためどの言語でも自由な開発ができる。しかし、実装が優先され、詳細な使用の明文化が足りないも多くなり、相互運用性の確保が徐々に難しくなってきている。
マッシュアップと今後のアーキテクチャ
企業がAPIを公開する場合が増えてきたが、それは第三者に新たなサービスの提供を期待して行うものである。このAPIを利用してそれを既存の技術と結びつけ新たなサービスを展開することをマッシュアップと呼んでおり、現在の流行である。
参考 IPSJ Magazine Vol47 No.11 Nov.2006
0 件のコメント:
コメントを投稿