エンタープライズ
Home News Enterprise +D Mobile PCUPdate LifeStyle Games Shopping Jobs
Security | Windows .NET | Solution | Developer | BizMobile | Oracle channel | IBM channel
BI特集 | 運用管理 | ブログ | IT Premium | Mail Magazine | Ranking Top30
基幹業務を革新する次世代プラットフォーム、リッチクライアント〜リッチクライアント「Biz/Browser」&GUI開発ツール「Biz/Designer」とは〜

いまなぜリッチクライアントなのか?
 企業基幹業務などのシステム構築において過去を振り返ると、設計上のアーキテクチャは波のように繰り返し変化してきている。ホストコンピュータによる集中管理システムから、クライアント/サーバシステムによる分散化、WebシステムによるWebサーバへの集中化という、集中化/分散化の波である。そしてここへ来て、再び分散化の波がやってきた。リッチクライアントによる分散化である。
 クライアント/サーバシステムによる分散化からWebシステムによる集中化へと変化した主な理由は、TCOの問題であった。クライアント側にソフトウェアをインストールし、優れたUIを利用できるという点では、クライアント/サーバシステムに分がある。しかし、企業の基幹システムなどによく見られる、機能追加や仕様変更によるたび重なるバージョンアップは、予想以上にその管理コストを引き上げることになった。すべてのクライアントにインストールされたソフトウェアの更新という手間が必要になったからだ。
 さまざまな解決策が模索されたが、解答の一つとしてWebシステムによる集中化が進んでいった。Webブラウザの高機能化、通信回線のブロードバンド化など、Webシステム採用に有利な条件が整っていたこともあるが、TCOの削減が最も大きな要因であったのは言うまでもない。Webシステムでは、Webサーバ側にソフトウェアとデータがすべて格納される。クライアント側はWebブラウザだけ。このアーキテクチャであれば管理すべきはサーバ側だけとなり、管理コストを大幅に縮小できるというわけだ。
 残念ながら現状において、Webシステムによる集中化というだけでは基幹システム構築の決定打となってはいない。一つはパフォーマンスの問題。もう一つはUIの貧弱さである。Webシステムでは、HTMLやJavaScriptなどで記述されたソフトウェアを表示するたびにダウンロードすることになる。もちろんこの仕組みのおかげでバージョンアップが簡単にできるわけだが、パフォーマンスの面ではマイナスに影響することになった。また、UIの面ではとても不利であった。例えば、キーボードフォーカスの制御や、ファンクションキーの割り当てなど、従来のVisual Basicなどで書かれたクライアントソフトウェアのように、ユーザーに優しいUIを構築しにくいという点が指摘されている。
 このような背景から、現在最も注目されているのがリッチクライアントである。リッチクライアントは、クライアント/サーバシステムの持つ、優れたUIやパフォーマンスの良さを保ちつつ、Webシステムの持つサーバ側のみ管理すれば良いという利点も生かすアーキテクチャとなっている。Webシステムの発展形として、クライアント/サーバの利点を取り入れたと言っても良い。
 リッチクライアントでは、今までクライアントプログラムと言われていたコンテンツとデータの両方をサーバに格納しておくという点ではWebシステムと同じだ。ただし、そのクライアントプログラムとデータは分離した状態で格納され、クライアントプログラムはクライアント側でキャッシュされる。いったんクライアント側の要求に応じてサーバ側からダウンロードされたクライアントプログラムは、サーバ側で更新されない限り、次回からはダウンロードせずにキャッシュされたクライアントプログラムを使用するため、パフォーマンスが向上する。また、クライアント側のソフトウェアの実行環境がWebブラウザ以上の表現力や制御機能を有するので、ユーザーフレンドリーなUI構築も可能となる。
 もちろん現状のWebシステムであっても、Javaアプレットなどを駆使すれば、リッチクライアントの利点と同様の仕組みをある程度まで構築可能であるし、実際にこれを行っているところも多い。しかしパフォーマンスの面、システムの構築やメンテナンスの面ではハードルも高い。

Biz/Browser、Biz/Designerとは
 Biz/Browser、Biz/Designerの開発元であるアクシスソフト(http://www.axissoft.co.jp)では、インターネットを利用した業務システムをエンドユーザーの立場から使いやすくするというコンセプトのもと、リッチクライアントの分野でいち早く解を出し、数々の実績を残してきた。

 Biz/Browser(図1)は、業務システム向けに特別に開発された、高速なレスポンスと優れたUIを備えたWebブラウザと言ってよい。また、Biz/Designer(図2)はBiz/Browser上で実行するクライアントプログラムをビジュアルに開発できるVBライクなRAD環境である。ここではまず、Biz/Browserによるシステムが、どのような仕組みで動作するのかを説明しよう。

 Biz/Browserは、それ自体をクライアント側にインストールする必要がある。Webシステムで、Internet ExplorerやNetscapeをインストールしておく必要があるのと同様だ。Internet Explorer 5.5 SP2以上と連携して動作するプラグインとして動作させることも可能であるし、Biz/Browser単体で動作させることも可能だ。
 Biz/Browserは、Webサーバなどに格納されているCRS形式というBiz/Designerで生成されたクライアントプログラムをダウンロードし、Biz/Browser上で中間言語にコンパイルされ、内蔵インタプリタで実行される。このとき、クライアントプログラムはクライアント側に中間言語状態でキャッシュされ、サーバ側で更新がなければ、キャッシュを利用して実行するため、2回目以降の応答速度は格段に向上する。
 Biz/Browser上で実行されるクライアントプログラムは通常UIのみであり、データはHTTPなどを通してサーバとやり取りされる。このときの通信プロトコルはHTTPだけでなく、SSLやSOAPなどにも対応し、データフォーマットもXML、CSVなど必要に応じて使い分けられる。通信はInternet Explorerへ任せることも、あるいはプログラム上でHTTPセッションを張って、データを送受信することも可能だ。
 一般的な3階層モデルによるシステム構築の場合、DB部分は従来どおりSQL ServerやOracleなどで構築し、ビジネスロジック部分については、Java、ASP、PHP、Perlなどを用いて開発する。UI部分はBiz/Designerで開発し、作成されたCRS形式のクライアントプログラムをBiz/Browserで実行する。クライアント側からビジネスロジックへのアクセスは、HTTPやSOAPなどを通して行う、という形になる。(図3)
図1

図1 Biz/Browser
■InternetExplorerなどのブラウザでは表現できない高度なUIや、高速なレスポンスの業務用ブラウザ。InternetExploereのアドインとしての動作と、Biz/Browser単独での動作が可能だ。

図2

図2 Biz/Designer
■Biz/Browser上で実行されるCRS形式のクライアントプログラムを、効率よく開発できるビジュアルな開発環境だ。

図3
図3 仕組み
■Biz/Designerで開発したCRS形式のファイルは、Webサーバ上に配置しておき、Biz/Browserはダウンロードし実行する。クライアントプログラムはHTTPなどを通してビジネスロジックやデータベースにアクセスする。
 Biz/Designerで作成されるCRS形式のファイルは独自形式ではあるが、JavaScript文法互換言語による開発となっており、特殊なプログラミングスキルが必要となるわけではない。また、Biz/Browserでサポートする通信プロトコルやデータフォーマットにおいても、HTTP、SSL、SOAPや、XML、CSV、SVGなど、標準の技術を採用しているため、さまざまなシステムとの親和性が高く、将来的な拡張においても安心して採用できるようになっている。さらに、多数の導入実績があり、信頼性のある安定した開発/実行環境であることが実証されている点も、安心して採用できる材料だろう。

Biz/Browser V4で追加された新機能
 今回、Biz/BrowserとBiz/Designerは新たにVersion4がリリースされる。より高度なアプリケーションをより容易に実現するクライアントプラットフォームの提供というコンセプトで、Webサービスによる高度な機能と業務アプリケーションの融合を果たした。
 特に注目されるのが、DOM Level3 CoreやDOM Level3 XPathをサポートすることで、XML機能を強化したことだ。今回さらに、JPEGやPNG形式のイメージデータの処理機能強化により、よりユーザーフレンドリーなアプリケーション構築が可能となっている。
 また、アプリケーション固有のクラスをCRSで定義可能となり、独自クラスの部品化および再利用が可能となった。さらに作成したクラス(複数のCRSファイル)をアーカイブした.car形式のファイル(Javaの.jarファイルのようなもの)として、一括してダウンロードできるようになっている。
 実行速度の面でも改善が図られた。従来のBiz/Browser V3と比較して、V4では3倍ほど内蔵インタプリタ性能が向上している。
 また、Biz/Browserでは、クライアント側のローカルディスクに、XMLやCSV形式でデータを保存でき、業務処理中のネットワーク障害時においても、オフラインでデータの参照、入力が可能だ。

Biz/Designer V4が実現するイージー開発
 Biz/Designerは、ボタンや入力フィールドなどを貼り付け、プロパティを設定するといった、ビジュアルなデザインと、JavaScript文法互換の言語をエディタで詳細に記述していくコーディング作業をシームレスに連携できる、2Wayツールを備えたVBライクな開発環境だ。クライアント/サーバシステムでは当たり前であった、キーボードフォーカスの設定やファンクションキーの割り当て、IMEなどの漢字入力の制御、入力フィールド移動にEnter/Tabキーを使用するなど、Biz/Browserの備えるUI表現力を簡単にプログラミングできるようになっている(図4)。
 Biz/Designerの中央には、2Wayツールそのものである、タブで切り替え可能なデザインペイン/スクリプトペインが表示され、プロジェクトの一覧がツリー表示されるプロジェクトビュー、オブジェクトの一覧がツリー表示されるオブジェクトビュー、プロパティやイベントを設定するプロパティビュー、カラーパレットなどが並ぶ。クラスセレクタでは、ラベルやテキストフィールドなどの基本的なオブジェクトに始まり、スプレッドシートやマスクビュー、リストビューなど、使いやすいUIを構築するためのさまざまなコントロールクラスが用意されている。また、アプリケーション独自に作成したオリジナルのクラスを組み込み、ドラッグ&ドロップでデザインビューに貼り付けることが可能となっており、クラス化した部品を再利用することが容易になっている。
図4
図4 Biz/Browser全体図
■VBライクなRAD開発であるBiz/Designer。スクリプトとデザインをタブで切り替えて編集可能な2Wayツールをメインに、プロジェクトビュー、オブジェクトビュー、プロパティビューなどが並ぶ。
 スクリプトビューでは、使いやすいエディタに加え、プロパティ補完やパラメータヒント機能により、コーディングの効率を向上させてくれる。
 画面下部には、実行結果や検索結果などを表示させるアウトプットビューが用意される。アウトプットビューには、Biz/Browser上で発生するイベントログや、Biz/Browserとサーバとの間の通信ログを表示させることも可能だ。さらに、どの処理にどれくらい時間がかかったかなどのプロファイルを表示する機能も追加されている(図5)。通信ログでは、通信に使用したメソッド(GET、POST)やURL、結果がリクエスト毎に表示されるだけでなく、プロジェクト内部のアクセスの場合、エラー箇所にダイレクトにジャンプする機能や、送信パラメータ、送信ヘッダ、受信内容、受信ヘッダなどを簡単に参照できるようになっている(図6)。

図5

図5 プロファイルの画面写真
■Biz/Designerのアウトプットビューに表示できるプロファイルでは、クライアントプログラムを実行した際のプロファイルが表示される。クライアントプログラムの実行の最適化に役立つだけでなく、サーバとの通信などで発生したトラブルの解析にも役立つ。
図6

図6 通信ログ
■アウトプットビューに表示される通信ログでは、サーバとの通信を送信パラメータ、送信ヘッダ、送信内容、受信ヘッダに分けて表示される。通信に関する問題を解決するには必須の機能だろう。アウトプットビューに表示される通信ログでは、サーバとの通信を送信パラメータ、送信ヘッダ、送信内容、受信ヘッダに分けて表示される。通信に関する問題を解決するには必須の機能だろう。

 同様にBiz/Browserと連携したデバッグ機能も充実している。テスト実行時の一時停止やブレークポイントの設定、またステップ実行、ステップオーバー実行、ステップアウト実行をサポートする。テスト実行が一時停止した際には、ウォッチビューにブレークした時点のオブジェクトの状態が一覧表示される。選択したオブジェクトのプロパティを表示させることも可能なため、デバッグ効率を向上させている。
 Biz/Designerは、CVS(Concurrent Versioning System)と連携してCRSファイルを管理できるため、複数の開発者が同時にソースファイルにアクセスできるよう考慮されている。このため、大規模分散開発にも十分に対応可能となっている。
 今回のBiz/Browserのバージョンアップによる目玉の一つに、Webサービス対応がある。もちろんBiz/Designerでの開発においてもWebサービス対応がはっきり打ち出されている。WSDL for CRSが新たに用意されたのだ(図7)。WSDL for CRSを使用することで、インターネット上のさまざまなWebサービスに接続するためのCRSクラスを自動生成させることが可能となる。これらのクラスは、オブジェクトとしてクラスセレクタからドラッグ&ドロップで使用可能となるので、Webサービス対応アプリケーションを容易に開発できるようになっている。
図7

図7 WSDL for CRS
■新たにWebサービスに対応したBiz/Browser & Biz/Designerを助けるのがWSDL for CRSだ。簡単な操作でCRS用のWebサービス対応クラスを生成することができる。

 Webサービスに関しては、他社から提供されているWebサービス対応のパッケージも提供される予定だ。例えば、地図情報や路線情報の提供会社が用意しているWebサービスにアクセスするパッケージだ。
 これからの基幹業務システムに必要となる、パフォーマンスのよい、管理コストの少ない、メンテナンス性の高いシステム構築を行うには、リッチクライアントがうってつけだ。
 Biz/Browser、Biz/Designerの仕組みは、Flashと似ている部分も多く、Biz/Browserの画像などのデザイン性が向上したこともあってFlashと比較されることも多いと聞く。しかし、マスクエディットコントロールなどに代表される、業務に特化したコンセプトや、パフォーマンスの点ではBiz/Browserに軍配が上がるだろう。
 また、日本国内で開発、サポートされているという点での安心感もある。というのも、Internet Explorerなどと連携して動作するリッチクライアントの世界では、セキュリティホールの影響を受ける可能性が高いからだ。もしInternet Explorer のアップデートによって動作が不安定になるとしたら、業務に与える影響は大きい。こうしたときに国内に開発拠点があるというのは、迅速に対応が期待でき、大きなアドバンテージと言えるだろう。

関連リンク
アクシスソフト株式会社
Biz/Browser & Biz/Designer製品ページ

@IT sbp 会社概要 | 利用規約 | プライバシーポリシー | 採用情報 | サイトマップ | お問い合わせ
ITmediaはアイティメディア株式会社の登録商標です。