back

リッチクライアントについて
http://www.keyman.or.jp/cgi-bin/navi/30001001/548220/00900600/00900600/sECwohHhq/ 
 
リッチクライアントとは
リッチクライアントとは、HTMLクライアントの弱点を克服する次世代のWebクライアントで、Web環境で快適な業務アプリケーション利用を実現するものだ。HTMLクライアントによる業務アプリケーション利用時には操作画面がHTMLで記述されているため、ファンクションキーが利用できないなど機能が乏しく、画面表示も遅い。そこで、こうした課題を解決できるリッチクライアントが登場した。なおリッチクライアント実現には、独自の実行環境が必要となる。
 
 
HTMLクライアントは操作性などに難あり
リッチクライアントは管理性と操作性を両立できる
 
 インターネットの普及に伴い、各種業務システムでWeb対応が進んだ。従来システムの多くはクライアントPCごとにソフトウエアのインストールやアップデートが必要だったのに対し、Webアプリケーションは基本的にサーバー側の対応で済み、管理コストを削減できるという点が大きな理由だ。しかしWebアプリケーションは、HTMLベースの操作画面であるため、クライアント側での操作性や応答速度に難があり、またサーバーに負荷が集中するという問題がある。特に、操作性や応答速度が従来システムより劣る場合は、アプリケーションを利用する社員の生産性を下げる結果となる。そこで、Webアプリケーションの管理性の高さと、従来システムと同等もしくはそれ以上の操作性や応答速度を両立できるリッチクライアントが注目されるようになった。なおリッチクライアントと比較する際に、従来のWebアプリケーションのクライアントをHTMLクライアントと呼ぶ。
 
 
各種の業務形態に対応したものがある
有償のほかに、無償の実行環境も提供されている
 
 リッチクライアントは、規格や仕様が定められたものではなく、ベンダーごとに定義が異なっている。そのため、現在市販されているリッチクライアント製品には、基幹業務系や分析系、ドキュメント系といった各種の業務形態に対応したものがある。また実際の機能として、アクシスソフトの「Biz/Browser」では、ファンクションキーの割り当てや入力エラーチェックなどが可能なほか、画面のレイアウト情報と業務データを分離することで、高速なレスポンスを実現している。カール・アジアパシフィックの「Curl」の実行環境「Surge RTE」では、入力イメージと同等の印刷が可能になっており、帳票出力に関するプログラム開発の削減も可能だ。これらはライセンス料金が必要だが、リッチクライアントの実行環境としては、有償製品のほかにマクロメディアのFlash Playerのように無償で利用できるものも提供されている。
 
 
業務アプリ開発を効率化する言語やツールも
Flashでも基幹業務システム開発向けの機能を搭載
 
 リッチクライアント製品では、業務アプリケーション開発を効率化する専用言語や開発ツールが用意されている。前出の「Curl」は、MIT(マサチューセッツ工科大学)の研究者が開発したオブジェクト指向のWebプログラミング言語であり、テキストフォーマットから3Dグラフィックスまで、多様な形式で開発することができる。「Biz/Browser」では「CRS」と呼ばれる独自のスクリプト言語を採用している。この「CRS」の開発環境「Biz/Designer」では、GUIで画面設計が可能なほか、JavaScriptの表記法と互換性があるスクリプト言語を利用することができる。また、Flash Playerと言うとアニメーション専用ツールと思われがちだが、Flashコンテンツを開発する「Flash MX Professional 2004」では、基幹業務システム開発向けの機能が強化されており、この分野でも着実に実績を挙げ始めている。
 
 
 
リッチクライアント 基礎講座
http://www.keyman.or.jp/cgi-bin/navi/30000772/548220/30000773/30001001/323yVDkvj/ 
 
最近、基幹業務系の間でもリッチクライアントが話題になる機会が急速に増えてきた。リッチクライアントは動画やアニメなどのエンターテイメント分野に限ったものではなく、HTMLクライアントの弱点を見事に解決する、次世代Webクライアントのあるべき姿である。
 そこで、今回はパフォーマンスやユーザーインターフェース開発の部分で高い評価を受けているリッチクライアントにスポットを当て、そもそも「リッチクライアントとは何か」という所から、実際の実行・開発環境についてまで詳しく紹介する。また、リッチクライアント導入事例も合わせて紹介する。
 
