SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Adobe Developer Connection(AD)

Flex + LL連携(Ruby、Python、PHP)

  • このエントリーをはてなブックマークに追加

 Flexが登場してから、Webの様相は大きく変わりました。本稿では、初めてFlexを触ってみる人や、軽量スクリプト言語の経験があるWeb系エンジニアにもわかりやすいように、Flexとサーバサイドの通信方法について説明したいと思います。

  • このエントリーをはてなブックマークに追加

はじめに

必要なソフトウェアとファイル

サンプルコード

 Sample_code.zip(zip形式、26KB)

この記事で使用する言語

  • Ruby 1.8.4以降
  • Python 2.3以降
  • PHP 5.2以降

事前知識

 Flex又はFlashの基礎的な知識。上記の(サーバサイドの)言語の何れかの基礎的な知識。

サーバサイド?

 Flexが登場してから、Webの様相は大きく変わりました。FlexはFlashの表現力を持ちながら、データベースに代表されるサーバサイドのリソースとの融和性に優れ、まだこの世に登場してから数年と経っていませんが、Flexを使った画期的なWebサイトやサービスが登場してきています。

 現在、既にFlexを絡めた本格的なWebサイトの構築の経験がある方もかなり増えてきたと思いますが、サーバサイドと連携しないコンテンツのみを開発している方もまた少なくないことでしょう。「サーバサイドって難しそう/面倒そう...」と尻込みされている方もいるかもしれません。

 本稿では、初めてFlexを触ってみる人や、軽量スクリプト言語の経験があるWeb系エンジニアにもわかりやすいように、Flexとサーバサイドの通信方法について説明したいと思います。

少しだけ歴史を振り返る

 従来、Flex・Flashのサーバサイドは、ColdFusionやJavaで構築するのが一般的でした。Flashがサーバサイドと本格的に連携出来るようになったのは、2002年にまで遡ります。Macromedia(当時)から発売された製品、「Macromedia Flash Remoting MX」が連携を可能にする鍵となりました。この製品により、サーバサイドのサービスとフロント側のFlashを容易に接続し、データを自在にやり取り出来るようになったのです。サーバ側の技術としてはColdFusion、Javaや.NETが利用できました。

 時は流れ現在では、PHPやRubyに代表されるいわゆるLL(軽量スクリプト言語)でもサーバ側サービスを構築することが可能になっています。もちろん、今まで通りColdFusionやJavaでも構築できますが、これらの環境は、一般的なホスティングサービスでは利用できないか、利用できても環境構築が大がかりになる場合が多いと思われます。

 大抵のホスティングサービスでは、スクリプト言語がデフォルト利用できるようになっている(PerlやPHP、時々RubyやPython)ため、これらの言語でサーバサイドのサービスの構築が出来れば手軽です。小規模な案件では、軽量スクリプト言語のフットワークの良さやスピード感の方が好ましい場面もあるかも知れません。

AMF仕様のオープン化

 サーバ側とFlex・Flashがやりとりする際に使われるフォーマットは「AMF(Action Message Format)」と呼ばれます。これはAdobeのプロプライエタリなフォーマットで、XMLやJSONに見られるようなテキスト形式ではなく、バイナリ形式なのが特徴です。仕様は非公開でしたが、2008年始めに仕様が正式に公開されました。既存のオープンソースのAMF実装は、仕様が明らかでない頃から、フォーマットをリバースエンジニアリングにより解析・実装してきたものが多くあります。仕様の公開に伴い、より正確・厳密にAMFフォーマットを扱えるようになり、信頼性が増すことが期待できます。

 このことと直接は関係しないものの、最近のFlex・Flashの広がりに呼応して、オープンソースのAMFの実装が増えました。一つの言語に複数のAMF実装があることも少なくありません。いろいろな(得意な)言語で、AMFを話すサーバサイドのサービスが簡単に実装できる環境が整ってきています。

次のページ
サーバと通信してみる

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Adobe Developer Connection連載記事一覧

もっと読む

この記事の著者

クラスメソッド株式会社 篠崎 大地(シノザキ ダイチ)

クラスメソッド株式会社(http://www.classmethod.jp/)所属テクニカルスペシャリスト。金融系システムのRIA化を得意とし、日々アーキテクチャー設計と実装に奮闘中。Adobe Certified Flex 2.0 Developer。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4541 2009/11/04 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング