JSONとFREDDY、変貌するWeb技術

Web 2.0が引き起こしたパラダイムシフト 読者の皆さんはWebと親和性の高いデータフォーマットと聞いて、何を思い浮かべるだろうか。もしこの問いを数年前に発したのなら、おそらくほとんどの人がXMLと答えただろう。今年で誕生から10年を迎えたXMLは、データ交換のための最も重要なフォーマットとして、

横山 昌平

2008年8月4日 20:00

Web 2.0が引き起こしたパラダイムシフト

 読者の皆さんはWebと親和性の高いデータフォーマットと聞いて、何を思い浮かべるだろうか。もしこの問いを数年前に発したのなら、おそらくほとんどの人がXMLと答えただろう。今年で誕生から10年を迎えたXMLは、データ交換のための最も重要なフォーマットとして、利用機会が高くさまざまな分野で用いられている。しかしながら、今日では、Webと親和性の高いデータフォーマットは「JSON」と答える人も多いのではないだろうか。

 Web 2.0というキーワードとともに、ここ数年でWebを取り巻く環境は劇的に変化した。もちろんWeb 2.0という用語自体は単なるバズワードであり、意味のない宣伝用語として使われることも多く、筆者自身あまり好きな言葉ではない。Tim O'Reilly氏のWeb 2.0の定義(http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html)には納得できるが、だからと言って、例えばmixiがWeb 2.0だと言われ、2chがWeb 2.0でないと言われていることは、筆者には全く理解できない。

 しかしながら、そのような社会科学的な分類論争を無視し、技術的な側面にのみ着目すれば、Web 2.0というキーワードは1つのパラダイムシフトを表していると考えることができる。

 つまり、Web 2.0が騒がれだしたころを境目に、Webで使われている技術はXMLからJSONへ、ページ遷移による通信からAjaxによる通信へ、SOAPやWSDL、UDDIを利用するWebサービスからRESTful Webサービスへと大きくシフトしつつある。これら新しい技術の共通項は「より軽量」「より簡単」な点である。

 本連載ではWebサーバーとWebブラウザ間のデータ通信に着目し、現在静岡大学情報学部において筆者らが研究開発している軽量なデータ通信手法「FREDDY」を紹介する。本研究において筆者らが取り組んでいるのは、大規模なデータをWebサーバーからWebブラウザまで届けるという課題である。例えば「1GBのデータをWebサーバーからWebブラウザ上のWebアプリケーションへ簡単に届けるにはどうしたら良いのか?」という問いに対して、本連載にて1つの解法を示したいと考えている。

Ajaxの特徴と限界

 FREDDYの詳細の説明に入る前に、既存技術を紹介し、FREDDYの研究に至る背景を説明しておこう。

 WebサーバーとWebブラウザ間の通信手法の1つにAjax(Asynchronous JavaScript and XML)がある。AjaxはWebブラウザ上で非同期通信を行う仕組みであり、ダイナミックHTML技術と組み合わせることにより、ページ遷移を伴わずにバックグラウンドでWebサーバーと通信を行い、表示されているコンテンツの一部を書き換えることができる。

 AjaxはWeb 2.0と同じく定義づけの弱い用語だが、一般的にはXMLHttpRequestオブジェクト経由でWebサーバーへアクセスする手法のことを指す。XML文書を出力するCGIなどと組み合わせれば、Webサーバーとクライアント間の動的かつ非同期のデータ通信を実現できる。

 しかしAjaxにはクロスドメイン制約があり、Webページを取得したサーバーとしか通信ができない。Webアプリケーションによる汎用的なデータ通信手法を考える際、この制約は障害となる。

 このAjaxの問題を回避する手法として、Dynamic Script Tagという手法が注目されている。Dynamic Script Tagとは、JavaScriptファイルを動的にWebページのDOMツリーに挿入する手法で、URLで指定することのできる任意のJavaScriptプログラムを実行することができる。Dynamic Script Tagなら、URLでアクセスできるすべてのJavaScriptリソースにアクセスすることが可能だ。しかしながら、この手法を利用して読み込むリソースの形式はあくまでJavaScriptのプログラムコードであり、XMLなど汎用のデータ記述形式を直接扱う事ができるわけではない。

 次は、JSONの特徴とFREDDYの登場した背景を説明しよう。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30