時代と共に変わるクライアントの姿
 「リッチクライアントとは何か」という本題に入る前に、「クライアント」にまつわる派生語をおさらいしておこう。
 
シンクライアント、ファットクライアント、HTMLクライアント 
 シンクライアントとファットクライアントは、本来「サーバーベースコンピューティング」の世界から生まれた言葉である。シンクライアントとは、PCからハードディスクなどを取り除いたシンプルなネットワーク端末であることからthinという接頭辞が付いた。これに対し、様々なハードウエアやソフトウエアを搭載するPCをファットクライアント呼んでいる。
 しかし、最近はこれらの用語をソフトウエア的な意味でも使うようになった。シンクライアントはクライアントの実装を軽くするスタイル、ファットクライアントはクライアント側でビジネスロジックなどをすべて実装するスタイルのことだ。
 一方、Webの観点からは、HTMLクライアントとリッチクライアントに大別できる。HTMLクライアントはシンクライアントであり、多くの長所がある一方、ファンクションキーが使えない、データ入力の生産性低下、レスポンスの悪化といった弊害も指摘されるようになった。なぜなら、HTMLは閲覧・検索・リンクのための言語であり、業務プロセス処理や高度な表現力をサポートした言語ではないからだ。そこで、こうした課題をクリアするために「リッチクライアント」が登場するようになった(図1参照)。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
図1では、従来のファットクライアントをGUIクライアント、現在のWebクライアントをHTMLクライアント、そしてカールが提供するリッチクライアントをCurlクライアントと位置づけていて、リッチクライアントを採用することで、次のことが実現できる。
 
● サーバー負荷の削減
● 通信負荷の削減
● 操作性、視認性の向上
● PC側の能力活用
改めて「リッチクライアント」とは 
 ここまでの説明でリッチクライアントの全体像が見えてきたと思うが、実はリッチクライアントの定義は、特に規格で決まっているわけではないので、各ベンダーによりいろいろな定義付けがなされている。参考までに、アクシスソフトが提唱しているリッチクライアントの定義を紹介しておこう。
 
【リッチクライアントとは・・・】
 『Web環境で(シンクライアントをハードウエアのベースコンセプトとして追い求めながら)リッチなコンテンツもしくはクライアントアプリケーションを実行させるようなクライアントミドルウエアコンセプトおよび環境もしくはそれを体現した製品を指す。』
 
▼ リッチクライアントであるための条件として・・・
● インターネットをその基盤技術として採用
● ネットワーク未接続時においてもクライアント業務処理は稼働可能
● リッチクライアント製品自体は単独で(他のブラウザシステムなどと独立して)動かすことが可能(ただし、導入のほとんどの場合においてIEのプラグイン製品として稼働)
● クライアント側ソフトウエアは、サーバー側で使用されるソフトウエア構築技術(Web/APサーバーの種類、 Java / .NET などの構築言語技術)に左右されない 疎結合 型の3階層システムモデルを採用
リッチクライアント製品の特徴
 
 現在市販されているリッチクライアント製品にはさまざまな形態があり、1つの土俵ですべての製品の機能を論ずることはなかなか難しい。例えば、B2B/基幹業務系、B2C/エンターテイメント系、分析系、ドキュメント系といった適用分野による違いや、Windows系、Java系、3D系といった開発環境やテクノロジーによる違いなどがある。
 そこで、今回はできるかぎり、基幹業務系システムのリッチクライアント化に役立つ製品を選んで、その主な特徴を紹介する。
 
 実行環境 
 リッチクライアントを実現するには、優れた操作性や高速画面表示を可能にする独自の実行環境が必要になるが、各社の実行環境を調べてみると、ライセンス料金が必要になるものと無償で利用できるものとに大別できる。
 
