SHOEISHA iD

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

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

Adobe Developer Connection(AD)

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

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

Pythonを使う

 Pythonでは、オープンソースのAMF実装である「PyAMF」を使うことにより、サーバサイドとFlex・Flashの連携が可能になります。PyAMFの現時点での最新版は、2008年5月4日にリリースされた0.3.1です。PyAMFは、PylonsやTurboGears等の代表的なWebアプリケーションフレームワークと連携させることも出来ますが、今回は単独で起動するサービスを実装してみます。

PyAMFのインストール:

 まずOS上にPythonをインストールした後、PyAMFをインストールします。http://download.pyamf.org/releases/から、PyAMF-0.3.1.zipを取得し、任意のディレクトリに展開した後、PyAMF-0.3.1ディレクトリに移動して以下のコマンドを実行します。

C:\PyAMF-0.3.1>python setup.py install

PyAMFでのサービスの実装:

 サービスの実装は、普通に処理を記述するだけです。注意する点として、PyAMFではサービス名と、それを実装したメソッドとを関連付ける「services」プロパティを定義する必要があります。今回、サービス名は「hello」、実装したメソッドは「hello_service」ですので、

services = {
    'hello': hello_service,
}

 と定義します。

 完全なソースコードは以下のようになります。

"""
Helloworld example server.
"""
 
import string
 
def hello(message):
    """
    A simple helloworld client
    """
    return "World! [message from client: " + string.upper(message) + "]"
 
services = {
    'hello': hello_service,
}
 
if __name__ == '__main__':
    from pyamf.remoting.gateway.wsgi import WSGIGateway
    from wsgiref import simple_server
 
    gw = WSGIGateway(services)
 
    httpd = simple_server.WSGIServer(
        ('localhost', 3001),
        simple_server.WSGIRequestHandler,
    )
 
    httpd.set_app(gw)
 
    print "Running Helloworld AMF gateway on http://localhost:3001"
 
    try:
        httpd.serve_forever()
    except KeyboardInterrupt:
        pass

PyAMFでのサービスの起動:

 コマンドプロンプトを開き、

C:\PyAMF-0.3.1> HelloWorldService.py

 と入力して、サービスを起動します。実行時のイメージは以下のようになります。

次のページ
Rubyを使う

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

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

もっと読む

この記事の著者

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

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング