如何使用Matlab创建RESTful服务?

3
我知道可以通过webread方法从Matlab使用RESTful Web服务,但我想要做的是将我编写的一些Matlab函数公开为RESTful Web服务。
这是否可能在Matlab本身中实现?
我猜应该是可能的,因为有webread方法用于消费RESTful服务,但如果不能从Matlab本身实现,我能否通过编写Java代码来调用Matlab代码来实现?

1
看起来你对Java开发很熟悉。你可以在Matlab代码中直接使用Java代码:http://www.mathworks.com/help/matlab/matlab_external/bringing-java-classes-and-methods-into-matlab-workspace.html - Daniel
@Daniel,谢谢你提供的链接,我会看看它是否是一个时间有效的解决方案。 - George Bora
1个回答

3

这当然是可能的。分享我的经验,我和我的团队使用 Octave(开源的 Matlab 克隆版)构建了 SaturnAPI,它不仅提供脚本托管服务,还提供了一个 RESTful API 方便你进行访问。下面是它的工作原理示意图:

Figure 1. Basic flow of HTTP traffic between your web app and SaturnAPI.

您的脚本托管在SaturnAPI服务器上,并接受SaturnParams作为输入,该输入由来自Web应用程序的传入HTTP请求提供。 SaturnParams可以是字符串、数字、数组或单元数组。单元数组允许各种数据类型传递到API。

一旦进入服务器,脚本将使用SaturnParams运行,并将输出作为HTTP响应发送回原始服务器(即您的Web应用程序)。 您可以看到,使用此方法,您可以使用任何喜欢的脚本。

要实现所有这些并不是一件微不足道的事情,因为您必须设置Web服务器以接受和响应HTTP请求。 然后,您必须为用户构建上传和测试其脚本的接口,这涉及管理服务器上的数据库。 然后您必须考虑可扩展性和负载平衡。 如果您有更多问题,我很乐意分享更多信息。


谢谢,我会尝试设置并私信您如果有更多问题。 - George Bora
FullStack,请发送更多细节。 - jforjs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接