最新トレンドやキーワードをわかりやすく解説
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的なニーズ、つまり部門ごとに分断されたシステムを連携させたいという要求は待ったなしなのである。大規模な仕掛けを作る予算はないが、火急のデータ連携ニーズを満たしてくれる軽快なアプリケーションならぜひ欲しい。
このようなニーズは現実に存在している。まずは当フォーラムで紹介したリッチクライアント導入事例を参照してもらいたい。
- @IT記事:リッチクライアント導入事例(1)
ERP資産から“本当に知りたいこと”を紡ぎ出すCurl
この記事で取り上げた日立ディスプレイズの事例では、SAP R/3に蓄積した経営データと製造現場データを連携させるため、新たなデータ連携サーバを構築する代わりに、リッチクライアントを使ったアプリケーションを選択している。こうした小規模な開発で運用を開始できるクライアント主導のデータ連携は、もしかすると今後のリッチクライアントの主流になるかもしれない。それを予感させる動きをいくつか紹介してみよう。
■「データ連携」に社運を懸けた国産ベンダ
リッチクライアント・ベンダの中には、当初から「リッチな操作性」よりも「データ連携」に力を注いでいるところがある。「当社はRimless Computingというコンセプトを掲げています。データ連携に必要なコンポーネントを動的に結合させることで、クライアントPCがN個のサーバと連携するのです」と語るのは株式会社サイオ 営業・マーケティング担当 副社長 吉政忠志氏だ。同社のリッチクライアント製品「IdbA」は、Javaベースのスタンドアロン型アプリケーションにコンポーネントの自動配布機能を持たせた製品だ。
- @IT記事:リッチクライアントベンダ・インタビュー
アプリケーションの“枠”を超えるコンポーネントモデル
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の「サービス」をクライアントで束ねるというコンセプトを表明している。
- @IT記事:リッチクライアントベンダ・インタビュー
WebサービスクライアントとしてのCurl
リッチクライアントの本家といえる「Adobe Flex」は、ドラッグ&ドロップやアコーディオンなどのリッチな操作性やビデオ再生といったマルチメディア性、複数の画面を統合したダッシュボードなど、ユーザー・エクスペリエンスの改善を強く打ち出している。Flash Playerの性能、普及度を考えればこの方向性は今後も同社の主流となるだろう。
ただし、2005年10月に発表されたFlex 2(ベータ版)の製品概要では、従来のデータ連携ランタイムサービスを機能拡張した「Flex Enterprise Services 2」と呼ばれるクライアントとサーバ間のデータ交換メッセージング・インフラの実装を表明している。これはJ2EE、.NET、Webサービスといったエンタープライズ・アーキテクチャとの連携を意識したもの。まだ詳細は明らかにされていないが、Flexがクライアント型SOAに近いコンセプトを打ち出してくる可能性は十分にあるだろう。
リッチクライアントは今後、EAI/ERP/SOAといったサーバ至上主義のアーキテクチャの一角を奪取して、新しいデータ連携の世界を打ち立てる可能性を秘めているのかもしれない。
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|