後編:スタンドアロン型の次世代デスクトップ環境を占う



野村総合研究所 情報技術本部
主任研究員 田中 達雄
2005/10/14

  リッチクライアント開発における共通課題

 スタンドアロン型リッチクライアントに限らず、リッチクライアント普及における課題として「開発手法や設計方式が確立されていない」ことと「人材不足」が挙げられる。

 リッチクライアントの設計では、過去のクライアント/サーバシステム開発と類似している点もあるが、インターネットプロトコルの脆弱性をカバーする設計は別途必要となる。

 

過去のC/Sシステムと類似している点 インターネットプロトコルの脆弱性を意識した設計が必要な機能の例
  • クライアント側とサーバ側機能の切り分け
  • クライアント側へのデータロード処理方式
  • MVCモデル(UIとBLの分離)
  • トランザクション
  • 信頼性
  • セキュリティ
  • 性能
表1 リッチクライアントの設計の課題
出所)野村総合研究所

 簡単な例を挙げてみよう。図2は、過去の2階層C/Sシステムの例である。ここではクライアント・プログラムが基点となり2つのデータベースへのセッションを確立/維持したうえで更新・削除が行われている。ネットワークプロトコルは独自ではあるが、信頼性は保証され、セキュアで、性能も高く、さらにデータ整合性が保証されたトランザクションを実行することができた。

図2 過去の2階層C/Sシステムの場合
出所)野村総合研究所

 次に図3でリッチクライアントによる3階層システムの例を挙げる。リッチクライアントの場合、クライアント側で実行する機能(スタンドアロン型リッチクライアントの場合、オフラインでの利用も考慮した設計が必要)やサーバ側に依頼する機能単位を「機能面、性能面、操作面」などを考慮して設計する必要がある。さらにインターネットプロトコルという脆弱なプロトコルを利用するため、信頼性・セキュリティ・性能をカバーするための作り込みをクライアント/サーバの双方で行う必要がある。

図3 リッチクライアントを適用した3階層システムの場合
出所)野村総合研究所

 さらに以下のような課題も顕在化しつつある。

ユーザーインターフェイスとビジネスロジックの分離分業体制確立の必要性
  • クリエイター(UIデザイナー)とアプリケーションシステムエンジニアの共同作業環境の用意
  • 設計上の工夫(疎結合)やツール選定
データの取得と同期の作り込み
  • 大量データの扱い
  • 圧縮技術
  • 非同期通信
  • 1回にダウンロードするデータ量
  • キャッシュ時間(ローカルディスク格納との併用)
  • データの整合性・同期タイミング
運用時を意識したモジュール分割

 残念ながら上記のような設計の考慮点は分かってきたが、開発手法や設計方式といった形で整理公開されたものは現在ない。先行するいくつかの事例でもほぼ手探り状態で進められているのが現状だ。

 さらに「人材不足」の壁が立ちはだかる。いくつかの事例を調査した結果、User Experience性を重視したユーザーインターフェイス開発と業務アプリケーション開発のどちらにも精通した人材は皆無に等しい。よって先にも挙げたように、まずクリエイターとエンジニアによる分離分業体制を確立する必要がある。さらにリッチクライアント普及に備え、そういった限られた人材で多くの開発を支える仕組みも必要となる。

  Rich Client Frameworkの必要性

 設計方式の再利用/共通化を可能とし、人材不足を補い、クライアント技術変更への影響範囲を限定的なものにする仕組みの1つとして「Rich Client Framework:RCF」の適用が有望である。これはクライアント側に共通して必要となる機能を実装したモジュール群であり、ユーザーインターフェイス部品、信頼性、セキュリティ、キャッシュ機能、非同期通信などを提供する。

 ここでいうユーザーインターフェイス部品は、汎用的なユーザーインターフェイス部品ではなく、その企業や組織に特化したユーザーインターフェイス部品であり、User Experience性が実現されたものである。その中にはクリエイターによってデザインが施されたボタンやメニュー、入力画面テンプレートや更新画面テンプレートなどが含まれる。

図4 Rich Client Frameworkの位置付け
出所)野村総合研究所

  スタンドアロン型リッチクライアントの将来

 最後に、スタンドアロン型リッチクライアントの将来(1〜2年後)の方向性について、以下のようにまとめてみた。

  1. User Experience性を重視したクライアント・アプリケーション開発に対応できるようアップデートされていく。もしくは対応可能な製品が新たに登場する
  2. 高度なユーザーインターフェイスを容易に開発できるXML技術ベースの製品に収斂されていく
  3. リッチクライアントの開発体制(クリエイターとエンジニアとの協業)に合った開発環境が用意/整備されてくる
  4. 設計方式の経験知(高信頼性通信、非同期通信、セキュリティ、性能、ログ、キャッシュ、データ整合性など)が集積され、(実行環境が巨大化する懸念もあるが)実行環境もしくは開発ライブラリとして提供されていく。
  5. RCFは、単なるUI部品や機能のライブラリという位置付けから、実行環境の違いを吸収する抽象レイヤとしての役割に変貌し、ユーザーインターフェイス、ビジネスロジック、実行環境の分離を促進し、開発生産性ならびに保守性を高めることに貢献するようになる

 1〜4については、時間とともにベンダから提供されるもので、より一層リッチクライアント導入の敷居を低くしてくれるだろう。5については、ユーザー企業側の努力によって達成されるもので、ユーザー企業側の努力が必要なものには、ほかに開発体制の整備もあるが、これらはリッチクライアントによる開発を成功(高い開発生産性や保守容易性)に導くうえで重要な要素となるだろう。

3/3 ご愛読ありがとうございました

 INDEX

スタンドアロン型の次世代デスクトップ環境を占う
  Page1
最近のスタンドアロン型リッチクライアントの動向/User Experience性重視への対応/ブラウザ型リッチクライアントによるスタンドアロン型への対応
  Page2
次世代デスクトップ環境への応用/スタンドアロン型リッチクライアント普及時の課題/懸念される異種混在のスタンドアロン型実行環境
Page3
リッチクライアント開発における共通課題/Rich Client Frameworkの必要性/スタンドアロン型リッチクライアントの将来


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

注目のテーマ

HTML5+UX 記事ランキング

本日 月間