最新の4Dアップデートでは、Sessionコマンドをクライアント/サーバー接続に拡張し、クライアントレベルでセッションストレージにアクセスできるようになりました。この機能をORDAクラスの新しい’Restrict’イベントと組み合わせることで、権限、ロール、あるいは地域など、セッションデータに基づいた結果のフィルタリングがこれまで以上に簡単になります。
4Dでアプリケーションを開発することは、シングルユーザーのようなローカル環境で作業することを意味します。スタンドアローンモードでは、Session コマンドは常に Null を返していました。これは、”Storage “や “Session.storage “から読み込むために、Session オブジェクトが Null かどうかをチェックする複雑なコードを書かなければならないことを意味します。この回避策は、機能的ではありましたが、エレガントではありませんでした。
4D 20 R8 では、これはもはや問題ではありません。Sessionコマンドは、スタンドアロンモードでも有効なオブジェクトを返すようになり、アプリケーションの開発とテストが簡単になりました。
スタンドアロンでの拡張コマンド
Sessionの概念が開発で使えるようになったことで、これら3つのコマンドが使えるようになりました:
シングルユーザー環境で作成されるセッションはシミュレートされたセッションであることに注意することが重要です。これらのコマンドは、ワークフローを簡素化するために、クライアント/サーバーアプリケーションを開発し、テストするためだけに使用してください。
スタンドアロンアプリケーションでは、引き続き Storageコマンドを使用して、”Restrict “イベントなどで使用するユーザー固有の情報を保持します。
実際の使用例
このバージョンの4Dで導入された新機能によってよりシンプルになった、セッションオブジェクトの実用的な使用例をいくつか見てみましょう。
認証
authentify “機能でユーザーを認証するとき、そのユーザーに関する情報を Session オブジェクトに保存することができます。
さらに詳しい情報は、以下のブログをご覧ください:
データ制限
Restrict “イベントを使用すると、アクセスする人やアクセスされるデータに応じてデータを保護し、アクセスを制限することでデータのセキュリティを確保することができます。
詳しくはこちらのブログをご覧ください:ORDA – データを関連する基準に制限する
セッション間のデータ共有
各セッションは独自のストレージを保持します。また、別のセッションのストレージにアクセスすることもできます。
そのため、同じユーザーがデスクトップクライアントアプリケーションとウェブアプリケーションの両方から自分のストレージにアクセスすることができます。その結果、あるデバイスで作業を開始し、別のデバイスで継続することが非常に簡単になります。例えば、コンピューターからタブレットに移行する場合でも、同じ環境設定を維持したまま作業を続けることができます。
詳しくは、以下のブログをご覧ください:
さらに深く
様々なタイプのセッションについてもっと知りたければ、Webセッション、リモートセッション、APIセッション、特権セッションのページを読むことをお勧めします。
あなたの経験をフォーラムで共有することをためらわないでください。