1

我们正计划为银行机器开发设备控制器。该控制器将直接嵌入机器上,其想法是为此使用带有 Linux 的现成 ARM 板。

我们希望将 API 作为 RESTful Web 服务提供。可能我们必须将控制器上的软件至少分为 3 层:Web 服务接口、业务逻辑、设备控制逻辑(这甚至可能在不同的硬件上运行)。

出于性能原因,业务逻辑和设备控制逻辑可能会在 C++ 中实现。

不,我们有一些疑问是:使用什么技术/编程语言来实现 RESTful Web 服务?

网络服务器 (lighttpd)、FastCgi、C++ 可能是性能方面的最佳解决方案,而且因为 ARM 板上的资源有限。但缺点可能是实现起来不像 Python、Ruby、Java 等一些“现代”语言那么容易。我们在公司有很多 C++ 技能,Java 有点,Python 完全没有技能,鲁比。

有人对这种架构有任何经验吗?
Python 和 Ruby 如何在这么小的系统上执行?
有在嵌入式系统上使用 RESTful API 的经验吗?(网络上没有太多关于此的内容)

感谢您的输入

4

2 回答 2

0

在过去,第一个 cgi 是二进制文件(主要是在 C 中),所以用 C/C++ 编写一些 CGI 不是问题。

在制作了一个安静的 API 之后,只会影响你的脚本的行为方式,比如读取 url 和 VERB 会触发任何代码。

所以我建议你挖掘一些关于 C/C++ CGI 编程的资源,可能还有一些库,以方便访问 POST/GET 变量和解码。

于 2010-03-04T10:27:59.863 回答
0

我同意 RageZ;用 C 语言编写服务器端并不难。Eugene Eric Kim 有一个“旧”的 CGI 库:http ://www.eekim.com/software/cgihtml/index.html

考虑到它的年龄,它可能没有对其他东西的大量依赖。

使用 CGI,很容易将脚本放在某个路径上,比如 /my/service,然后在 PATH_INFO 环境变量上调度,这将为您提供附加到上下文路径的任何内容。因此

/my/service/a/b 将产生 /a/b

如果您需要高性能并且负担得起占用空间,您还可以使用 Apache 并编写一个模块(这也不是特别难)。

但 FastCGI 当然也会表现得非常好。

于 2010-03-04T14:41:34.840 回答