他のアプリケーション・モデルとの比較
作業効率の高いユーザー・インターフェースを実現する手法はコンポジット・アプリケーションだけではありません。ここでは他の選択肢の1つと比較してみたいと思います。
サービスのマッシュアップ
ユーザー・インターフェースではなく、一般的にサーバー側でのマッシュアップという選択肢があります。複数のサービス、いわば見えないものを集めて新たなサービスを生み出す方法です(図5)。
例えば、複数のニュース・フィードをマージ・フィルタリングして用途や興味に合わせた新しいニュース・フィードを提供する、インスタント・メッセージングの在席情報と端末のIPアドレスから同じフロアにいるチームメンバーをリストアップする、など アプリケーションの可能性は想像力次第で大きく広がります。一般的に単にマッシュアップといった場合にはこの手法をイメージする方が多いのではないかと思います。
複数のサービスを融合して提供するため、実際には複数のシステムで構成されていてもユーザーには1つにしか見えません。コンポジット・アプリケーションのように画面を分割する必要もないため1画面により多くのサービスを取り入れられる点でも優れています。今後より多くのサービスがこのような形で生み出せれていくと考えられています。
しかしながら、この手法を適用するためには2つクリアすべき条件があります。
- ユーザー・インターフェースとデータ・機能が分離されている必要があります。画面とロジックが密に結合している既存資産を活用するには、その分離・整理からはじめなければなりません。
- 既存のユーザー・インターフェースと同じデータ形式を使わない限り、専用の画面を開発する必要があります。
コンポジット・アプリケーションでは既存ユーザー・インターフェースを最大限再利用するためこれらの課題を生みません。より始めやすいモデルと言えるのではないでしょうか。
コンポジット・アプリケーションとこれらの手法は決して相反するものではなく、より利便性の高いユーザー・インターフェースを実現する という同じ目的を達成するために選択できる手段です。既存システムの形態、連携したい他システム、目標とする利用形態などを考慮して適切に使い分けあるいは併用する(図6)こととなるでしょう。
まとめ
連載第2回となる今回は、コンポジット・アプリケーションの考え方、目指す方向性、そして他手法との比較についてまとめました。次回以降、コンポジット・アプリケーションを実現するIBMソフトウェアの詳細に触れていきます。