システム構築の留意点¶
CRSで業務アプリケーションを構築する場合、HTMLと比較して以下の大きな違いがあります。
通信単位の違い¶
CRSファイルは画面レイアウト情報を含みますが、HTMLと異なり必ずしも1個のCRSファイルが1画面に対応することはありません。
Webサーバとの通信により取得したCRSファイルはHTMLのようにそのまま画面に表示されるのではなく、スクリプトとしてBiz/Browserにより実行されます。 実行した結果としてCRSスクリプトの内容により画面が表示されることもありますし、単にデータだけを更新することもあります。
従って、Biz/Designerで画面の要素部品を複数作成し、実行時に結合して1つの画面としたり、共通なロジック部分だけを別のファイルにして結合することも可能です。
また、表示されている画面の一部分だけを変更するようなCRSスクリプトをWebサーバからダウンロードすれば、画面の一部分だけを変更することも可能です。 例えば、TextBox1の背景色を赤に変更する場合、以下のようなCRSスクリプトをWebサーバが送信することになります。
TextBox1.bgColor = Color.RED;
キャッシュの考え方の違い¶
Biz/Browserのキャッシュは、ダウンロードしたCRSスクリプトをコンパイルしたバイナリ形式で保存されます。 そのために、キャッシュされたCRSスクリプトはコンパイルのオーバーヘッドがなく非常に高速に呼び出すことができます。
また、通常のWebブラウザと異なりBiz/Browserのキャッシュは、一度キャッシュした内容は明示的に削除しない限り有効です。 キャッシュの内容が古くなっていないか確認するための通信も行われません。キャッシュの整合性は、Webサーバ上で動作するアプリケーションにより保証する必要があります。
このため、Biz/BrowserのキャッシュはWebブラウザにおけるキャッシュよりもアプリケーションのインストールに近い考え方となります。
パフォーマンス向上のためのポイント¶
Biz/Browserで業務アプリケーションを快適に利用できるようにするためには、ユーザの操作に対して迅速な応答を返すようにアプリケーションを設計する必要があります。
Biz/Browserには、応答速度を向上させるためのさまざまな機能が内蔵されていますが、最も重要なことはWebサーバとの通信回数をできるだけ減らすことです。 通信するデータ量にもよりますが、通信における処理時間のほとんどは接続と切断にかかる時間で占めるため、通信回数を減らすことはパフォーマンスを向上させるのに役立ちます。
パフォーマンスが悪化する例
get("prog1?code=1");
get("prog2?code=1");
このように必要なデータが2種類ある場合、2個のGET命令で取得すると2倍の時間がかかります。
パフォーマンスを改善する例
prog1とprog2の両方の応答内容を含んだ応答を返すprog3を用意して1回だけの通信に集約します。
get("prog3?code=1");
これで、パフォーマンスが悪化する例に比べて概ね半分程度の時間で通信は終了します。