アットマーク・アイティ @IT@IT情報マネジメント@IT自分戦略研究所QA@ITイベントカレンダー  
 @IT > Master of IP Network > Mobile Connection > 「Webクリッピング」の概要
 


モバイルに最適化されたWebアプリケーション技術
Palmの新サービス「Webクリッピング」とは?

柳下剛利
パームコンピューティング株式会社
2001/4/24

今回のおもな内容
モバイルに最適化されたWebクリッピングとは
Webクリッピングの技術的背景
Webクリッピングの開発に必要なもの
実際にWebクリッピングアプリケーションを作ってみよう
Webクリッピングアプリケーションの事例〜米国でのビジネス活用例〜

 日本でもPalm OSの最新バージョンである4.0を搭載したm500シリーズが発表された。Palm OS 4.0の特徴の1つである「Webクリッピング」は、すでに米国ではサービスインされており、500以上のコンテンツを有している。今回のm500シリーズの発表に併せ、日本でもWebクリッピングがサービスインされるそこで、今回はWebクリッピングの概要について紹介する。

   モバイルに最適化された
 Webクリッピングとは

 iモードの爆発的な普及により、モバイルインターネット環境をビジネスアプリケーションに活用できるようになった。しかし、イントラネットと異なり、圧倒的に遅い通信速度を十分に考慮してシステムを開発しないと、レスポンスの悪さや通信コストの増大を引き起こしてしまう。

 米パーム社は、この課題を解決するため、Palm OS搭載機を対象に、モバイルインターネット環境に最適化されたWebアプリケーション技術「Webクリッピング」を開発した。Webクリッピングでは、情報取得の条件やフォーム入力をオフラインで行い、クエリーやフォームの送信とそのレスポンスの受信のときのみオンラインにすることを技術の中核にすえている。また、取得する情報についても、その名のとおり、コンテンツをブラウズ(参照)するのではなく、コンテンツの必要な部分のみを抜き出す(クリップ)ことで、低速なネットワーク環境でも快適にコンテンツへのアクセスを可能にしている。

