10
EWD 3 トトトトトト トトト #27 Global トトトトトト JavaScript トトトトト -(h) EWD 3 トトトトト M/Gateway Developments Ltd. Rob Tweed ト : トトトトトトトトトトトトト ト トト

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

Embed Size (px)

Citation preview

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

EWD 3トレーニング・コース  #27

Global ストレージの JavaScript 用の抽象化

-(h) EWD 3 セッション

M/Gateway Developments Ltd.Rob Tweed

訳 : 日本ダイナシステム株式会社 嶋 芳成

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

2

EWD 3 セッション

• ユーザーが作業中の間だけ永続する、一時的なストレージです• ewd-session モジュールによって制御・管理

されます• これは ewd-document-store モジュールに依存

します

2016/9/21 EWD 3 トレーニング・コース #27

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

3

EWD 3 セッション

• セッション・オブジェクトには、 ewd-session 自身によって維持される、いくつかの情報が含まれます• ewd-session により、見えないところで利用され

ます

• session.data を利用すれば、開発者はそのアプリケーションに特有のセッション情報を保存し検索することができます

2016/9/21 EWD 3 トレーニング・コース #27

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

4

EWD 3 セッション

• セッション・データは、セッションが終了すると、自動的に始末されます

2016/9/21 EWD 3 トレーニング・コース #27

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

5

ewd-xpress 内で Session にアクセスする

• アプリケーションのバックエンドのメッセージ・ハンドラ関数では自動的に利用可能となります

myHandler: function(messageObj, session, send, finished) {...};

2016/9/21 EWD 3 トレーニング・コース #27

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

6

session.data は DocumentNode オブジェクト

• session.data は、自動生成される DocumentNode オブジェクトです• アプリケーションが処理するメッセージの、ユー

ザー用の Session グローバル・ストレージを指し示します• 開発者は、標準の DocumentNode API を用いる

ことで、 session.data の内容にアクセスし、操作することができます

2016/9/21 EWD 3 トレーニング・コース #27

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

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

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

8

土台となる Global ストレージは?• デフォルトでは、次のグローバルにマップさ

れます• CacheTempEWDSession• Caché システムでは、 CacheTemp で始まる名

前のグローバルは、メモリ内のストレージにマップされ、ジャーナルの対象外です• 最も高性能です

• これをオーバーライドして、自身のグローバル名を定義することができます• ewd-xpress の開始ファイル内の

• config.sessionDocumentName

2016/9/21 EWD 3 トレーニング・コース #27

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

9

ewd-xpress 開始ファイルvar config = { managementPassword: 'keepThisSecret!', serverName: 'New EWD Server', port: 8080, poolSize: 1, database: { type: 'cache', params: { path: 'c:\\InterSystems\\Cache2015-2\\mgr' }, sessionDocumentName: 'mySessionGlobal' }};

var ewdXpress = require('ewd-xpress').master;ewdXpress.start(config);

2016/9/21 EWD 3 トレーニング・コース #27

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

10

ewd-xpress 開始ファイルvar config = { managementPassword: 'keepThisSecret!', serverName: 'New EWD Server', port: 8080, poolSize: 1, database: { type: 'cache', params: { path: 'c:\\InterSystems\\Cache2015-2\\mgr' }, sessionDocumentName: 'mySessionGlobal' }};

var ewdXpress = require('ewd-xpress').master;ewdXpress.start(config);

2016/9/21 EWD 3 トレーニング・コース #27