InfoQ

News

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

作者 Moxie Zhang, 翻訳者 長部 広太 投稿日 2008年3月31日 午前12時32分

コミュニティ
Java
トピック
RIA
タグ
Web services,
Flex

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

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

ジャンル別一覧

Javaトラブルシューティングメルマガ総集編 2008/06~07

エスエムジーでは、Javaのトラブル事例とその解決ノウハウの一部をメルマガとして配信しています。この記事では過去2ヶ月のメルマガの総集編として、追加情報を含めたトラブル事例のダイジェスト情報を提供いたします。

PythonプログラマがRuby技術者認定試験を受けてみた

筆者はPythonプログラマですが、ちょっとしたきっかけから、Ruby技術者認定試験を受験してきました。この勉強の経験の中で、いくつか気づきがあったので、言語学習の1つの方法として説明していきたいと思います。

RailsのActiveMessaging入門

この記事では、ActiveMessagingと関連技術について紹介し、それをRailsアプリケーションで利用する方法を説明します。

ソフトウェア開発におけるウェブベースのコミュニケーションにモデリングを導入する

モデリングツールはソフトウェア開発において重要な役割を果たしており、また、モデリングはコミュニケーションツールでもあるわけですが、まだまだ未発達です。本記事では、ウェブというコミュニケーションツールとの相性にフォーカスをあてたKodouguというモデリングツールの紹介をします。

ファイルシステムでHello World

この連載では"ファイルシステムの作り方"をご紹介します。第1回目の今回は簡単なイントロダクションと単純なHello Worldファイルシステムの作り方を説明します。次回以降で詳しい解説と本格的なファイルシステムの作り方をご紹介しようと思います。

XMLを越える万能なRESTful API

Railsがバージョン1.2で確実に参加するようになったRESTfulリソースの世界では、当然のことながらXMLを共通言語として使用します。RESTfulなアプリケーションではXMLと並んで他の標準を簡単にサポートできます。

プレゼンテーション層を合理化する

この記事では、Webアプリケーションが特徴となるシン・クライアントのパラダイムは"その場しのぎの解決策"であり捨て去らなければならないと考えています。なぜこのようなことを言うのか理解していただくためにインターネットが広まり始めた90年代半ばに立ち戻りましょう。

David Nuescheler氏がJCRとRESTについて語る

このインタビューでは、Day社のCTO兼JCRのスペックリードであるDavid Nuescheler氏が、JCR(Javaのコンテントリポジトリ標準)、RESTとの関係、Sling Webフレームワークについて語っています。