Flexを使ったApexアプリケーション開発(1)
by Shinichi Tomita on 6月 26, 2007 at 10:46 午前
インターネットのアプリケーション開発環境について興味のある方の中には、Adobe社が提供しているFlashベースのRIA(Rich Internet Application)フレームワークである「Flex」についてお聞きになったことがあるかもしれません。
現在Salesforceでは、「Flex Toolkit for Force.com」として、Flexアプリケーションの中からSalesforceのデータにアクセスするためのライブラリを提供しています。このActionScriptでできたライブラリは、HTMLページからAJAX Toolkitを使用する場合と同様に、簡単にApex APIにアクセスすることができます。
必要条件
- ADN(Developer Edition)のアカウント(こちらから今すぐ登録できます)
- Adobe Flex Builder 2 (あるいはFlex2 SDK)
- Flex Toolkit for Force.com(ADNのアカウントが必要です)
http://wiki.developerforce.com/index.php/Members:Flex_Toolkit_download
Flex BuilderはAdobe社が提供しているFlexアプリケーション作成のためのIDEです。ソースコードの記述からドラッグドロップによるコンポーネント配置などの機能が利用できます。Flex Builderの替わりにコマンドラインでのFlex 2 SDKを使用することもできます。
- Flex Builder 2(体験版のダウンロード)
http://www.adobe.com/jp/products/flex/flexbuilder/ - Flex 2 SDK (無料)
http://www.flex.org/
セットアップ
ここでは無料のFlex 2 SDKを利用して、Salesforceに埋め込んだFlexアプリケーションを作成する方法について説明します。
- ダウンロードしたFlex2 SDKを解凍し、適当なフォルダにコピーしておきます。
例)C:\Program Files\Adobe\flex_sdk_2 -
環境変数のパスにFlex SDKの実行ファイルが含まれるように設定します。
Windowsの場合は「コントロールパネル>システム>詳細設定>環境変数」からシステム環境変数 "Path" にc:\Program Files\Adobe\flex_sdk_2\bin
を追加します。既存のパスの後ろにセミコロン(;)で区切って追加してください。パスを設定したら、コマンドプロンプトから以下のコマンドを実行して、実際にパスが通っているか確かめます
c:\> mxmlc --version
Version 2.0.1 build 155542 -
ダウンロードした Apex Flex ライブラリを解凍し、適切なフォルダにインストールします
例)C:\Program Files\salesforce.com\FlexSalesforce_R3_6解凍したフォルダの中の
binフォルダに、ビルド済みのas3Salesforce.swcというライブラリがあります。これがFlexアプリケーションからSalesforceに接続するためのライブラリの本体です。
Salesforce連携FlexのHello Worldのサンプル
エディタを使用して、以下のXMLファイルを記述して保存します(SalesforceHello.mxml)。これはFlexアプリでSalesforceのログインユーザ名を表示するだけの単純なサンプルアプリケーションを定義しています。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:salesforce="com.salesforce.*"
layout="absolute"
applicationComplete="login()" >
<mx:Script>
<![CDATA[
import com.salesforce.*;
import com.salesforce.events.*;
import com.salesforce.objects.*;
import com.salesforce.results.*;
private function login():void {
var lr:LoginRequest = new LoginRequest({
server_url : Application.application.parameters.server_url,
session_id : Application.application.parameters.session_id,
// username : 'admin@demo.com', // <-- put your username here when connecting from local app
// password : 'mypassword1234', // <-- put your password here when connection from local app
callback : new AsyncResponder(sayHello)
});
conn.login(lr);
}
private function sayHello(result:Object):void {
conn.getUserInfo(new AsyncResponder(function(userInfo:Object):void {
message.text = "こんにちは、" + userInfo.userFullName;
}));
}
]]>
</mx:Script>
<salesforce:Connection id="conn" />
<mx:Label id="message" x="10" y="10" fontSize="32" color="#FFFFFF" text=""/>
</mx:Application>
記述したXMLファイルは、以下のコマンドでSWFファイル形式にコンパイルできます。
> mxmlc -use-network=true -library-path+="C:\Program Files\salesforce.com\FlexSalesforce_R3_6\bin"
SalesforceHello.mxml (一行で続けて入力します)
library-pathオプションには、as3Salesforce.swcファイルが保存されているディレクトリ名を指定してください。
SalesforceにFlexアプリケーションをアップロード
作成したFlexアプリケーションをアップロードするには、まずSalesforceに管理者としてログインし、「設定>アプリケーションの設定>開発>カスタムSコントロール」から新規にSコントロールを作成します。
Flex Toolkit for Force.com を解凍したフォルダの中に、flexScontrolContent.htmというHTMLファイルがありますので、この中身のHTMLをそのままSコントロールの作成画面の内容として登録します。ファイルの参照ボックスで、コンパイルして作成されたSWFファイルを指定します。
Sコントロールを保存したら、Sコントロールを表示するためのタブを作成します。「設定>アプリケーションの設定>開発>カスタムタブ」からWebタブを新規作成し、Sコントロールとして先ほど作成したSコントロールを選択します。タブの作成が完了すると、右端に作成したタブが表示されますので、クリックするとログインしているユーザの名前がFlexの画面上が表示されます。
トラックバック
このページのトラックバックURL: http://www.typepad.jp/t/trackback/7240/7027612
このページへのトラックバック一覧 Flexを使ったApexアプリケーション開発(1):


コメント
Posted by itoshima on 5月 15, 2008 12:32 午後:
****以下、本文より引用****
> mxmlc -use-network=true -library-path+="C:\Program Files\salesforce.com\FlexSalesforce_R3_6\bin" SalesforceHello
****引用ここまで****
コマンドの表示が途中で切れてしまっています。
とりあえずソースの表示でわかりましたが、お知らせいたします。
使用ブラウザ:IE6
以上
Posted by mokamoto on 5月 19, 2008 02:25 午前:
itoshima様
ご指摘の箇所を修正致しました。
ありがとうございます。