Erlangでとても深い話で毎回参考になる檜山さんのブログで クライアント・サーバー型分散アプリケーションの話がありました。
檜山正幸のキマイラ飼育記 - Erlang分散アプリケーションのお作法
また、バックエンドはIDLコンパイラ本体とは切り離されているので、例えばプロトコルをJSON-RPC over HTTPにして、JavaScriptのクライアント・スタブを生成する、とかもできるでしょう。
うーん、これどういうことだろう。
あれこれ悩んだすえに、gen_serverを読め、ということか。
(っていうか、最初にgen_serverの紹介だと書いてあるよ>自分)
読んでみた。
コールバックの書き方の作法はなんとなく分かった。
が、外からの呼び出し方が分からない。
そこで、JSON-RPCを使っているらしい、RBridge(Young risk taker.: [Ruby and Erlang] そろそろRBridge::Erlangについて一言いっておくか参照)ではどうしているんだろう、と思って、ソースをみてみた。
ソースの中に
- mod_jsonrpc.erl
というモジュールが組み込まれていた(あとjson.erlも)。
なになに。
start() ->
gen_server:start({local, mod_jsonrpc}, ?MODULE, , ).
あ、なるほど。使われている。gen_server。
ということで、ここ(mod_jsonrpc.erl)を読んでけば、ちょっと理解できそうな感じがする。