Adobe
製品
Creative Suiteファミリー
Photoshopファミリー
Acrobatファミリー
Flash Platform
Digital Marketing Suite
Digital Enterprise Platform
Digital Publishing Suite
その他の製品一覧
ソリューション
コンテンツオーサリング
教育
金融機関
デジタルマーケティングソリューション
その他のソリューション
ラーニング サポート ダウンロード 会社情報
ご購入
アドビストア安心のサポート& サービス
アカデミック版のご購入学生、教職員、個人
ライセンスのご購入企業、教育機関、官公庁
販売パートナー
検索
 
情報 サインイン
ようこそ、 カート 注文状況 ユーザー登録
マイアカウント
サインアウト
サインインの目的 お客様のアカウントや体験版ダウンロード、製品の拡張機能、コミュニティエリアへのアクセスなどを管理するため
Adobe
製品 セクション   検索  
ソリューション 会社情報
サポート ラーニング
サインイン ようこそ、 注文状況 ユーザー登録
Qty:
Subtotal
Checkout
Adobe Developer Connection / Flexデベロッパーセンター /

Flash Builder 4によるデータ中心型開発

著者 Sunil Bannur

Sunil Bannur

更新日

8 March 2010

ページ ツール

Facebookでシェア
Twitterでツイート
LinkedInでシェア
ブックマーク
印刷

Tags

必要条件

この記事に必要な予備知識

Flex Builderの使用経験があれば役立ちますが、必須ではありません。ColdFusion、Java、PHPなどのサーバーサイドテクノロジーを理解していることが必要です。

ユーザーレベル

すべて

必要な製品

  • Flex Builder (Download trial)

Adobe Flash Builder 4は、Flex開発の初心者にもベテランにも、新しい機会を提供します。その1つは、データ中心型のリッチなインターネットアプリケーションの開発です。Flashプラットフォームを構成するプロフェッショナルなツール、オープンソースフレームワーク、ユビキタスなクライアントの組み合わせにより、きわめて表現力の高いコンテンツやアプリケーションを提供できます。

ただし、ほとんどのアプリケーションは、プラットフォーム外部に存在するサービスにも依存しています。例えば、企業データベースに記録された情報に対して、レポートやデータビジュアリゼーションの機能を提供するアプリケーションが考えられます。あるいは、既存の注文管理システムやサードパーティ製の支払いサービスに、リッチな電子商取引アプリケーションを統合する必要があるかもしれません。電子メールの送信やデータベースの照会といった簡単なものから、クラウドホステッドサービスやサードパーティAPIとの統合まで、あらゆるアプリケーション機能でサーバーやサービスとの接続が必要となります。

以前のリリースでは、開発者は様々な技法を学んで、サーバーやサービスとの接続を自分でコーディングする必要がありました。例えば、SOAP Webサービスに接続するには、ColdFusionコンポーネントやPHPクラスに接続する場合とは異なるMXMLタグが必要でした。また、コードイベントリスナーやフォールトハンドラーなどのコーディングが一般的に必要とされますが、このような概念は従来のWeb開発の世界から来た開発者にはなじみがなく、混乱の元でした。

Flash Builder 4で、アドビはこのような状況を根本的に変え、データ中心型アプリケーションを構築するためのまったく新しい手法を導入しました。初めてFlex開発を行う人でも、データやサービスにすばやく接続し、データをリッチなUIコンポーネントにバインドすることができます。また、経験豊かなデベロッパーは、高度なデータ指向アプリケーションを構築するための強力な新しい方法を利用できます。

Flash Builder 4によるデータ中心型の開発には、以下の3つの主なステージがあります。

  • データ/サービスモデルの定義
  • Flexコンポーネントへのサービス操作のバインド
  • ページングやデータ管理などの高度なデータ機能の実装

この記事では、単純なデータ管理アプリケーションを構築するための主要な手順を紹介します。このシナリオでは、データベース内にテーブルがあり、ユーザーがデータの表示と、レコードの追加、更新、削除を実行できるFlexアプリケーションを作成することが目的です。

ステップ1:サービスの作成

Adobe Flash Playerで動作するアプリケーションは、データベースと直接にはやり取りできないので、Flexから要求を受け取ってデータベースに渡すサービスが必要です。このサービスはまた、データベースからのデータをFlexが理解できる形式でFlexに返す機能も果たす必要があります。このリモートサービスを実装する際には、異なるテクノロジーをいくつでも組み合わせて使用できます。Flash Builder 4は、ColdFusion、PHP、Javaで作成したサービスのサポート機能を内蔵しているのに加え、他のテクノロジーをサポートするためのフレームワークも備えています。他の種類のサービスは、SOAP Webサービス、HTTPサービス、またはXMLファイルとして使用できます。

選択肢として最適なのはColdFusionです。あらゆるバックエンドデータベースと通信でき、シンタックスが簡単なので少数のタグを使うだけでデータアクセスサービスを作成できるからです。また、ColdFusionは、AMFというハイパフォーマンスのプロトコルを使用して、標準でFlexアプリケーションとのデータ交換を実行できます。AMFサポートはPHPとJavaに対しても用意されているので、自分にとって最も使いやすく生産性の高いサーバーテクノロジーを使用することができます。

ColdFusionでは、Flexアプリケーションが実行する必要があるそれぞれのデータ操作に対して、ColdFusionコンポーネント(CFC)を作成します。これは、テーブルからの全レコードの取得、テーブルへの新規レコードの追加、レコードの削除などです。CFCの関数は、弱い型付けのデータと強い型付けのデータの両方を返すことができます(例えば、よりオブジェクト指向的な手法で開発する場合は、getAllRecords関数はColdFusionクエリーオブジェクトまたはオブジェクトの配列を返すことができます)。Flexはどちらにも対応できます。また、コンポーネントはColdFusion Builderで生成することも、Flash Builder 4にあるサンプル生成オプションを使用して生成することもできます(図1)。cffunctionタグのaccessプロパティがremoteに設定されていることを確認し、コンポーネントをテストします。これで、Flexアプリケーションがサービスを使用できるように設定する準備が整いました。

サンプルコンポーネントの生成
図1. サンプルコンポーネントの生成

ステップ2:Flash Builderでのモデルの構築

Flash Builder 4では、データ/サービスパネルが新たに加わり、アプリケーションで使用するすべてのサーバーとサービスの管理と操作は、このパネルから集中的に行います。サービスパネルには、すべてのサービスで使用可能なすべての種類のデータと操作が、ツリービュー形式で表示されます。表示されているデータとサービスは、様々なソースから来ている可能性があります。例えば、あるものはColdFusionコンポーネントやPHPクラスであり、あるものはクラウドにホストされたサードパーティ製のRESTfulサービスであるかもしれません。しかし、それらがサーバー側でどのように実装されているかは、まったく意識する必要がありません。それらの結果をUIコンポーネントにバインドし、操作を呼び出すコードを作成するための、共通の方法が用意されているからです。

使用するサービスを設定するために、Flash Builder 4はサービスをイントロスペクトし、ツリービューを自動的に作成します。Flash Builder 4で、データ/ColdFusion(またはサービスに使用したその他のテクノロジー)に接続を選択します。ColdFusionの場合は、サービスに使用する名前(例:EmployeeSvc)を入力し、ファイルシステム上のCFCを参照するだけで済みます。この手順は、サービスに使用しているテクノロジーに応じて多少異なります(例えば、Webサービスの場合はWSDLを指定します)。しかし、結果は常に同じです。Flash Builder 4は、サービスをイントロスペクトして、返される操作とデータ型を調べ、データ/サービスパネルにサービスのツリービューを作成します。

必要な場合は、他のサービスを追加してツリービューを作成することも、表示されているサービスをアプリケーションで直ちに使用することもできます。ただし、サービスの操作が弱い型付けを使用している場合は、もう1段階の手順が必要です。弱い型付けの操作は、データを返しますが、データが何を表すかという情報を返しません。

例えば、CFC関数がColdFusionのクエリーオブジェクトを返す場合、Flash Builder 4はレコードの集合を受け取りますが、その要素が製品なのか従業員なのか注文なのかはわかりません。単なるデータの集合です。この操作の結果をデータ型として参照するために、Flash Builder 4では、操作が返すデータの型を手動で設定できます。サーバー側で強い型付けを使用する場合や、Flash Builder 4のサンプル生成オプションを使用した場合、この手順は不要です。

弱い型付けのサービス操作から返される型を設定するには、Data/Services(データとサービス)パネルで操作(例、getAllItems操作)を右クリックして、「戻り値の型を設定(Configure Return Type)」を選択します。これにより、サーバーからの弱い型付けのデータをFlexアプリケーションの強い型付けに対応付けるためのウィザードが起動されます。ここでは、操作の実際のデータのサンプルを使用して、どのように型付けするかを指定できます。操作が返すカスタムデータ型の名前を指定します。例えば、返されるレコードにEmployeeやSalesOrderといった名前を付けます。それから、データ型のフィールドとその形式を指定します。例えば、名前は文字列、従業員IDは数値のように指定します(図2)。

操作から返される型の設定
図2. 操作から返される型の設定

ステップ3:UIコントロールへのサービスの接続

サービスに含まれるすべての操作を定義し、返されるデータの型を定義したら、今度は操作の結果をアプリケーションのどこかに表示する必要があります。Flexフレームワークには、データグリッド、リストボックス、フォームフィールドなど、データにバインドできる様々なコンポーネントが用意されています。これらのコンポーネントには、データを表示し、ユーザーとサービスの間のやり取りを可能にする機能があります。

デザインビューを使えば、UIのレイアウトと、操作へのコンポーネントのバインドを、簡単に実行できます。エディターをソースビューからデザインビューに切り替えます。デザインビューでは、コンポーネントパネルからアプリケーションのキャンバスにコンポーネントをドラッグ&ドロップし、その位置を精密に設定できます。

データグリッド(コンポーネントパネルのデータコントロールグループの下)を選択し、ページまでドラッグします。このグリッドはまだデータにバインドされていないので、アプリケーションを実行すると、単に3つの列がある空のグリッドが表示されます。サービス操作から返されたデータをこのグリッドに表示するには、データ/サービスパネルから操作をドラッグして、グリッド上にドロップします。このときデータプロバイダーを選択できます(図3)。選択するとグリッドが変化して、操作から返される列が表示されます。この時点で、プロジェクトを保存して実行してみてください。ColdFusion サービスによって内容を設定した DataGrid を表示する、使用可能なアプリケーションが動作します。表示する列の変更が必要な場合は、列の設定オプションを使用して変更できます。コードを書く必要も、イベントリスナーを実装する必要も、サービスがColdFusionなのかJavaなのかSOAPなのかを知る必要もありませんでした。

他にも、データ型とサービスを使用して、アプリケーションUIを簡単に作成する様々な方法があります。例えば、データ型からフォームを生成してマスター-詳細フォームを作成したり、サービス操作をボタンコンポーネントにドラッグ&ドロップして、ユーザーがボタンをクリックしたときにその操作が自動的に起動されるようにしたり(保存操作の実行など)、チャートコンポーネントに操作をドラッグ&ドロップしたり、サービス操作をコンポーネントにバインドせず単に呼び出すようなコードを生成したりできます。

サーバー側コードの変更が頻繁に発生し、単に操作をテストする必要がある場合は、「Test Operation(操作をテスト)」オプションが便利です。サービスファイルに変更を加えたり操作を追加したりすると、自動的にサービスが最新の状態に更新され、データ型に加えられた変更内容が反映および結合されます。

データ/サービス機能は、デザインビューで開発を始めるときに便利なだけではありません。このサービスモデルを使用すると、すべての操作やデータ型についてコードヒント機能が有効になります。また、生成されるクラスを拡張することにより、サービス操作呼び出しコードの生成や値オブジェクトの動作をカスタマイズすることもできます。

データにバインド
図3. データにバインド

高度なデータ機能

Flash Builder 4のデータ中心型機能を利用することで、データを使用するアプリケーションを作成する際の生産性を大幅に改善できます。Flex Builder 3でも同様のアプリケーションを作成することは可能でしたが、もっと手間がかかりました。一方、新しい高度なデータ機能を使えば、単に生産性を改善できるだけでなく、従来はきわめて困難または不可能だった機能を実現できるようになります。

例えば、クライアントサイドのデータ管理機能を使えば、クライアント上での一般的なデータサービス操作(レコードの選択、作成、更新、削除)を、サーバー上での対応するデータ操作にマッピングできます。これにより、いくつかの操作をバッチ実行したり、ユーザーが変更を取り消せるアンドゥ機能を実装したりすることが可能になります。

もう1つの便利な機能として、自動ページングのサポートがあります。表示するレコードがたくさんある場合、アプリケーションがレコードをすべて一度に取得して読み込むと、パフォーマンスが低下するおそれがあります。ページングとは、レコードを少数のグループに分けて、一度に必要な分だけを取得する機能です。サービス側に必要なのは、1回のバッチ取得の開始行とレコード数を引数として取る機能だけです。クライアント側のロジックは、すべてFlash Builder 4に実装されています。

これらをはじめとする様々なデータ機能については、今後の記事で詳しく解説する予定です。

次のステップ

Flexの開発経験が豊富なユーザーでも、初めてこのテクノロジーに触れるユーザーでも、Flash Builder 4を使えば、サーバーサイドの既存のデータとサービスロジックを十分に活用したリッチなアプリケーションを簡単に作成できます。ソフトウェアをダウンロードすれば、新しいデータ体験を今すぐユーザーに提供できます。

More Like This

  • Adobe Flash Builder 4ベータ版によるColdFusionフォームの生成
  • Understanding Flex in the client/server model
  • Adobe Flash Builder 4ベータ版によるColdFusionデータの管理
  • ColdFusionおよびFlash Builder 4ベータ版入門
  • Flash Builder 4 and PHP – Part 3: Implicit paging and data management
  • Set up and build your first Flex and ColdFusion application – Part 2: Generating ColdFusion components
  • Set up and build your first Flex and ColdFusion application – Part 1: Database setup
  • Set up and build your first Flex and ColdFusion application – Part 3: Use ColdFusion and Flash Builder 4 to create an application
  • Working with Doctrine 2, Zend AMF, Flex, and Flash Builder
  • Deploying a Flex application with ColdFusion URL variables

製品

  • Creative Suiteファミリー
  • Photoshopファミリー
  • Acrobatファミリー
  • Flashプラットフォーム
  • Digital Marketing Suite
  • Digital Enterprise Suite
  • Digital Publishing Suite
  • モバイルアプリ

ソリューション

  • カスタマーエクスペリエンスマネジメント
  • コンテンツオーサリング
  • デジタルマーケティング

業種別ソリューション

  • 教育
  • 金融機関

サポート

  • ヘルプ&サポート
  • 注文と返品
  • ダウンロードに関するヘルプ
  • ユーザー登録に関するヘルプ

ラーニング

  • ADC: Adobe Developer Center
  • Adobe TV
  • Design Magazine
  • Photoshop Magazine
  • Focus In

ご購入方法

  • アドビストア
  • アカデミック版のご購入
  • ライセンスのご購入

ダウンロード

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

会社情報

  • プレスルーム
  • パートナープログラム
  • 企業の社会的責任(英語)
  • 採用情報
  • 投資家の皆様へ(英語)
  • イベント&セミナー
  • Legal(英語)
  • お問い合わせ
国・地域および言語の選択 日本(変更)
国・地域および言語の選択 閉じる

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • España
  • France
  • Deutschland
  • Hrvatska
  • Ireland
  • Israel - English
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • Magyarország
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Österreich - Deutsch
  • Polska
  • Portugal
  • România
  • Россия
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Slovenija
  • Slovensko
  • Srbija
  • Suomi
  • Sverige
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • Pacific - English
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

当Webサイトをご利用のお客様は、利用条件およびプライバシーポリシー(2011年9月30日更新)にご同意いただいたものとみなされます。

Reviewed by TRUSTe: site privacy statement