6.5.1 共有データの一意の識別

ステートレスなHTTPプロトコル経由のブラウザーとサーバー間の対話処理では、一意の値の受け渡しが可能です。その値は、サーバー上で管理される、ブラウザーに渡されずに表示されることがないデータを識別するための特別なキーの役割を果たします。データベースで言えば、1行または複数行のデータを識別することによって、他のデータ・テーブルに対する外部キーとしての役割を果たせるキーのようなものです。

WAMにも、同じような手法があります。一意の識別子を使用してセッションを識別し、サーバー上のセッション状態へのアクセスを認めるかどうかを決定できるのです。

WEBEVENTファンクションとWAMの間でデータを共有するためにも、同じような手法を活用できます。そのために必要なのは、WEBEVENTとWAMの間でブラウザーの対話処理を実行するときに、ブラウザーとサーバーの間で特別な一意識別キーの受け渡しを行うことだけです。ブラウザーでは単にフォームの非表示フィールドにその値を格納するだけで、フォームと一緒にその値を送信できます。

その識別用の値は、固有のサーバー・データ・セットを一意に識別するために、32バイトの長さにすることを強くお勧めします。WAMフォームの場合は、デフォルトで、STDANCHORフィールドをこの目的のために管理/送信するようになっています。WEBEVENTフォームの場合は、DISPLAY/REQUESTコマンドにそのフィールドを追加して、WEBEVENTフォームに配置しなければなりません。32バイトの長さの英数字フィールドとしてそのフィールドをリポジトリに作成すれば、WAMコードとWEBEVENTコードの両方でそのフィールドを使用して、共有するデータを取得できます。このフィールドは、共有データを格納するデータベース・テーブルのキーとしても使用できますし、オペレーティング・システム・ファイルのキーとして、共有データを格納するファイルの名前として使用することも可能です。