Json rpc 2_0
-
Upload
atsushi-odagiri -
Category
Documents
-
view
4.708 -
download
3
Transcript of Json rpc 2_0
JSON-RPC 2.0
aodag
おまえだれよ?
Ian の同僚ビープラウド勤務
(´ ・ ω ・ `)
シュークリームなやつです
twitter上では癒し系やってます
Pythonistaに幸あれ ヽ(≧▽≦)ノ
@aodag
今日はJSON-RPCの話します
Restful
GET, POST, PUT, DELETEDBのCRUDに一致
URLがリソース良いURL設計が必須
すべての設計を、リソースに対するCRUD操作
Restful
すべての設計を、リソースに対するCRUD操作に落とし込む
多分できるんだろうけど....
(´ > ω < )めんどくさいねん!
RPC (Remote Procedure Call)
全部POSTURLは1つ呼び出す処理は、POSTデータで指定
RPCなもの
XML-RPC Python標準ライブラリに入ってる
JSON-PRC JSONパーサーは標準ライブラリに入ってる
AMF PyAMFとかあるみたい
Message Pack RPC 実装があるって小耳に挟みました
なぜRPCを使おうと思うか
設計が楽変更も楽テストも楽
設計が楽
URLやHTTP Methodについて考えなくていい
実装が楽
実装するのは関数だけ
テストも楽
普通の関数だからね!
def hoge(arg1, arg2): return dict(result=arg1+arg2)
JSON-RPC
JSON-RPCのリクエスト
{ method:"hoge", params:["spam", "egg"], id: "hoge-1"}
JSON-RPC2
JSON-RPC2のリクエスト
{ version: "json-rpc2", method:"hoge", params:["spam", "egg"], id: "hoge-1"}
JSONRPC2のキーワード引数
JSON-RPC2のリクエスト
{ version: "json-rpc2", method:"hoge", params:{arg1: "spam", arg2: "egg"}, id: "hoge-1"}
JSON-RPC2のバッチリクエスト
[ { version: "json-rpc2", method:"hoge", params:["spam", "egg"], id: "hoge-1" }, { version: "json-rpc2", method:"fuga", params:["spam", "spam"], id: "fuga-1" },]
jsonrpc2 パッケージ
http://pypi.python.org/pypi/jsonrpc2
JSON-RPC2で、WSGIアプリケーション作るためのもの
今 0.3 JSON-RPC2の機能はサポートしたはず
次にやろうとしてることJS側の呼び出しインターフェイスを自動生成
ご清聴ありがとうございまし
たヽ(≧▽≦)ノ