ステップ3:UIコントロールへのサービスの接続
サービスに含まれるすべての操作を定義し、返されるデータの型を定義したら、今度は操作の結果をアプリケーションのどこかに表示する必要があります。Flexフレームワークには、データグリッド、リストボックス、フォームフィールドなど、データにバインドできるさまざまなコンポーネントが用意されています。これらのコンポーネントには、データを表示し、ユーザーとサービスの間のやり取りを可能にする機能があります。
デザインビューを使えば、UIのレイアウトと、操作へのコンポーネントのバインドを、簡単に実行できます。エディターをソースビューからデザインビューに切り替えます。デザインビューでは、コンポーネントパネルからアプリケーションのキャンバスにコンポーネントをドラッグ&ドロップし、その位置を精密に設定できます。
データグリッド(コンポーネントパネルのデータコントロールグループの下)を選択し、ページまでドラッグします。このグリッドはまだデータにバインドされていないので、アプリケーションを実行すると、単に3つの列がある空のグリッドが表示されます。サービス操作から返されたデータをこのグリッドに表示するには、データ/サービスパネルから操作をドラッグして、グリッド上にドロップします。このときデータプロバイダーを選択できます(図3)。
選択するとグリッドが変化して、操作から返される列が表示されます。この時点で、プロジェクトを保存して実行してみてください。ColdFusionサービスによって内容を設定したDataGridを表示する、使用可能なアプリケーションが動作します。表示する列の変更が必要な場合は、列の設定オプションを使用して変更できます。コードを書く必要も、イベントリスナーを実装する必要も、サービスがColdFusionなのかJavaなのかSOAPなのかを知る必要もありませんでした。
他にも、データ型とサービスを使用して、アプリケーションUIを簡単に作成するさまざまな方法があります。例えば、データ型からフォームを生成してマスター詳細フォームを作成したり、サービス操作をボタンコンポーネントにドラッグ&ドロップして、ユーザーがボタンをクリックしたときにその操作が自動的に起動されるようにしたり(保存操作の実行など)、チャートコンポーネントに操作をドラッグ&ドロップしたり、サービス操作をコンポーネントにバインドせず単に呼び出すようなコードを生成したりできます。
サーバー側コードの変更が頻繁に発生し、単に操作をテストする必要がある場合は、「Test Operation(操作をテスト)」オプションが便利です。サービスファイルに変更を加えたり操作を追加したりすると、自動的にサービスが最新の状態に更新され、データ型に加えられた変更内容が反映および結合されます。
データ/サービス機能は、デザインビューで開発を始めるときに便利なだけではありません。このサービスモデルを使用すると、すべての操作やデータ型についてコードヒント機能が有効になります。また、生成されるクラスを拡張することにより、サービス操作呼び出しコードの生成や値オブジェクトの動作をカスタマイズすることもできます。
高度なデータ機能
Flash Builder 4のデータ中心型機能を利用することで、データを使用するアプリケーションを作成する際の生産性を大幅に改善できます。Flex Builder 3でも同様のアプリケーションを作成することは可能でしたが、もっと手間がかかりました。一方、新しい高度なデータ機能を使えば、単に生産性を改善できるだけでなく、従来は極めて困難または不可能だった機能を実現できるようになります。
例えば、クライアントサイドのデータ管理機能を使えば、クライアント上での一般的なデータサービス操作(レコードの選択、作成、更新、削除)を、サーバー上での対応するデータ操作にマッピングできます。これにより、いくつかの操作をバッチ実行したり、ユーザーが変更を取り消せるアンドゥ機能を実装したりすることが可能になります。
もう1つの便利な機能として、自動ページングのサポートがあります。表示するレコードがたくさんある場合、アプリケーションがレコードをすべて一度に取得して読み込むと、パフォーマンスが低下するおそれがあります。ページングとは、レコードを少数のグループに分けて、一度に必要な分だけを取得する機能です。サービス側に必要なのは、1回のバッチ取得の開始行とレコード数を引数として取る機能だけです。クライアント側のロジックは、すべてFlash Builder 4に実装されています。
次のステップ
Flexの開発経験が豊富なユーザーでも、初めてこのテクノロジーに触れるユーザーでも、Flash Builder 4を使えば、サーバーサイドの既存のデータとサービスロジックを十分に活用したリッチなアプリケーションを簡単に作成できます。ソフトウェアをダウンロードすれば、新しいデータ体験を今すぐユーザーに提供できます。