【发布时间】:2014-10-16 14:32:57
【问题描述】:
有多种交换语言 - json 等 - 提供了快速可靠地将数据导出和解析为通用格式的能力。这是语言之间的福音,为此有Piqi,它基本上为您定义的任何类型生成可解析的交换格式;它使编写锅炉代码的过程自动化(编写读取某些交换信息并构建某种任意类型实例的函数)。基本上,迄今为止最好的选择是协议缓冲区,如果我沿着 ocaml-rpc 的路线走,我绝对希望使用协议缓冲区。
如果有一些声明性模式来管理函数公开,那就太好了,这样就可以通过某种介质访问 ocaml 库(如 RPC,或将函数映射到带有参数编码的 url)。
想象一下将图书馆作为一项服务提供;您不想或不能在每对语言之间进行实际绑定的地方。但是服务器和数据解析已经写好了……那难道没有办法将两者结合起来,只需要指定应该公开哪些功能以及在哪里/如何公开?
最后,在我看来,protocol buffers 是一种可以快速编码/解码数据的机制,但不是传输机制……是否有某种 ocaml-RPC 规范或某些 ocaml RPC 库?是否有各种 RPC 协议(并且,如果我尝试使用 diff 协议将两种语言相互指向,则会失败)?此外,等待和接收 RPC 调用的服务器机制(可能)是另一个模块(?)
我该如何实现?
【问题讨论】: