web2py には pyamf サポートが含まれています。それが機能する方法は、次のような関数を作成することです
def add(a,b): return a+b
そして、それらを @service.amfrpc3('domain') で装飾します
@service.amfrpc3('domain')
def add(a,b): return a+b
Web サーバーを再起動したり、他に何もする必要はありません。コントローラー ファイル (サービスを定義するファイル) で関数を追加および削除するだけで、サービスが使用可能になるか削除されます。複数のデコレーターを使用して、他のプロトコル (xmlrpc、jsonrpc、rss、csv、xml、json) を使用して同じ機能を提供することもできます。
@service.xmlrpc
@service.jsonrpc
@service.amfrpc3('domain')
def add(a,b): return a+b
ゲートウェイをインスタンス化する必要はありません (他のフレームワークと同様です。装飾されたすべての関数は、単一のアクションを介して公開されます。これは、既に scaffolding アプリケーションにあるため、記述する必要はありません (web2py によって作成されます)。
def call(): return service()
関数は、web2py データベース アブストラクション レイヤー (DAL) と (いくつかの制限付きで) web2py 認証メカニズムにアクセスできます。
シェル (emacs/vi/etc) を使用して関数を含むコントローラーを編集できますが、web2py Web ベースの IDE (「admin」と呼ばれる) を使用して、ブラウザーを使用してサービスを追加することもできます。
Web2py にはチケット発行システムが含まれているため、Web サービスのデバッグは簡単です。サーバー側のエラーはチケットになります。admin には、すべてのチケットを一覧表示する Web ページがあります。いずれかをクリックすると、問題の原因となったコードと完全なトレースバックが表示されます。
サードパーティの Python モジュールをインポートして使用できます。pyamf が事前にインストールされている必要があります。
これは、本の第 9 章で詳しく説明されています。
http://web2py.com/book/default/section/9/2
web2py アプリは非常に簡単にデプロイできます。1 つの方法は、admin を使用してポイント アンド クリックすることです。もう 1 つの方法は、あるマシンから別のマシンにファイルを単純にコピーすることです。メタデータも、インストール手順も (web2py 自体も) も、設定も、構成ファイルもありません。後者のプロセスについては、次のように説明されています。
http://gluonframework.wordpress.com/2010/03/02/shell-only-web2py/
web2py は WSGI に基づいています。考えられる任意の Web サーバー (apache+mod_wsgi/mod_python/mod_proxy;lighttpd/cheorkeey/ngnix+fcgi/wsgi.py;cherrypy;etc) で実行されます。いくつかのオプションは、ここで詳細に文書化されています:
http://www.web2py.com/book/default/section/11/0
その他のオプションは、http://web2pyslices.comにあります。
web2py には、https をサポートする非常に高速な独自の Web サーバーである Rocket も付属しています。web2py コードは、Google App Engine にもデプロイできます。
web2py google グループでの活動を確認してください。