json rpc 2_0

Post on 09-Jun-2015

4.680 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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側の呼び出しインターフェイスを自動生成

ご清聴ありがとうございまし

たヽ(≧▽≦)ノ

top related