最新トレンドやキーワードをわかりやすく解説
WCR Watch [9]

リッチクライアントがSOAをのみこむとき

@IT編集部
上島康夫
2006/2/24


標準技術だけで動くAjaxの登場で、急速な普及を見せるリッチクライアント。有償のプラグインを必要とするベンダ系リッチクライアントは劣勢に立たされている……と思いきや、意外にも有償リッチクライアント陣営も意気盛んである。そのカギとなるのは「プチSOA」だ。

リッチクライアントに期待するのは何?

 リッチクライアントに企業ユーザーが期待するものは、Webアプリケーションとしてのバージョン管理のしやすさ、およびクライアント/サーバ型アプリケーション(以下、C/S)のリッチな操作性の両立であった。特定のプラグインに依存しないAjaxの登場は、Webメールや地図検索サービスなどのエンドユーザー向けアプリケーションでリッチクライアント化を加速させている。一方、コールセンターなどの企業内システムではWebアプリケーションの操作性向上に加え、セキュリティや内部統制を強化する目的で、有償のリッチクライアント製品を導入する動きも始まっている。

 Ajaxにせよ有償製品にせよ、リッチクライアントはその言葉どおり、ユーザーインターフェイスを強化するテクノロジーだと一般に認識されている。ところが最近になって、リッチクライアントの別の側面に着目した動きが浮上してきた。EAI/ERP/SOAなど、従来サーバサイドで展開するデータ連携やアプリケーション統合といった大規模な仕掛けをクライアントPCで代替してしまおうという考え方である。

サーバに奪われた主導権をクライアントが取り返す

 何をばかげたことを……と感じられるのは無理もない。C/SからWebアプリケーションへの進化とは、クライアントPCからビジネスロジックを取り上げて、サーバがすべての処理を一括管理することにあったはずだ。クライアントに重たい処理を任せるのは「先祖返り」ではないだろうか。

 しかしSOAのように、巨額の投資を行ってサーバサイドのメッセージング・インフラを整備するアーキテクチャは、少なくとも日本では一向に普及する兆しを見せない。その最大の原因は、初期投資の大きさに対するROI(投資対効果)の不透明さにあると判断していいだろう。ところがユーザー企業のSOA的なニーズ、つまり部門ごとに分断されたシステムを連携させたいという要求は待ったなしなのである。大規模な仕掛けを作る予算はないが、火急のデータ連携ニーズを満たしてくれる軽快なアプリケーションならぜひ欲しい。

 このようなニーズは現実に存在している。まずは当フォーラムで紹介したリッチクライアント導入事例を参照してもらいたい。

 この記事で取り上げた日立ディスプレイズの事例では、SAP R/3に蓄積した経営データと製造現場データを連携させるため、新たなデータ連携サーバを構築する代わりに、リッチクライアントを使ったアプリケーションを選択している。こうした小規模な開発で運用を開始できるクライアント主導のデータ連携は、もしかすると今後のリッチクライアントの主流になるかもしれない。それを予感させる動きをいくつか紹介してみよう。

「データ連携」に社運を懸けた国産ベンダ

 リッチクライアント・ベンダの中には、当初から「リッチな操作性」よりも「データ連携」に力を注いでいるところがある。「当社はRimless Computingというコンセプトを掲げています。データ連携に必要なコンポーネントを動的に結合させることで、クライアントPCがN個のサーバと連携するのです」と語るのは株式会社サイオ 営業・マーケティング担当 副社長 吉政忠志氏だ。同社のリッチクライアント製品「IdbA」は、Javaベースのスタンドアロン型アプリケーションにコンポーネントの自動配布機能を持たせた製品だ。

 IdbAの特徴は、Webサーバ、Webサービス・サーバ(SOAP)、REST(XML Schema)、FTPといったデータソースとの連携を行うコンポーネント群を持ち、クライアントの実行環境でこれらのコンポーネントが相互連携を行う。このアーキテクチャのメリットを吉政氏は「SOAと比較して、クイック&スモールな開発が可能になり、システムの柔軟性が得られる」と語る。同社はこれを「クライアント型SOA」と命名してプロモーション活動に利用している。

IdbA R2.0の開発環境(テンプレート作成ツール)
Ajaxに対してベンダ系リッチクライアントのメリットは、高機能の開発環境が提供されていることだ。IdbAの最新バージョンR2.0では、UMLライクなGUIからコンポーネントの関連を定義し、ソースコードとビルド用ファイルを自動生成できる。(画面をクリックすると拡大します


「クライアント型SOA」への流れは本物か?

 日本で普及の進む有償リッチクライアント「Curl」も、データ連携を意識した機能を持っている。これはWebサービスツールキット(WSDK:Web Service Development Kit)と呼ばれるもので、WebサービスのWSDLを読み込んでCurlのソースコードに変換し実行するまでを自動的に行う。Curl社でもSOAの「サービス」をクライアントで束ねるというコンセプトを表明している。

 リッチクライアントの本家といえる「Adobe Flex」は、ドラッグ&ドロップやアコーディオンなどのリッチな操作性やビデオ再生といったマルチメディア性、複数の画面を統合したダッシュボードなど、ユーザー・エクスペリエンスの改善を強く打ち出している。Flash Playerの性能、普及度を考えればこの方向性は今後も同社の主流となるだろう。

 ただし、2005年10月に発表されたFlex 2(ベータ版)の製品概要では、従来のデータ連携ランタイムサービスを機能拡張した「Flex Enterprise Services 2」と呼ばれるクライアントとサーバ間のデータ交換メッセージング・インフラの実装を表明している。これはJ2EE、.NET、Webサービスといったエンタープライズ・アーキテクチャとの連携を意識したもの。まだ詳細は明らかにされていないが、Flexがクライアント型SOAに近いコンセプトを打ち出してくる可能性は十分にあるだろう。

 リッチクライアントは今後、EAI/ERP/SOAといったサーバ至上主義のアーキテクチャの一角を奪取して、新しいデータ連携の世界を打ち立てる可能性を秘めているのかもしれない。



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

注目のテーマ

HTML5+UX 記事ランキング

本日 月間