【ライセンス料金が必要な実行環境】
 基幹業務システムに強いリッチクライアント製品では、有償で実行環境を提供している製品が多い。例えば、アクシスソフトの「Biz/Browser」やカール・アジアパシフィックの「Curl」などが挙げられる。しかし「Curl」の場合、サーバライセンスが有償であり、実行環境の「Surge RTE」は誰でも何処からでも無償でダウンロードできる。
 Biz/Browserでは、IEでは実現困難なファンクションキーの割当、入力エラーチェック、データの自動書式化、MS-IME自動制御設定、帳票印刷機能など、業務操作に合わせた画面イベント動作を簡単に実現できるようになっている(図2)。また、画面定義体(レイアウト情報)とデータが分離しているので、クライアントとサーバー間は最新の業務データだけを通信すればよく、高速レスポンスを維持しやすくなっている。
 
 
 一方、Surge RTEはCurlプラットフォーム上に構築されたアプリケーションを高速・安定実行するための実行環境で、Curlソースコードを翻訳するための コンパイラ やメモリリソースの効率的な利用を保証する機能を搭載している。Curlは3D表現力にも優れているので、よく3Dツールと間違えられやすいが、図3に示すように、印刷物と同じ入力イメージ画面を作成することも得意で、ロジックも容易に組むことができる。さらに、Curlの特許技術によりそのままのイメージで印刷できるので、入力画面=印刷画面となり、帳票出力に関するプログラム開発も削減できる。また、図3のサンプル画面は全て数値情報で作成されていて画像ではないので動作も非常に軽快だ。
 
【無償で利用できる実行環境】
 無償で利用できるリッチクライアントの実行環境の代表例はマクロメディアのFlash Playerだ。これはMacromedia Flash MX で開発されたコンテンツを閲覧するためのもので、同社によると97.4% 以上のオンラインユーザーがFlash Playerをすでにインストールしているという。Flashと聞くと動画やアニメーションなどの3D専用ツールと思われがちだが、Flash MX Professional 2004では、フォームベース開発やデータとのバインディングも可能になったことから、データ連動型のリッチインターネットアプリケーションを迅速に作成できるようになり、すでに基幹業務システムの分野でも着実に実績を挙げ始めている。
 
 開発環境 
 リッチクライアントを開発するための専用言語や開発ツールが各社から提供されている。
 例えば、カール・アジアパシフィックのCurlは、MIT(マサチューセッツ工科大学)の研究者が開発したクライアントサイドで動作する新しいオブジェクト指向のWebプログラミング言語で、HTMLライクなテキストフォーマットから高パフォーマンスの3Dグラフィックスまで、 広範囲に渡る開発記述能力を持ち合わせている。同社ではこの開発ツールとしてSurge Lab IDEを提供している。この統合開発環境では、ドラッグ&ドロップインターフェースを用いてシンプルにダイアログを組み立てたり、変数やオブジェクトをチェックしながらライン毎にアプリケーションを実行できるデバッガを掲載している。また、Curl言語の基本構文から3Dオブジェクトの作成方法までを掲載し、サンプル表示しているソースコードをその場で直接編集して実行・保存できるドキュメンテーション、構築したアプリケーションをウィザードでパーケージ化して開発用のWebサーバーへ配信できる機能を搭載している。
 
 また、アクシスソフトのBiz/BrowserではCRSと呼ばれる独自のスクリプト言語を使っているが、CRS開発環境として「Biz/Designer」を提供している。このツールでは、GUIベースでのビジュアル画面設計、 JavaScript 記法互換のスクリプト言語による詳細コーディングができ、プロパティ設定、 イベントハンドラ 設定、クラス定義機能、 デバッグ 機能、オープンソースコード管理ツールの CVS (Concurrent Versioning System)との連携機能などをサポートしている。
 
 
