ProtoRPCは、webベースのRPC(Remote Procedure Call)サービスを簡潔に定義する方法です。
RPCサービスとは、リモート呼び出し可能なメソッドと、メソッドが受け取ったり返したりするメッセージ型の集まりであり、
それらを用いることにより、クライアントアプリケーションがwebアプリケーションと通信することを可能にします。
さて、実際に自分でこのようなwebベースのRPCを、
クライアント:javascript
サーバー:Python
という環境で定義する場面を想定してみてください。
サーバー側では、各メソッドに相当するURLを定義し、リクエストを受け取った際に、パラメータのチェックを行い、Pythonのオブジェクトに変換する必要があります。
クライアント側では、ユーザーの入力チェックを行い、入力データをHTTPリクエストのパラメータに変換します。
そしてサーバーからの返答をjavascriptオブジェクトに戻す必要があります。
このような変換まわりのコードは、毎回同じようなコードになる上に、
くだらない間違いにイライラさせられることが多いです。
ProtoRPCは、この種の変換を、異なるプログラム言語間であっても簡単に行えるようにしたライブラリです。
ProtoRPCは、サーバー側で、リモートメソッドやメッセージ型をPythonオブジェクトとして定義できるようにしました。
Pythonだけを用いて、RPCの定義ができますので、
独自のRPCの作成が容易になるはずです。
0 件のコメント:
コメントを投稿