編集局注
 米国では、Palm VIIという無線モデムを内蔵した機種が発表されている。また、米パーム社は同時に専用のインフラ「Palm.Net」を用意している。日本法人のパームコンビューティングでは、米国との通信事情の違いからインフラは用意せず、既存の通信インフラを利用する。現状では、Palm m500シリーズにモデムや携帯電話を接続し、そこからインターネット経由で、Webクリッピングを利用することになる。

 また、公式には発表していないが、ワイヤレス通信機能を内蔵した機種の準備も着々と進められている。 


   Webクリッピングの
 技術的背景

 Webクリッピング技術は、大別してクライアントアプリケーション、プロキシサーバ、サーバアプリケーションという要素で構成される。

 Webクリッピング技術に対応したクライアントアプリケーションを、「Webクリッピングアプリケーション」という。一般のWebブラウザの場合、URLを入力・指定してアプリケーションを実行するというスタイルだが、WebクリッピングアプリケーションはほかのPalmwareと同様に「タップ&ラン」をサポートしており、利用者がWebアクセスしていることを限りなく意識させないようにしている。

 Webクリッピングアプリケーションは、HTML 3.2レベルのWebコンテンツ/アプリケーションを、開発ツール「Webクリッピングアプリケーションビルダー(WCAビルダー)」でコンパイルして作成する。WCAビルダーでは、HTMLレコードをPDAのメモリをより効果的に使うために、CML(Compressed Markup Language)というフォーマットに圧縮し、Palmデバイス上で動作するアプリケーションとして変換する。

 WCAビルダーで作成されたアプリケーションは、ほかのものと識別できるように.pqaという拡張子が付く。PQAは、Palm Query Applicationの意味であり、ここからも単なるWebブラウザというよりも、Webアプリケーションクライアントという意味合いがでている。Webクリッピングアプリケーションは、それ自身にHTMLレンダリング機能があるわけでなく、別のモジュールのClipperにより、CMLレコードがレンダリング処理されて表示・実行される。すなわち、.pqaファイルは、CMLレコードに変換されたWebコンテンツ/フォームのレコードデータベースなのである。

 Webクリッピングは、スタティックなWebコンテンツ(グラフィックスを含む)へのアクセスだけでなく、ダイナミックに変化するコンテンツをインターネット上のサーバから取得することができる。

 サーバへのリクエストはHTMLフォーマットではなく、前述のCMLフォーマットで送信される。これは、低速な通信回線環境でも効率的に処理できるようにするためだ。リクエストを受けるサーバ側でCMLフォーマットを処理しなくてもいいように、CMLとHTMLの相互変換処理を行う「Palm Webクリッピングプロキシサーバ(プロキシサーバ)」が用意されている。

 このプロキシーサーバは、Palmデバイスとの間ではCMLフォーマットを使った、モバイルインターネット環境に対応した通信制御を行う。また、インターネット上のWebサーバとは、あたかもPCブラウザのように振る舞ってHTTP/HTTPSの通信制御を行う。Webクリッピングアプリケーションからのリクエストは、次の順のように処理されていく。

  1. フォームにデータを入力し、送信ボタンを押す。
  2. ClipperがCMLフォーマットのリクエストデータを送信する。オフラインであった場合は、直ちに携帯電話・無線等などの通信事業者のアクセスポイントに回線接続される。また、送信ボタンに暗号化オプションが設定されていた場合は、カナダCerticom社の暗号化モジュール(楕円曲線暗号方式)を利用して暗号化される。
  3. 通信事業者は、リクエストパケットをプロキシサーバへリレーする。
  4. プロキシサーバは、受信したリクエストパケットを通常のHTTP/HTTPSパケットに変換してターゲットのWebサーバにリレーする。
  5. ターゲットのWebサーバでは、CGIやサーブレット/JSP等などで受信したリクエストを処理した後に応答する。
  6. プロキシサーバは、受信したレスポンスをCMLフォーマットに変換した後に送信元へ返信する。
  7. 通信事業者を通して受信したレスポンスは、Clipperによって画面に表示される。


図1 Webクリッピングアプリケーションによるリクエストの処理の流れ

 このように、サービスを提供する「サーバサイドアプリケーション」からみれば、PC上のWebブラウザやiモードとは異なる新しいブラウザからのアクセスとして認識し、そのブラウザに対応したレスポンス作成ロジックを追加するだけでよい。

 ブラウザの識別は、HTTPヘッダのUser-Agentの文字列で判断する。Webクリッピングアプリケーションの場合は、現在、以下のフォーマットになっている。

書式

Mozilla/2.0 (compatible; Elaine/バージョン番号)
User-Agent: Mozilla/2.0 (compatible; Elaine/2.0)

 User-Agent文字列のうち、「Elaine」はWebクリッピングで使用しているキーワードであり、これで他ほかのブラウザと識別できる。また、現在のバージョン番号は2.0であり、日本語(シフトJIS)をサポートしているという意味である。このバージョン番号はあくまで参考程度にみた方がいいだろう。

   Webクリッピングの開発に
 必要なもの

 Webクリッピングアプリケーションの開発には、以下のものが必要になる。

  1. HTMLエディタ
  2. グラフィックスエディタ
  3. Palm OSエミュレータ(POSE)
  4. Palm OS ROMイメージ
  5. WCAデベロッパーキット

 HTML/グラフィックスエディタは、普段Webサイトを作成するのに利用しているもので構わない。Palm OSエミュレータとROMイメージは、ホストPC上で動作する環境であり、一般のPalm OSアプリケーション(Palmware)の開発でも利用する。WCAデベロッパーキットは、前述のWCAビルダーのほかにグラフィックスファイルのサイズ調整等などを行う「イメージチェッカー」、各種ドキュメントで構成されている。

 POSEやWCAデベロッパーキットは、Palmのデベロッパーとして登録するだけで、無償で取得することができる。まずは、http://www.palmos-japan.com/dev/started/にアクセスしてほしい。

 

 実際に
 Webクリッピングアプリケーションを作ってみよう

 Webクリッピングアプリケーションの開発手法の詳細は、あらためて紹介することとして、どんなものかを理解するために、カンタンなアプリケーション(単純なHTMLコンテンツの表示のみ)を作ってみよう。

 HTMLエディタでコンテンツを作成するが、その際に必ず以下のMETAタグを追加する。これは、Webクリッピングのコンテンツであることを意味する。

