EWD 3
トレーニング・コース #27
GlobalストレージのJavaScript用の抽象化
-(h) EWD 3 セッション
M/Gateway Developments Ltd.
Rob Tweed
訳: 日本ダイナシステム株式会社 嶋 芳成
EWD 3 セッション
• ユーザーが作業中の間だけ永続する、一時的なスト
レージです
• ewd-session モジュールによって制御・管理されます
• これは ewd-document-store モジュールに依存します
2016/9/21 EWD 3 トレーニング・コース #27 2
EWD 3 セッション
• セッション・オブジェクトには、ewd-session 自身に
よって維持される、いくつかの情報が含まれます
• ewd-session により、見えないところで利用されます
• session.data を利用すれば、開発者はそのアプリ
ケーションに特有のセッション情報を保存し検索するこ
とができます
2016/9/21 EWD 3 トレーニング・コース #27 3
EWD 3 セッション
• セッション・データは、セッションが終了すると、自動的に
始末されます
2016/9/21 EWD 3 トレーニング・コース #27 4
ewd-xpress 内で Session にアクセスする
• アプリケーションのバックエンドのメッセージ・ハンドラ関数
では自動的に利用可能となります
myHandler: function(messageObj, session, send, finished) {...};
2016/9/21 EWD 3 トレーニング・コース #27 5
session.data は DocumentNode オブジェクト
• session.data は、自動生成される
DocumentNodeオブジェクトです
• アプリケーションが処理するメッセージの、ユーザー用の
Session グローバル・ストレージを指し示します
• 開発者は、標準の DocumentNode API を用いること
で、session.data の内容にアクセスし、操作することがで
きます
2016/9/21 EWD 3 トレーニング・コース #27 6
ewd-xpress 内で Session にアクセスする
myHandler: function(messageObj, session, send, finished) {...};
例えば、
- session.data.$('mySessionVariable').value = 'bar';
- var foo = session.data.$('mySessionVariable').value;
- var someObj = session.data.$('mySessionObj').getDocument();
- session.data.$('mySessionObj').setDocument(someObj);
2016/9/21 EWD 3 トレーニング・コース #27 7
土台となる Global ストレージは?
• デフォルトでは、次のグローバルにマップされます
• CacheTempEWDSession
• Caché システムでは、CacheTemp で始まる名前のグ
ローバルは、メモリ内のストレージにマップされ、ジャーナルの
対象外です
• 最も高性能です
• これをオーバーライドして、自身のグローバル名を定義
することができます
• ewd-xpress の開始ファイル内の
• config.sessionDocumentName
2016/9/21 EWD 3 トレーニング・コース #27 8
ewd-xpress 開始ファイル
var config = {
managementPassword: 'keepThisSecret!',
serverName: 'New EWD Server',
port: 8080,
poolSize: 1,
database: {
type: 'cache',
params: {
path: 'c:InterSystemsCache2015-2mgr'
},
sessionDocumentName: 'mySessionGlobal'
}
};
var ewdXpress = require('ewd-xpress').master;
ewdXpress.start(config);
2016/9/21 EWD 3 トレーニング・コース #27 9
ewd-xpress 開始ファイル
var config = {
managementPassword: 'keepThisSecret!',
serverName: 'New EWD Server',
port: 8080,
poolSize: 1,
database: {
type: 'cache',
params: {
path: 'c:InterSystemsCache2015-2mgr'
},
sessionDocumentName: 'mySessionGlobal'
}
};
var ewdXpress = require('ewd-xpress').master;
ewdXpress.start(config);
2016/9/21 EWD 3 トレーニング・コース #27 10

EWD 3トレーニングコース#27 GlobalストレージのJavaScript用抽象化-(h) EWD 3 セッション

  • 1.
    EWD 3 トレーニング・コース #27 GlobalストレージのJavaScript用の抽象化 -(h)EWD 3 セッション M/Gateway Developments Ltd. Rob Tweed 訳: 日本ダイナシステム株式会社 嶋 芳成
  • 2.
    EWD 3 セッション •ユーザーが作業中の間だけ永続する、一時的なスト レージです • ewd-session モジュールによって制御・管理されます • これは ewd-document-store モジュールに依存します 2016/9/21 EWD 3 トレーニング・コース #27 2
  • 3.
    EWD 3 セッション •セッション・オブジェクトには、ewd-session 自身に よって維持される、いくつかの情報が含まれます • ewd-session により、見えないところで利用されます • session.data を利用すれば、開発者はそのアプリ ケーションに特有のセッション情報を保存し検索するこ とができます 2016/9/21 EWD 3 トレーニング・コース #27 3
  • 4.
    EWD 3 セッション •セッション・データは、セッションが終了すると、自動的に 始末されます 2016/9/21 EWD 3 トレーニング・コース #27 4
  • 5.
    ewd-xpress 内で Sessionにアクセスする • アプリケーションのバックエンドのメッセージ・ハンドラ関数 では自動的に利用可能となります myHandler: function(messageObj, session, send, finished) {...}; 2016/9/21 EWD 3 トレーニング・コース #27 5
  • 6.
    session.data は DocumentNodeオブジェクト • session.data は、自動生成される DocumentNodeオブジェクトです • アプリケーションが処理するメッセージの、ユーザー用の Session グローバル・ストレージを指し示します • 開発者は、標準の DocumentNode API を用いること で、session.data の内容にアクセスし、操作することがで きます 2016/9/21 EWD 3 トレーニング・コース #27 6
  • 7.
    ewd-xpress 内で Sessionにアクセスする myHandler: function(messageObj, session, send, finished) {...}; 例えば、 - session.data.$('mySessionVariable').value = 'bar'; - var foo = session.data.$('mySessionVariable').value; - var someObj = session.data.$('mySessionObj').getDocument(); - session.data.$('mySessionObj').setDocument(someObj); 2016/9/21 EWD 3 トレーニング・コース #27 7
  • 8.
    土台となる Global ストレージは? •デフォルトでは、次のグローバルにマップされます • CacheTempEWDSession • Caché システムでは、CacheTemp で始まる名前のグ ローバルは、メモリ内のストレージにマップされ、ジャーナルの 対象外です • 最も高性能です • これをオーバーライドして、自身のグローバル名を定義 することができます • ewd-xpress の開始ファイル内の • config.sessionDocumentName 2016/9/21 EWD 3 トレーニング・コース #27 8
  • 9.
    ewd-xpress 開始ファイル var config= { managementPassword: 'keepThisSecret!', serverName: 'New EWD Server', port: 8080, poolSize: 1, database: { type: 'cache', params: { path: 'c:InterSystemsCache2015-2mgr' }, sessionDocumentName: 'mySessionGlobal' } }; var ewdXpress = require('ewd-xpress').master; ewdXpress.start(config); 2016/9/21 EWD 3 トレーニング・コース #27 9
  • 10.
    ewd-xpress 開始ファイル var config= { managementPassword: 'keepThisSecret!', serverName: 'New EWD Server', port: 8080, poolSize: 1, database: { type: 'cache', params: { path: 'c:InterSystemsCache2015-2mgr' }, sessionDocumentName: 'mySessionGlobal' } }; var ewdXpress = require('ewd-xpress').master; ewdXpress.start(config); 2016/9/21 EWD 3 トレーニング・コース #27 10