BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース FlexアプリケーションがWebサービスへアクセスするのを助けてくれるFleXtense

FlexアプリケーションがWebサービスへアクセスするのを助けてくれるFleXtense

RIAアプリケーションのほとんどは、サーバへ接続し、データを検索する。FleXtense(サイト・英語)は、FlexアプリケーションのようなRIAの開発を助けるツールのひとつで、Webサービスを利用する。FleXtense 2.0は、2008年4月にリリースされる予定だ。InfoQは、FleXtenseの創立者であり生みの親でもあるMurat Cim氏とOzkan Yilmaz氏に、FleXtenseがどのようにしてRIAの開発を手助けしてくれるのかという点に関して詳細を聞いた。


最初にCim氏は、FleXtenseを開発する動機を説明してくれた。

FleXtenseは、Webサービスで使うActionScriptのcommunicationクラス群を自動的に生成することによって、Flex開発者が、Webサービスを簡単に扱えるようになるアプリケーションです。我々は、Flexが一番最初にリリースされたときからFlexに興味がありました。また.NETを使用してWebアプリケーションを開発しています。Flexが、Webサービスにパワフルな使い方を提供していないという欠点があることが分かり始めてきました。Webサービスをより効率的に扱い、Webサービスのカスタム・エンティティやコレクションを用いるような機能を追加するプログラムを作る事は、非常に有益であると、我々は思いました。これが、FlexTenseを創り始めた動機です。

Flex開発者にとってFleXtenseを使用する一番のメリット。

強く型付けされたデータ構造で、Webサービスを利用したり、そのサポートされたデータ構造と使いやすいインターフェースで安全なコードを時間を掛けずに維持することが、Flex開発者が、FleXtenseを使用する一番のメリットです。

Cim氏は、FleXtenseを開発していて遭遇した挑戦を記述した。

最大の挑戦は、FleXtenseのようなアプリケーションが存在しなかったので、ソフトウェア(FleXtense)に組み入れる機能と構造を自身で作らなければならなかったことです。我々のためのもう一つの障害は、ActionScript3.0が、オブジェクト指向コーディング環境を全くサポートしていないということでした。

それから、FlexTenseが如何に開発され、如何に動くかということに関して詳細を話してくれた。

我々は、FleXtenseを開発する際に、開発ツールにVisual Studio 2005を使用しました。FleXtenseが行うことを詳細に記すと、あなたが提供したWSDLを読み込んだり、解析したりします。そして新しいプロキシクラスを作成し、それは、FlexのAction Script側で使用されます。そしてこのクラス群は、我々の(FleXtenseがもっている)コアなコミュニケーションライブラリを使うことによって、パワフルなオブジェクト指向環境を持ったWebサービスへ接続することを可能にします。

FleXtenseは、それぞれの定義されたWSDLドキュメントのWebサービスに対する同じ名前のActionScriptクラスを生成する。Webサービスのメソッドは、生成されたクラスで使うことが出来る。たとえば、UserServiceと呼ばれるWebサービスを使用して、FleXtenseはUserServiceと呼ばれるActionScriptクラスを生成する。以下のサンプルコードのように生成されたコードを使える。

   var service:UserService = new UserService();     ...    service.getUser.send() 

webサービスのActionScriptクラスに対して、send、addResponderやaddFaulterメソッドのようなpublic methodが生成される。生成される主なクラスは、Result Eventクラス、Enum定義用のEnumsクラス、WSDLの配列要素用のCollectionクラス、カスタム要素用のEntityクラスそしてBase Data Type Arrayである。Apache AXIS(オープンソースのWebサービスエンジン)(サイト・英語)に取り組んだ開発者にとって、コード生成部分は、裏側でどのようなことが行われているかということが分かるようにしておく必要がある。

最後にYilmaz氏は、クラス生成したFleXtenseを例として提供した。(FleXtenseに)添付されたクラスは、Amazon Web Service(サイト・英語)向けに生成されたものだ。FleXtenseのクラスを使用して開発された動くFlexデモアプリケーションは、ここ(サイト・英語)よりアクセス出来る。

原文はこちらです:http://www.infoq.com/news/2008/03/flextense-flex-webservice

この記事に星をつける

おすすめ度
スタイル

BT