<meta name="palmcomputingplatform" content="true">

<html>
<head>
<title>WCA サンプル Part.1</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta name=“palmcomputingplatform” content=“true”>
</head>
<body bgcolor="#FFFFFF">
これは Web クリッピングのテストアプリです。<br>
Web クリッピングは、Palm OS 4.0 から標準機能としてサポートされます。
</body>
</html>
リスト1 Webクリッピングアプリケーションにするsample.html

 次にWCAビルダーを起動し、作成したHTMLコンテンツを指定して、「PQAのビルド(Ctrl+B)」コマンドを実行する。アプリケーションアイコンや最大画面色数、アプリケーション名等などを指定し、「ビルド」ボタンをクリックするだけで、.pqaファイルが生成される。

画面1 WCAビルダーでPQAファイルをビルドする

 このサンプルをPOSEで実行してみよう。Install Application/Databaseコマンドで生成された.pqaファイルを指定すると、エミュレータ環境にアプリケーションがインストールされる。インストールされたアプリケーションは、Palm.Netというカテゴリのメニューで表示される。あとは、タップするだけで、HTMLエディタで作成したコンテンツと同様に表示されることが分かる。

画面2 ビルドしたサンプルアプリをPOSEで表示

 このサンプルは、サーバにアクセスするわけでもなく、複数のページで構成されているわけではもないが、このようにカンタンに作成できることをご理解いただけたのではないかと思う。

 

 Webクリッピングアプリケーションの事例
 〜米国でのビジネス活用例〜

 Webクリッピングは、モバイルインターネット環境のコンテンツ配信サービスの基礎技術として使われている。米パーム社は、1999年よりPalm.Netというサービスサイトを設立し、Palmデバイス所有者に対して快適なモバイルコンテンツアクセスサービスを提供している。NTTドコモのiモードと異なり、有料コンテンツに対するアクセス料金の代行徴収は行っていないが、Wall Street JournalやABC Newsといったニュースサイトや、amazon.comのようなショッピングサイトにいたるまで、さまざまなコンテンツプロバイダが提供しているクリッピングアプリケーションを公開している。

 Webクリッピングは、単なるBtoCインフラとしてだけでなく、ビジネスアプリケーションのインフラとして活用しされている事例も増えてきている。その1つとして「Cedars-Sinai医療センター」を紹介する。ここは、ロスアンジェルスにある医療機関であり、入院している患者の情報やさまざまな医療情報にいつでも、どこからでもアクセスし、迅速に対応できるように、ワイヤレス通信機能を内蔵したPalm VIIデバイスを医師に配布し、WebクリッピングアプリケーションがバックオフィスにあるOracleデータベースにアクセスするようにしている。患者の情報というプライベートな情報にアクセスするためにSSLを使ったセキュア通信を実現している。

画面3 Cedars-Sinai医療センターで使われているWebクリッピングアプリケーション

 このようにWebクリッピング技術は、スタンドアローン型が多かった従来のPalmwareをネット対応させるだけでなく、Palm OSの知識がなくても開発できるという魅力的なものである。最近のビジネスアプリケーションはWebブラウザを実行環境として開発されているものが多く、それらを容易にモバイル対応にすることができるという点が特徴だ。開発するためのツールも無償であるだけでなく、今後さまざまな書籍が出るということでとても楽しみである。一度Webサイトにアクセスしていただき、サンプルアプリを開発してみてはいかがだろうか。

Webクリッピングアプリケーションを開発するための情報
http://www.palmos.com/dev/tech/webclipping

 





 


 
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

   
@ITトップMobile Connectionフォーラム トップ会議室利用規約プライバシーポリシーサイトマップ