サービス&サポート


RADS - アプリケーション設計の問題点

このテクニカルノートの情報は、以下に該当します:

製品:RSView32 Active Displayタイプ:アプリケーションノート
テクニカルノートID:A766JA
パッケージ/モジュール:Browser Client
Display Client
Server
英文版作成日:2000/12/01
リビジョン:6.00
6.10
6.20.63
6.30.16
修正リビジョン:
サブシステム: N/A

テクニカルノート本文:

リビジョンノート:
アプリケーション設計の問題点のいくつかは、RSView32 Active Display Systemの最新のリリースで解決されています。解決された問題については、それぞれの対応する項目に記載されています。

背景:
理論上はActive Display Systemであらゆるプロジェクトを使用することが可能ですが、実際には考慮すべきいくつかの問題点があります。このドキュメントは、これらの問題について説明すると共に、適用可能な場合には、回避方法を提供します。RADクライアント/サーバプロジェクトを設計する際に考慮すべき非常に重要な問題点は、ハードウェアプラットフォームの最小要件です。弊社では、アプリケーションの複雑さとサイズに基づいたポイントシステムを開発しています。詳細は、以下を参照してください。

A1371JA - RAD - 推奨要件

クライアントの種類:
Active Display Systemは、Active DisplayクライアントおよびInternet Explorer Ver. 4または5という2種類のクライアントをサポートしています。IEはいくつかのフルサイズ画面へのアクセスに使用され、Active Displayクライアントはプロジェクト全体に使用されます。IEをクライアントとして使用する場合は、プロジェクトの実装時に考慮すべき問題がいくつかあります。詳細は、以下のテクニカルノートを参照してください。

A1447JA - クライアントにInternet Explorerを使用する場合のRAD設計の注意事項

グラフィック:
クライアントまたはサーバがグラフィックを開始または終了するたびに、画面を開始/終了するコマンドまたはマクロが実行されます。RSView32には、グラフィックの複数のインスタンスをカウントする方法がなく、開始および終了コマンドを1回実行する方法を提供します。

画面の開始/停止コマンドを使用して、ディライブド・タグ・ファイルおよびイベントファイルを開始/停止したり、タグをセットまたはリセットするなどのオペレーションを行なわないでください。

Active DisplayステーションまたはActive Displayブラウザは、グラフィックディスプレイに含まれるオブジェクト(サマリおよびアラームビューワなど)をサポートしていません。埋込みオブジェクト付きのグラフィックディスプレイのみがサポートされています。

クライアントでは、Displayコマンドの/Zスイッチは無視されます。クライアントは、メモリキャッシュの代わりにディスクキャッシュを使用します。

コマンドがどこで実行されるかについては、このドキュメントの「コマンド」のセクションを参照してください。

トレンド:
履歴トレンドおよびリアルタイムトレンドは、サーバおよび複数のクライアント上に.表示されます。しかし、クライアント(またはサーバ)がトレンドグラフィックを表示しているときに、クライアントが同じグラフィックをオープンした場合、または同じトレンド・コントロール・タグを使用する別のグラフィックをオープンした場合、オリジナルビューがトレンド・コントロール・タグの初期値にリセットされます。例えば、X軸、時間範囲、およびY軸ズームがすべてリセットされます。

複数のクライアント(またはクライアントとサーバ)が同じトレンドデータを参照したり、トレンドデータが同じトレンド・コントロール・タグを同時に参照すると、コントロールタグの対立が発生して、予期しないトレンドの動作が生じます。

画面にアクセスしているクライアントが1つだけである場合、またはトレンド・コントロール・タグが使用されていない場合にのみトレンドは動作します。

TrendXのリビジョンノート:
トレンドのもう1つの解決方法であるTrendXは、Extensions CDから使用できます。TrendXは、RSView Active Displayシステムで推奨されるトレンドソリューションです。

トレンドコントロールの配置について:
R184JA - RADステーション(クライアント)のコンピュータ名を決定するためのユーティリティ

Display ServerとDisplay Stationの時間が大幅に異なる場合は、Windows NT Server Resource Kitの時間同期サーバ(TimeServe.exe)を使用して、時間を同期化します。(Display Stationは、Display Server'の時間をトレンドおよびアラームに使用します。)

スクリプト:
VBAスクリプトを実行するVBAExecコマンドはサーバで実行されるため、すべてのVBAスクリプトはクライアントではなくサーバで実行されます。スクリプトがユーザフォームを提供する場合、そのフォームはクライアントではなくサーバにのみ表示されます。

そのユーザフォームがサーバから除去されるまで、他のスクリプトは実行されないため、ユーザフォームを起動するスクリプトをクライアントから実行してはなりません。この問題に対する1つの回避方法は、クライアントでAppStartコマンドが実行された後で、スタンドアロンのVBプログラムを使用することです。しかし、クライアントで実行中のアプリケーションは、RSView32オブジェクトモデルにアクセスできません。

コマンドがどこで実行されるかについては、後述の「コマンド」のセクションを参照してください。

ActiveXコントロールRAD 6.0, RAD 6.1:
組込みのActiveXコントロール付きの画面を呼出す場合、クライアントコンピュータ上にActiveX OCXファイルがインストールおよび登録されていなければなりません。通常、クライアント上ではOCXファイルのランタイムライセンスは不要です。

(メソッドの実行に使用される)Invokeコマンドがクライアントから実行されると、このコマンドは無視されます。従って、コーディングを必要とするコントロール(List Boxなど)は、Active Display Systemでは機能しません。ActiveXコントロールがこれらの制限内で使用されている場合、ActiveXコントロールはクライアント上で正しく実行されます。

詳しい情報:
A414 - ActiveX Controls requirements for the Active Display Client

ActiveXコントロールRAD 6.2:
組込みのActiveXコントロール付きの画面を呼出したとき、対応するCABファイルがRADサーバ上の適切な位置にある場合は、クライアントにActiveXがダウンロードされます。

詳しい情報:
A1403JA - RAD - ActiveXの自動ダウンロード機能をリモートクライアントに組込む方法

クライアントから実行されたとき、(メソッドの実行に使用される)Invokeコマンドはサポートされています。従って、コーディングを必要とするコントロール(ListBoxなど)は、Active Display System上で正しく機能します。

アラーム:
クライアントからアラームを認識すると、履歴アラーム・ログ・ファイルに記録されるのは、クライアントにログインしたユーザではなく、サーバにログインしたユーザの名前です。ソフトウェアは、認識がリモートで行なわれたことを記録しません。また、アラーム関連コマンド(アラームオンまたは抑制など)は、サーバ上で実行されます。

コマンドがどこで実行されるかについては、後述の「コマンド」のセクションを参照してください。

セキュリティ:
サーバ上には1つ以上のユーザアカウントが構成されていなければなりません。クライアントがサーバにログオンするには、ユーザ名とパスワードの入力が必要です。

Active Displayクライアントは、サーバ上で厳密なセキュリティが有効かどうかに関わらず、厳密なセキュリティを使用します。これは、マクロの実行時に、マクロ内のすべてのコマンドのセキュリティがチェックされるだけでなく、マクロ自体のセキュリティもチェックされることを意味します。厳密なセキュリティが実施されていない場合、マクロ内のコマンドのセキュリティはチェックされません。

コマンド:
RSView32コマンドがクライアントで(例:グラフィックディスプレイから)開始された場合、コマンドはセキュリティ権限について検証されてから、処理されます。プロジェクトで使用される各コマンドについてRSView32コマンドテーブルを参照して、コマンドがクライアント上で実行されるか、無視されるか、または実行用にサーバに送信されるかをチェックします。コマンドの実行場所によって問題が発生しないことを確認してください。そうでないと、アプリケーションロジックで予期しない結果が生じます。

RADクライアントへのボタン可視性の実装について:
A1415JA - RSView32 Active Display SystemのActiveXコントロール:ボタンへのRSView32セキュリティの追加、現在のユーザの表示

コマンドがどこで実行されるかについて:
A546JA - Active Display System 6.xでコマンドがどこで実行されるか
A545 - Commands that have changed from 1.0 to 6.0 of the Active Display System

コマンドを強制的にクライアントで実行する方法:
A1099JA - ActiveXコントロールを使用してRADSサーバからRADSクライアントにコマンドを発行するユーティリティ
R184JA - RADステーション(クライアント)のコンピュータ名を決定するためのユーティリティ

ファイルの場所:
プロジェクトでDisplayServerOnコマンドが最初に発行されると、Internet Services Managerでプロジェクトディレクトリのエイリアスが設定されます。これにより、クライアントは、プロジェクトディレクトリ内のデフォルト位置にあるすべてのプロジェクトファイルにアクセスできます。

デフォルト位置以外にあるファイルをプロジェクトが使用すると、Internet Services Managerでこれらのディレクトリのエイリアスを手動で設定しないかぎり、クライアントはこれらのファイルにアクセスできません。

詳しい情報:
A700 - RADS Accessing project files located on a server

リソース・キット・ユーティリティ:
リソースキットに格納されたユーティリティは、サーバ上で実行されます。ユーティリティがユーザ入力ボックスを生成すると、そのボックスはクライアントではなくサーバに表示されます。アプリケーションは、設計したとおりに機能しないことがあります。リソースキットを使用するには、RSView32が最初にインストールされている必要があるため、RADクライアント上にはインストールできません。

いくつかのリソース・キット・ユーティリティ(Trend Calendar Controlなど)はRADクライアント上で使用可能であり、手動でインストールする必要があります。Windows NTでデフォルト・インストール・パスが使用される場合、実行プロンプトでこのコントロールの登録を以下のように入力します。

regsvr32 c:\winnt\system32\RSV32TrendCalc.ocx

regsvr32プログラムは、Visual Basicと共にインストールされています。このコントロールは、MSVBCalendarコントロールも参照するため、MSVBCalendarコントロールがインストールされていなければなりません。このファイルは、リソースキットから入手するか、またはVBと共にインストールします。

最新のRADユーティリティ:
RAD Ver. 6.10
R353 - RSView32 Active Display 6.10.25/26 Patch, Utilities TOC

RAD Ver. 6.20
R446 - RSView32 Active Display 6.20.63 Patch, Utilities TOC

RAD Ver. 6.30
R508JA - RSView32 Active Display 6.30.16のパッチおよびユーティリティ集


法的な注意事項:
本版は、英文テクニカルノートの和訳です。英文原文を正文といたします。
ロックウェル・ソフトウェア(RSI) のKnowledgebaseに記載された情報は、いかなる保証もなく「そのままで」提供されます。RSI は、明示または暗示されたいかなる保証も負いません。また、RSI がそのような損害の可能性を忠告していた場合でも、直接、間接、偶発的、必然的な利益の損失または損害を含むいかなる損害についても、RSI は責任を負いません。
©2000 Rockwell Software Inc. All rights reserved.