リッチインターネットアプリケーションと
 Macromedia Flex の技術情報集
 
    HOME   |  
 
 
 Flex FAQ 一般的な質問

質問と回答

質問:

同一マシンの別々の Webブラウザーで動作している Flex アプリケーション間で情報を交換することはできますか?

答え:

可能です。ActionScript の LocalConnection クラスを使います。

次の URL にサンプルコードが紹介されていますので参考になるかと思います。

http://www.markme.com/cc/archives/004620.cfm

(ここに載っているサンプルコードは myConnection.send("application_b", "messagePosted", myMessage.text); のところが間違っていて、正しくは "application_b" のところが "receivingapp" でなければならないようです。ここで出ている"application_b"はアプリケーション間で接続を確立するための論理名で、この名前が、送り側、受け側で一致していなければならないからです)

 

 

質問:

Flex がサポートしている SOAP のバージョンは?

答え:

Flex1.5 は Webサービスのために SOAP バージョン 1.1 に対応しています。 参考までに次に Flex 1.5 が Webサービス関連で採用している各パッケージとバージョンを掲載します。

Name: org/apache/axis
Implementation-Vendor: Apache Web Services
Implementation-Version: 1.1 1553 January 21 2004
Implementation-Title: Apache Axis

Name: javax/xml/rpc
Specification-Title: JAX-RPC
Specification-Vendor: JCP
Specification-Version: 1.1

Name: javax/xml/soap
Specification-Title: SAAJ
Specification-Vendor: JCP
Specification-Version: 1.1

 

質問:

RemoteObject でサーバーから取得したデータがクライアントにファイルとして残ることはありませんか?

答え:

RemoteObject でサーバーから取得したデータはブラウザーのインターネットテンポラリーファイルとしてクライアントマシンに保存されます。このファイルは通信のたびに上書きされますので、ファイルリソースを無用に消費するという性質のものではありませんが、セキュリティーなどの観点でよくないと思われるかもしれません。データはバイナリー形式で保存されています。ですのでテキストエディターなどで簡単に内容を盗み見ることができるというわけではありません。しかし何らかの方法により内容が解読され過去の情報のやり取りがこのファイルから取得されるかもしれません。

このファイルの保存を抑止する方法の一つは RemoteObject リクエストのレスポンスに対してレスポンスヘッダー Cache-Control: no-store を加えるということです。各 Webサーバーにはレスポンスヘッダーを追加する機能があります。この機能を利用して、Flexサーバーが経由する Webサーバーからのレスポンスにレスポンスヘッダー Cache-Control: no-store を加えます。

下図は IIS で この設定を行った例です。

Cache-Control: no-store は、レスポンスデータをキャッシュとしてファイルに残すことを抑止するためのオプションです。この対応を行った場合の明らかな副作用は、同一サイト配下にあるすべてのコンテンツについても同様にキャッシュとしてクライアントのディスクに保存されなくなってしまうということです。毎回内容の変わらない画像データ や Flex アプリケーションである swf もブラウザーを新しく開くたびに毎回サーバーからダウンロードされることになってしまいます。このためこの対応をとりつつ、最大限のパフォーマンスをアプリケーションに期待するのであれば RemoteObject サービスを提供するサイトとそれ以外は分けるべきかもしれません。

考えうるもうひとつの対応策は Flex がインストールされている Webアプリケーションに J2EEフィルターを追加し、RemoteObject リクエストに対してのみレスポンスヘッダー Cache-Control: no-store が付加されるようにすることです。

 

 

 

<前のページ