第12回 サーバが通信を開始できるComet活用Webチャット
株式会社ピーデー川俣 晶
2006/9/23
| サーバが送りたいときにデータを送ることができるCometの活用事例「Lingr」や、JavaScriptなしのAjaxフレームワーク「ZK」などが続々登場(編集部) |
ハイライト1・Windows Live正式サービス開始 |
マイクロソフトが提供するAjaxポータルが正式にサービスを開始しました。より正確にいえば、「Live Search」と「Live.com(日本名称:Live.jp)」が正式版となります。
![]() |
| 画面1 画像検索では、サムネイルの大きさを変えられる |
このニュースの意義は、ただ単にそのようなサービスが正式版として開始されたということではありません。本来、デスクトップ上のソフトウェアで最強企業であったマイクロソフトが、本格的にWeb上のサービスに取り組んでいるという点で、特に大きなインパクトがあるわけです。他社が同様のサービスを始めるのとは、意味の質が違います。
- - PR -
それゆえに、ここで問われるのは、マイクロソフトを肯定するか否定するかという単純な判断ではありません。どのような組織でも見られることではありますが、大きな組織にはさまざまな人々とグループが存在し、1つの価値観で組織全体を見ることはできないのです。それと同じことがマイクロソフトにもいえます。マイクロソフトに嫌いな製品があるとしても、それはそれとしてWindows Liveを試してみる価値があるでしょう。マイクロソフトのある一部分が好ましくないとしても、別の一部分が好ましく感じられる状況は十分にあり得ると思います。
ハイライト2・快適かつ強力なチャットサービスLingr |
Webブラウザで快適かつ強力に使用できるチャットサービスです。サイトにアクセスするとアメリカ人がアメリカ人向けに作ったようにも見えますが、これは江島健太郎氏が手掛けたサービスであり、上記のブログに江島氏本人よる日本語の説明も書かれています。
![]() |
| 画面2 随時、サーバ側がデータをクライアントに送れるCometを活用 |
さて、このサービスの特徴は快適さと強力さです。快適さとは、メッセージを即座に伝達するシステムによって得られます。従来のWebチャットは、定期的にページをリロードするなどの方法を使っていて、リロードが行われるまですでに書かれたメッセージが見えないという問題がありました。この問題は、ストレートにAjaxを使っても解決しません。Ajaxの通信はクライアント側が開始するものですが、メッセージが到着したことを知っているのはサーバ側だからです。サーバ側は通信を始める側に立たないので、即座にメッセージは伝わらないことになります。
この問題を解決する方法の1つは、この連載の第3回「どんなに無茶をやっても「それもありかな」なAjax」〜すぐに反応が返ってくるチャット ConnectiveChatというソフトを紹介しました。その後、このようなサーバ側から送りたいときにデータを送ることができる技術は洗練度を上げ、Cometと呼ばれるようになりました。その具体的な応用例の1つとしてこのLingrがあるわけです。
もう1つ、強力さも重要なポイントです。チャットルームへのタグ付けによって、興味のある対象を扱うチャットルームを容易に探し出せるだけでなく、ホットなキーワードはより大きく表示され、それを知ることもできます。また、画像ファイルやYouTubeの動画も容易に張り付けることができます。さらに、匿名アクセス、プライベート・ルーム、チャット・ログの保存、パーマリンク(恒久的なURL)などの機能性もあり、使い込んでみたいと思わせる魅力を感じさせます。
ユーザー登録せずにすぐチャットルームを見ることができるので、ぜひ試してみてください。
ハイライト3・Ajaxデザインパターンを共有する |
英語のサイトですが、Ajaxに関するデザインパターンを集めたものです。内容は、主に以下の4つに分類されています。
- Foundational Technology Patterns(基礎的な技術パターン) (9)
- Programming Patterns(プログラミングパターン) (25)
- Functionality and Usability Patterns(機能性とユーザビリティのパターン) (28)
- Development Practices(開発プラクティス) (8)
![]() |
| 画面2 798ユーザーによって生成されたWkiページは4,651ページ(2006/9/23現在) |
例えば、Foundational Technology Patternsに含まれるXMLHttpRequest CallはAjax開発者なら誰でも経験のあるXMLHttpRequestオブジェクトを用いたリクエスト送信のパターンを記しています。同様に、IFrame Callは、XMLHttpRequestオブジェクトではなくiframe要素を使って同様に通信を行うパターンを記しています。さまざまなパターンがカタログ化されているので、さまざまなコーディングのパターンを容易に探し出すことができます。
ちなみに、HTTP Streamingは、上のLingrの説明で出てきたサーバ側がデータを送るタイミングを決めるCometのパターンです。
このサイトは、Ajax開発者であれば、ブックマークしておくと役に立つことがあるでしょう。
そのほかのみどころ |
Ajaxとそれに関連する話題を紹介します。
![]() |
![]() |
| JavaScriptだけでなく、Flashも |
マッシュアップコンテスト
サン・マイクロシステムズとリクルートとが、共同で行ったアワードの結果が公開されています。このアワードは、「Web2.0に対応した新しい情報サービスアプリケーション・Webコンテンツの可能性への共同トライアルとして、広く世の中の叡智を募るために設けた」とするもので、「リクルートWebサービスAPIまたはRSSを利用して構築されるアプリケーションまたはWebコンテンツ」を対象としたものです。
ちなみに、Mash up(マッシュアップ)とは、既存のWebサービスなどに対して、独自のユーザーインターフェイスや付加価値を付けたサービスを作成することをいいます。開発した……というとすべて自作したように聞こえるし、かといって、利用したというだけでは何も努力や工夫を行っていないように思われかねないので、新しい言葉が必要とされたのではないかと思います。最近の流行語です。
ある程度の水準にある作品がリスト化されていて、容易に見渡すことができるという意味で、この受賞結果のサイトは訪問する価値があると感じます。
![]() |
| 訪問履歴、あなたはWeb2.0何級? |
Web2.0レベルは?
あなたが、どれぐらいWeb2.0を親しんでいるかを判定する「ユーモア」サービスです。大きなGO!ボタンをクリックすると、Webブラウザの履歴から度合いが算出されます。取りあえず、1回ボタンを押して、ムードある演出を楽しんでみてください。
![]() |
| 好きな都市の時計も貼れる |
地図から地域を指定
世界中の時間を知ることができるワールドクロックです。ただし、地図をクリックすることで、地域を指定することができる点が特徴的です。しかも、地図は拡大率を変えることもスクロールさせることもできます。Google Mapsというリッチな地図サービスが無料で使えることで初めて可能となったサービスといえます。
強力過ぎるサービスが湯水のごとく、タダ同然、あるいはタダで利用できる世界では、補助的な役割のために強力なサービスを取り込むこともできるようになります。
![]() |
| XUL(XML User Interface)ライクなZK2.1.1 |
JavaScriptなしのAjaxフレームワーク
JavaScript不要のAjaxを標榜するフレームワークです。JavaScriptを使わないなら何を使うのかといえば、ZUML(ZK User-interface Markup Language)という独自の言語です。JavaScriptが気に入らないと思えば、その上に別言語のレイヤを入れてしまうのも1つの選択肢でしょう。
こういう方法でもAjaxアプリケーションは書けるのだ……というある種の異質さを実感してみるのもいいと思います。今回は、AjaxうきうきWatchで取り上げる事象がまだ残っているので、来週も続いて紹介します。お楽しみに。
Ajax うきうき Watch バックナンバー
- 第1回 Webアプリのユーザビリティを改善しまくるAjax
- 第2回 Ajax、それはWeb 2.0へと続く道
- 第3回 どんなに無茶をやっても「それもありかな」なAjax
- 第4回 自動車業界のAjaxを活用したキャンペーンを目撃せよ
- 第5回 “どのブラウザでも動くAjax”を共有財産として育てよう
- 第6回 プロプライエタリ2.0から考えるAjaxの公開/非公開部
- 第7回 メモリリークが小さくなったGoogle Maps APIの新版
- 第8回 “CGUI” 消費者が作り出すUIの時代突入
- 第9回 巨大化するAjaxライブラリをシンプルにする新たな流れ
- 第10回 地図のように年代を移動できるMITのAjax歴史年表
- 第11回 JSONがRFCになり、どんどんこなれるAjaxサービス
- 第12回 サーバが通信を開始できるComet活用Webチャット
- 第13回 オンラインゲームで検索精度を上げるGoogleの巧みさ
- 第14回 IE7とFirefox 2への利用者の大移動は起こるか?
- 第15回 グーグル検索エンジンを特定ジャンル専用に、Co-op
- 第16回 帯域やデバイス領域をフル活用させる“モバイルAjax”
- 第17回 新しい技術を模索するYahoo!、Google、MS
- 第18回 Ajaxの高度な使用例、Yahoo! pipes
- 第19回 Apollo参戦でウィジェット開発者の争奪戦が激化
- 第20回 Twitter登場で注目されるRTコミュニケーションツール
- 第21回 過熱するTwitterブームとMicrosoftのマッシュアップ
- 第22回 iPhoneのAjax戦略、そして今日もWeb APIは増加する
- 第23回 Ajax開発者がヒーローになるとき、それはいま!
- 第24回 携帯電話への拡張を進めるGoogleとWeb隠しコマンド
- 第25回 Ajaxで加速!? エンタープライズ2.0とWebOSの普及
- 第26回 「言葉」を超えた説得力を持つAjaxの存在感と広がり
- 第27回 ゲームから読み解く、俺スクリプト時代の知的な挑戦
- 第28回 マッシュアップ元年が終わり、2008年はどうなる?
- 第29回 Twitterやクラウドへも分岐するAjax/Web APIの道
- 第30回 Ajaxはじめて物語、そしてサーバでも動くJavaScript
- 第31回 新ブラウザ戦争はon fireだがJavaScriptはoffのナゾ
- 第32回 Google App EngineはAjaxへのハードルを下げるか?
- 最終回 Pure JavaScriptの動画再生やRPGも好きでした
AjaxでつくるインタラクティブWebアプリケーション
AjaxでWebフォトアルバムを、ゼロから開発する。ライブラリを用いて機能を作り上げていくステップを、具体的に解説する
| 古くて新しいAjaxの真実を見極める 「Webインターフェイスの新しい手法」「画期的なWebアプリケーションの仕組み」であるとして開発者たちの人気を集めるAjaxとは何なのか、その真実を見極めてみよう 最終更新 2005/8/2
|
||
ホワイトペーパー(TechTargetジャパン)
- 画像を美しく魅せる効果を加えるjQueryプラグイン3選 (2010/3/17)
2つ重ねて比較するBefore/After、部分ごとに切り替えるpanelGallery、ズーム/カーテンなどができるcycle - 現場の無駄な流血を止めるための「プロトタイプ」とは (2010/3/12)
サイトやWebアプリ/RIAの設計やデザインを効率良く進めるには、プロジェクト関係者の想定を一致させていくことが大事だが… - Flashを閃光のごとく高速化するための基礎知識 (2010/3/9)
Flash高速化のための基礎知識や実践的テクニックを紹介する連載。初回は“処理負荷”を調べる具体的な方法を解説します - Windows 7でどんだけ“おばか”なアプリが作れるの? (2010/3/4)
おばかの発想の源やアプリの作り方などについて、おばかアプリ選手権の歴戦の受賞者や、マイクロソフトの代表者に話を伺った。アイデアのご参考に
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |














