
4D for Flexは、FlexアプリケーションとSQLデータベース間の接続を提供する、最初の商用コンポーネントです。迅速で確実な代替手段、しばしば大きなプロジェクトで使用されるサードパーティーの協働テクニックとして、4D for Flexは4DデベロッパとFlexデベロッパの直接的で直観的な協働を容易にし、素早く信頼性の高いリッチなインタフェースをユーザに提供します。
Adobeは紛れもなく、現時点におけるRIA (リッチインターネットアプリケーション) のトップネームです。Flex 3 – このプラットフォームの現在のバージョン – はWebプログラマに、XML (MXML) とActionScript (JavaScriptのようなECMAScriptの派生) をカップリングすることで、インタフェースオブジェクトを作成、コントロールする一連の方法を提供します。これはオープンソースのSDKとして無料で、あるいはFlex Builderと呼ばれるEclipseベースの商用IDE (統合開発環境) として有償で提供されます。Flexで作成されたプロジェクトはAdobe Flash Player 9を使用してWebブラウザで、またはほとんどのOSで利用可能なAdobe AIRデスクトップランタイムで実行できます。Flexの強みは、リッチなインタフェース要素の豊富さと、ブラウザ-OS独立な一貫性です。
Flex 3についての詳細は、http://www.adobe.com/jp/products/flex/features/flex3/を参照してください。
Flexはグラフィックやエルゴノミクスのクォリティのために広く称賛されていますが、プロフェッショナルなアプリケーションへの適用は相対的に複雑です。Adobe Live Cycle Data ServicesまたはオープンソースのBlazeDS経由の大量のデータフローが必要です。例えばJ2EEなどを使用した3層のエンタプライズアプリケーションを構築するようなチームであれば、このことはたいした問題にはならないでしょう。しかしシンプルな4D環境を好む開発者の方にはとても複雑に映るはずです。
"Unlike any other Flex-to-Database connectivity available on the market today, 4D for Flex offers a direct link from Flex to 4D Server v11 SQL. This allows developers to integrate their 4D Server v11 SQL applications directly with Flex RIAs without a need for intermediary software or complicated 3-tier solutions such as J2EE. This simple, direct approach makes 4D for Flex and 4D Server v11 SQL the best match for developers like me."
Julio Carnero
President,
Pascal Information Technology
4D Web 2.0 Packは4Dデベロッパに新しく直観的なコミュニケーションツールを提供するために開発されました。Flex以外の中間的なテクノロジの知識は必須ではありません。4D for Flexは、アプリケーションに新しいテクノロジを統合するためのソリューションを開発者に提供するという、4Dのゴールを体現する最新のリリースです。
4DアプリケーションとFlexクライアント間で通信させる方法は以前からありました。最初のそして最も直接的な方法はWebサービスで、Flexが登場するまではFlashとの協働に使用されていました。統合されたSOAPサーバにより、4Dはとても簡単にFlexフロントエンドに オンザフライでデータを返すことができます。またHTTP経由のXMLを使用して、低レベルの通信を4DとFlex間で行うこともできます。
これら2つのテクノロジは非接続モードおよびXML交換ベースで動作します。したがって、適度なデータ交換で使用することができます。
4D for Flexは接続モードで動作し、バイナリフォーマットでコンパクトなデータを転送、大量のデータを扱わなければならないようなプロジェクト、そしてより自由度の高いデータの入力と編集が可能な3つ目のオプションを提供します。
4D for Flexの背景にあるアイデアはシンプルです。4DコンポーネントのライブラリはFlexプロジェクトで参照され、データがリクエストされると"SQLサービス"を実行し、そして4D ServerレベルでSQLが実行されます。返される結果は、設定済みの表示、ナビゲーション、通信オプションに基づいて、ライブラリが定義する (データグリッドやボタンなどの) インタフェースオブジェクトに表示されます。もちろん、Flexのネイティブなインタフェース要素を使用することもできます。実際、データソースを使用するすべてのFlexオブジェクトはネイティブに "SQLResultSet"に返される4Dデータを利用できます。
4D Server側ではSQL接続に予約されたポート (デフォルトで19812) を開く、これだけが必要です。これが唯一標準のWebプログラミングと異なり (すべてがポート80に渡される)、以下のような利点があります。4Dデータベースをまったく変更することなく、リモートから使用できます。そしてセキュリティの管理はプログラムから分離され、4Dの管理者に委ねられます。
まったく異なるように見える2つの世界間での通信が即座に可能となります。Flex開発者は4Dが提供するリモートデータを使用でき、4D開発者は顧客に新しいインタフェースを提供できます。これらは共通語であるところのSQLリクエストのおかげで可能となります。異なる世界のチームがエンタプライズアプリケーションを作成するために共同で作業を行うことができるようになります。
4D for Flexと4D間で使用されるプロトコルはバイナリであり、通信量を減らすことができます。さらにコンポーネントはデフォルトでレコードの自動ページングを提供します。結果、グラフィックインタフェースだけでなく、データのロードまでもが最適化されています。
データがFlexインタフェースに表示されると、"Bulk and Modify"機能によるバッチ更新や、 "Select for Update"機能により保護されたトランザクションによりすべてが処理されます。また4Dメソッドを実行して、結果をFLex環境で見ることもできます。
数多くのインタフェースコントロールを使用し、ローカルクライアントと同じに動作するRIAモードのアプリケーションを作成できます。そしてアプリケーションを洗練させるために、Flex Builderのデバッグ機能が4D For Flexに基づきAdobe AIR utilityに付加され、Flexアプリケーションと4Dデータベース間の通信を専用のコンソール経由でトレースできます。
数年の間、4D開発者は一つの統合されたコードを異なるプラットフォームに展開してきました。
4D for Flexは完全なクライアント指向のテクノロジーとして、write-once/run-just-about-anywhere-you-pleaseの原則は完全にそのままに、RDA (リッチデスクトップアプリケーション) やRIA (リッチインターネットアプリケーション) への扉を開きました。
あなたのWebインタフェースは機能豊富なクライアントを再現し、AIRを使用したローカルへの展開では、事実上リモートの4D Runtimeを手に入れたと同じ事になります。
Flexリソースからプロジェクトに接続すると、モダンで進化したアプリケーションを引き続き提供できます。4Dのシンプルで価値のあるテクノロジにより今まで行ってきたのとまったく同じ方法で。
4D for Flex4D Web 2.0 Pack v11の一部です。