● XMLを使ってリッチクライアントを開発できる
 サーバーソリューション ●
 Flash Playerで圧倒的なシェアを誇るマクロメディアでは、さらなるリッチクライアント開発/実行環境の充実に力を入れ始めている。その1つが「Macromedia Flex」だ。これは、XMLを使ってFlashの業務アプリケーションを開発するためのサーバーソリューション。図6に示すように、Flexは既存アプリケーションサーバーの上に配置される。Flexプレゼンテーションサーバーは、アプリケーションフレームワーク(XMLをベースにしたUI開発言語MXML、ActionScript、Flexクラスライブラリ)とランタイムサービスから構成されている。
 Flexがクライアントからリクエストを受け取ると、アプリケーションとユーザーインターフェースをクライアントに送る。そして、アプリケーションがデータをリクエストした場合には、ビジネス層やインテグレーション層を介してリソース層に接続してデータを入手し、それをクライアントに渡す仕組みになっている。Flexアプリケーションの開発環境としては、同社の標準開発環境Bradyだけでなく、Eclipseなどを利用することもできる。
 
リッチクライアントの導入事例
 今回は、基幹業務系のリッチクライアント導入事例として、太平洋セメントの標準会計システムを紹介しよう。同社では、太平洋セメントグループ各社向けの標準会計システム『STAC Suite』の開発/運用において、アクシスソフトの「Biz/Browser&Biz/Designer」を採用し、2004年4月から本格稼働を開始した。
 
 リッチクライアント導入の経緯 
 この標準会計システムは、ASP方式で太平洋セメントグループ各社に提供され、一般会計や予算管理などが行えるようになっている。同社では、ASP方式に踏み切る際、MetaFrame などのWindowsターミナルサービスも同時に検討したが、OSへの依存度が高いことと、サーバー負荷が大きくなることから、今回は見送った。
 ASP方式の採用が決定された後、同社では標準会計システム向けの新たな開発ツール導入の検討を開始した。なぜなら、経理システムをWebアプリケーションとして実現する場合、通常では操作性や応答性に問題を生じる可能性が高いからだ。同社では特に次のポイントについて徹底的な評価を行った。
 
▼ 選定時のポイント
● 低速な回線での運用
全国のグループ会社へ専用線を架設することは経済的・物理的に難しく、かつ地域的にADSL架設も厳しい会社が存在する。従って、ISDN回線での運用を保証する必要がある。
● 現行システムの操作性を踏襲
事前にグループ会社で利用中の経理システムを調べたところ、すべてファンクションキーを利用していることが分かった。従って、即時稼働のためには操作性を重要視する必要がある。
● 開発生産性
限られた予算と期間での開発となるため、生産性は無視できない。
「Biz/Browser&Biz/Designer」採用の理由 
 太平洋セメントでは、このような要件を満たす開発ツール/運用環境として、最終的に「Biz/Browser&Biz/Designer」の採用を決定した。
 
▼ 採用の決め手(メリット)
● 業務システムに必要な操作性や応答性を確保できる(業務効率性を維持)
● 従来システムのキーボード操作の踏襲が可能である(操作教育の短縮)
● Visual Basicライクであり、Javaの知識があれば開発できる(プログラマの確保が容易)
● 習得が容易な開発ツールが提供されている(生産性の確保)
● サーバー負荷が小さく、また負荷対策も安価で容易に実現できる(サーバー安定維持の確保)
● プログラム更新の容易性と即時性(提供側の運用とユーザー側の保守の業務縮小)
 
 例えば、Biz/Browser導入以前のクライアント/サーバー型アプリケーションの場合は、1社あたり2、3日かけて先方に出向いて指導を行っていたが、現在の標準会計デモシステムでは先方にメモリスティックを送るだけで済むようになった(図7参照)。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 また、今回の開発工期は7ヶ月(ピーク時の開発人員は16名)だったが、もしBiz/Browser&Biz/Designerを採用していなかったらその倍以上の工期がかかったと予測される(開発を担当したグループ会社のパシフィックシステム)。
 さらに、実際の運用画面は図8の通りだが、このような複雑な帳票入力でも業務システムに必要な操作性や応答性を十分確保することができた。ただし、低速回線である程度のレスポンスを期待する場合には、1ページあたりのデータ登録件数を制限するなどのそれなりの工夫は必要だった。
 同社では、すでに工場などの生産系システムでもBiz/Browser&Biz/Designerが導入されており、今後、サーバーベースコンピューティングのシンクライアントで展開している他のシステムについてもリッチクライアントに移行する可能性は十分あるとコメントしている。