なんの事かと言えば、FlexというかAIRというか・・・・
これに対してローカル上でJavaのプログラムと連携したいということだ。
http://code.google.com/p/flerry
というプロジェクトをひょんなことから見つけた。
こういうのが、誰から教えてもらうわけもなく、調べるわけでもないのにわかるのが、自分で情報を作ってわざわざ公開することの利点だろう。
さすがに、仕事としてプログラムから離れていくと、こういう感覚からは遠のいていく・・・
さて、私もAIRをやっていてちょっと、ActionScriptだけでアプリケーションを作るのはやっぱり限界があるな。と感じた。
やっぱり、ローカルのJava(でなくてもいいのだが)と連携したくなるよな。と。
でも、上のソースはNativeProcessで連携するらしい。
それはそれで、安直だが、すごい割り切っている。
私が、AIRだけでは・・・と思うようになったのは、
パブリックサーバと連携するようないわゆる一般消費者向けRIAというものならいいのかもしれない。
やはり、AIRだけではないし・・・・、サーバはより一般向けにメンテされるし・・・
でも、今までExcelとAccessなんかでなんとかごりごりやってきた業務も含めてWEB化したいといったときに、
本当にWEB化でどうにかなるのだろうか?それに、WEBサーバ(アプリも含めて)なんて運用したい、もしくはできると思うのだろうか?
開発者はどうにかなるかと思うかもしれないが、申し訳ないが、現場の作業者には迷惑な話だろう。
何で、自分の手元のデータをサーバにアップし、サーバ上で加工し、ローカルに落としてこなくてはいけないだ。
何で、自分が使うときだけ動いてりゃいいものなのに、自分たちの管理の外の承認と許しをこわなけりゃならんのだ。
まあ、そう言っても、WEBサーバを運用してなんて言われても、「冗談でしょ!やだね。」
という感じが本音だろう。
でも、ASPやら、SaaSなんかの言葉に乗せられてしまって現場は火の車。
もしくは、売り上げ部門から、ASPやらSaaSを使ってコストを圧縮だ。とうるさい。
と、こんなケースにAIRは当てはまるかな。と思い、
メール配信がAIRからできるようにしたり、Zip(というかOffice Open XML形式)を読めるようにしたりしてみたが、
どうもしっくりいかない。
いざ、ソケット通信やら、DBアクセスやら・・・と非同期なのは、あまりにもやはりやっかいだ。
(んー、スレッドがほしい。せめて、3つだけスレッドが持てますって固定でもいいのだが・・・・)
あとは、Javaでたまりにたまった、ノウハウやら、ライブラリをまたAS3上に再構築するのだろうか?
と考えたら、AIRに限らず、Flashしかり、HTML5しかり、上のような業務RIAを考えたらローカルでJavaと連携することが、
開発者の調達の意味も含めてしっくりする気がする。
じゃ、すべてJavaってのはJavaの開発者の視点からすれば、AIRやらFlexやらのプレゼンテーションノウハウはさすがだよ。と思わざる得ない。
逆に、このプレゼンテーションノウハウを再度Java上で構築するのはJavaFXが広まっていないことからもわかるだろう。
あとはHTML5だよね。実際HTML5があればFlashのプレゼンテーションほどはいらないという場合もあるだろうし・・・
そうなると、やっぱり、ロジックはロジック、プレゼンテーションはプレゼンテーションと得意な言語を組み合わせて使えるようにすることが望ましい。
とこのように考える人が増えたかどうかはしらないが、
AIRとJavaを連携したいとおもう人は増えているようだ。
私は、XMLSocketを使って連携することがベストな気がしている。
HTML5には、WebSocketっていう同じ様なものがあるし。
(トリッキーなことをしなくても、全2重ってとこがGood、つまりポーリングなしでPush配信ができるんだよね)
でも、FlashだったらAMF、それが、たぶん、WebSocketになればJSONとかになるのかな。
というようなことを考えながら、構築中。
んー、でもJavaのモジュール管理をまじめにやろうとするなら・・・・OSGIがベター?
OSGIって、実際の開発現場では使えるのかな。わからん。


