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 と Flex では、データ管理アーキテクチャが異なります。これらのアーキテクチャは、それぞれのオーサリング環境とユーザーコミュニティの要件を満たすように開発されています。Flash Professional では、Flash Professional のオーサリング環境で使用するための一連のデータコンポーネントが提供されています。コンポーネントの一部の機能は、Flex の機能と共通していますが、ベースとなっているアーキテクチャは異なります。
Flash Professional は、Flash Professional のコンポーネントと連動する独自のデータバインディング機能も備えていますが、これは Flex のデータバインディングとは完全に異なる機能です。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート