Forums: Open Discussion (Thread #18122)

WebとRichでの情報共有 (2008-03-26 14:06 by nazozen #35761)

お世話になっております。連続になりますが、よろしくお願いいたします。

先程別項の続きとして質問しましたが、新規質問としたほうが良いかと思い、再質問いたします。

現在Terasoluna-WebとRichを融合して、Logon部分をWeb版で、データ一覧をRich版のXMLで、というようにしています。
現時点ではWeb版、Rich版のそれぞれのチュートリアルを融合して、ログオン後のHTMLにRich版とのやり取りを行うフォームを置き、XMLのやり取りまではできています。

そこで、このような場合でRich版のSimpleBLogicでWeb版Logonで保存したUserValueObjectを取得する方法をご教授願います。

Reply to #35761×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: WebとRichでの情報共有 (2008-03-26 14:32 by yggd #35762)

リッチクライアントの種類によっては、Web ブラウザとは異なり、
Cookie や jsessionid の保持が困難なものがあります。
そのため、リッチクライアント版 フレームワークでは基本的にリクエストデータなど、ステートレスな情報を扱います。
また、Thin & Rich 混在のアプリケーションの実現方式につきましても、決定的な方式はありません。

そのため、UserValueObject 内のユーザ情報を持ちまわる場合は、DB や、ApplicationContext など、リクエストをまたがった共有領域に退避します。

なお、チュートリアルのように Web ブラウザの使用に限定できる場合は、別途 Thin側で

UserValueObject → SpringのDI コンテナ(session スコープ) の Bean への詰め替え

を行うことで、ユーザ情報の受け渡しができるものと考えます。
一方で、Rich 版のアプリケーション内でユーザ情報Bean の参照機能は現在ありませんので、別途フレームワークを拡張する必要があります。

[ 参考 ]
- @IT Spring 2.0時代の開発スタイル(3)
HTTPセッションごとに限定したスコープを持つBeanを定義するsessionスコープ -
<http://www.atmarkit.co.jp/fjava/rensai4/spring2_03/spring2_03_3.html>

繰り返しになりますが、基本的にリッチクライアント版フレームワークではセッション情報を扱うことを想定しておりません。
クライアントの種類が変わった場合など、異なる動作となることがある点にご注意ください。
Reply to #35761

Reply to #35762×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: WebとRichでの情報共有 (2008-03-26 17:31 by nazozen #35773)

ご回答ありがとうございます。

Rich版ではセッション情報不可との事、承知いたしました。
Reply to #35761

Reply to #35773×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login