BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Filtrbox: Flex RIAにおけるセマンティックWeb

Filtrbox: Flex RIAにおけるセマンティックWeb

セマンティックWebテクノロジーとサービスは、データ、情報、ナレッジ交換を行う上での共通手段として、Webを次世代へと導く動きの中核をなしている。ここ最近、セマンティックWebテクノロジーの利用を中心とした新たなスタートアップやイニシアチブの波を目にしてきたが、インターネットで入手可能な情報が増え続けている中、ユーザがそれを処理するのに役立っている。

Filtrbox(リンク)はその好例であり、ユーザインタフェースの構築にはAdobeのFlex RIAテクノロジーを用いている。InfoQは、そのようなスタートアップに必要なリソースとテクノロジーについて理解を深めるため、Filtrbox RIA Flexの開発者であるJustin Imhoff氏に話を聞いた。まず人材について、Imhoff氏は次のように述べた。

現在、Filtrboxには3名の開発者がいます。アーキテクト兼CTOのTom Chikoore氏、FlexおよびJavaを担当するBruce Deen氏、そして、私はFlexとAIRを担当しています。会社はAri Newman氏とTom Chikoore氏により、共同で設立されました。Ari氏は経験豊富な起業家であり、チームにとっては導きの声です。

Filtrboxに対するFlexの貢献において、Imhoff氏は次のように述べている。

セマンティックな検索では、ユーザは膨大な量のデータを扱っていることになります。FlexやAMFを使用することで、われわれはこれらのデータを有効なユーザ体験のために迅速かつ効率的に提供できます。それぞれのテクノロジーには欠点もありますが、われわれがしていることや、ニーズにとってFlexが最も適しているということが分かりました。

リッチインターネットアプリケーション(RIA)テクノロジーの役割に関して、Imhoff氏は次のように説明している。

RIAは、デスクトップ操作のような快適なユーザ体験をもたらすよう設計されていますが、一方でインターネットを利用し、サーバに保存されたデータを使用します。RIAが抱える最重要課題には、大規模アプリケーションに見合う使い勝手の良さや高度な機能の開発があります。RIA開発に携わる多くの会社は、まさにこのために、UIデザイナやUXデザイナを採用しているのです。セマンティックな検索は、単に検索技術を別の方法で使用しているというだけでなく、ユーザが結果に対する新たな振る舞いや対応方法を選択するために必要となります。Googleで情報を検索する場合、ユーザはナビゲーション検索を使用していますが、セマンティック検索の場合、ユーザはいわゆる調査のための検索をしていることになります。これは、セマンティックスを使用することで、結果背景にある関連性の拡張や、まさに求めているものの多角的な結果をユーザが望んでいるということを意味しています。そして、これはユーザインタラクションの価値を計算すること、また検索結果に価値を与えることにより行われます。これらの結果は、受け取った内容を精査するといったユーザの好き嫌いに関する簡易な人工知能に似ています。セマンティックな検索が従来の検索と競うと同時に、セマンティックなクライアントであるためにはRIA分野の最新技術を活用するしかありません。

Filtrboxのテクニカル・アーキテクチャを説明するにあたり、Imhoff氏は次の点に注目した。

われわれは、Flexと通信しAMFリクエストを処理するため、Blaze DSを使用します。BlazeはAdobeのLiveCycle Data Servicesをオープンソース用に限定したバージョンです。AMFを使用すると、Flexからバイナリデータの送受信が可能となります。そのため、ダウンロード時間やクライアント側で使用されるリソースの削減が可能です。Blazeはサーバ - クライアント間のやりとりに優れたバックボーンを提供しますが、それはFiltrboxが効率的かつ合理的なデータ検索システムを提供する上で非常に有効です。

Filtrboxでは、Cairngorm micro-architectureを使用して、OOPプログラミングをより促進させます。また、速いペースの開発サイクルで週ごとのアプリケーション更新を可能とします。UIに関しては、多くの基本Flexコンポーネントを使用し用途と機能を拡大しました。

そして、Imhoff氏はこう付け加えた。

Flex UIを構築する上で重要な課題は、ユーザが期待することと振る舞いです。Webやデスクトップに関するユーザ要求の研究や理解を通して、期待することと需要の相互関係が徐々に明らかになってきており、使いやすく効率的なインタフェースの提供へとつながることでしょう。

ユーザが希望することの一つにスピードの問題があります。多くのユーザはWebでAjax的な体験、つまり必要に応じたロードを快適だと感じています。Flexの場合、初期ロードしか必要としません。これを促進させるために行ってきたことは、Resource Shared Library(RSL)の実装です。RSLにより、アプリケーションのサイズを半分に縮小しつつ、Flex、RPCおよびdata visualization libraryをクライアント側にキャッシュすることが可能です。

別の課題にUIの全体的なデザインがあります。HTMLとは異なり、基準となるようなテンプレートはあまり多くはありません。Flexで流動的レイアウト(fluid layout)を使用する際の課題は、アプリケーションで用いるグラフィックやイメージのサイズを設計することです。これにはScale 9のフォーマットを使用することが最適な手段です。Scale 9では、1つのイメージを9つのセクションに分割し、相互に独立して設計できます。Scale 9を使用しなければ、流動的レイアウトはほぼ不可能でしょう。

グループでの開発は、特にプロジェクトが重複している場合、必ず問題となります。グループで開発すると、最終的に1つの成果にまとめられるような複数プロジェクトの問題に直面することが多くあります。この問題を解決する最も効果的な方法は、SVNクライアントに十分な投資を行うか、またはFlex IDEにSubclipseを使用することです。そうすることで、複数の開発者が現在や過去のバージョンのアプリケーションをメンテナンスできます。 

Flexで開発する際、ユーザはAjaxではなくFlexを使用した理由を検討する必要があるでしょう。そして、ユーザはそれに対する適切な理由を知っているはずです。Flexはエンタープライズ向けの選択肢として注目されはじめたところであり、RIA分野における有力なフレームワークとして前進しています。

Flexの次期バージョンに期待される機能に関して、Imhoff氏は次のように述べた。

Flex Chartingと印刷機能の向上にぜひとも期待したいところです。われわれはサードパーティ製品やFlex外部のインタフェースを用いて、これに対する独自のソリューションを開発する必要がありました。

その他、取り入れられる可能性のある機能は、Flash playerに関連するものや、SSLをさまざまなブラウザやOS上で対応させるためのバグ修正です。その他の強化機能として、セキュリティポリシーが挙げられるでしょう。Flash player 10ではその点について大幅な対応が行われています。

原文はこちらです:http://www.infoq.com/news/2008/09/filtrbox-semanticeweb-in-flex

この記事に星をつける

おすすめ度
スタイル

BT