Adobe Flex 3 ヘルプ

Flex でのデータアクセスと他のテクノロジとの比較

Flex でのデータソースおよびデータの操作方法は、JSP、ASP、ColdFusion など他の Web アプリケーション環境の場合とは異なります。また、Flex アプリケーションでのデータアクセスは、Adobe® Flash® Professional で作成されたアプリケーションでのデータアクセスとも大きく異なります。

クライアントサイドの処理とサーバーサイドの処理

JSP とサーブレット、ASP、または CFML を使用して作成された HTML テンプレートとは異なり、Flex アプリケーションのファイルはバイナリの SWF ファイルにコンパイルされてから、クライアントに送信されます。Flex アプリケーションから外部サービスに要求を行う場合は、SWF ファイルは再コンパイルされず、ページの更新も不要です。

次の例は、Web サービスを呼び出すための MXML コードです。ユーザーが Button コントロールをクリックすると、クライアントサイドのコードによって Web サービスが呼び出され、ページを更新することなく、結果データがバイナリの SWF ファイルに返されます。返された結果データは、アプリケーションでダイナミックコンテンツとして使用できます。

<?xml version="1.0"?>
<!-- fds\rpc\RPCIntroExample2.mxml --> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
    <!-- Declare a WebService component (the specified WSDL URL is not functional). --> 
    <mx:WebService id="WeatherService"
        destination="wsDest"/>

    <mx:Button label="Get Weather" 
        click="WeatherService.GetWeather(input.text);"/>
        
    <mx:TextInput id="input"/>  
</mx:Application>

次の例は、JSP カスタムタグを使用して Web サービスを呼び出す JSP コードです。ユーザーがこの JSP を要求すると、Web サービス要求はクライアント上ではなくサーバー上で行われ、結果を使用して HTML ページのコンテンツが生成されます。アプリケーションサーバーは HTML ページ全体を再生成してから、ユーザーの Web ブラウザに送信します。

<%@ taglib prefix="web" uri="webservicetag" %>

<% String str1="BRL";
String str2="USD";%>

<!-- Call the web service. -->
<web:invoke
    url="http://www.itfinity.net:8008/soap/exrates/default.asp"
    namespace="http://www.itfinity.net/soap/exrates/exrates.xsd"
    operation="GetRate"
    resulttype="double"
    result="myresult">
    <web:param name="fromCurr" value="<%=str1%>"/>
    <web:param name="ToCurr" value="<%=str2%>"/>
</web:invoke>

<!-- Display the web service result. -->
<%= pageContext.getAttribute("myresult") %>

データソースへのアクセス

Flex が他の Web アプリケーションテクノロジーと異なるもう 1 つの特徴は、Flex ではデータソースと直接通信しないということです。Flex では、サービスコンポーネントを使用してサーバーサイドのサービスに接続し、データソースとやり取りします。

次の例では、ColdFusion ページからデータソースに直接アクセスします。

...
<CFQUERY DATASOURCE="Dsn"
    NAME="myQuery">
    SELECT * FROM table
</CFQUERY>
...

Flex で同様の機能を実現するには、HTTPService、WebService、または RemoteObject のいずれかのコンポーネントを使用してサーバーサイドオブジェクトを呼び出し、そのオブジェクトがデータソースから結果を返します。

Flash Professional のデータ管理

Flash Professional と Flex では、データ管理アーキテクチャが異なります。これらのアーキテクチャは、それぞれのオーサリング環境とユーザーコミュニティの要件を満たすように開発されています。Flash Professional では、Flash Professional のオーサリング環境で使用するための一連のデータコンポーネントが提供されています。コンポーネントの一部の機能は、Flex の機能と共通していますが、ベースとなっているアーキテクチャは異なります。

Flash Professional は、Flash Professional のコンポーネントと連動する独自のデータバインディング機能も備えていますが、これは Flex のデータバインディングとは完全に異なる機能です。

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート