我很喜欢使用合适的工具。
在我的公司,由于强大的科学库,数据分析师(包括我自己)主要使用Python;楼下的网络人员使用Ruby on Rails构建我们自己的人力资源管理Web应用程序以及维护我们的在线状态。
我们希望让两个团队更紧密地合作,允许开发科学的Web应用程序,但不确定如何继续。
我们对这两种技术都进行了大量投资,并且我们需要继续使用大量代码库。
有没有关于使用两种不同语言整合科学编程和网络应用程序两个领域的最佳方法的建议?
答案 0 :(得分:1)
代替严重破解任何代码库以适应其他代码库,我首先建议您评估一个SOA解决方案。
例如 为您的Python系统创建一个API接口,并拥有 Rails应用程序将该API称为HR和公共站点系统 需要。
答案 1 :(得分:0)
我认为Python部分是一堆科学功能的后端库/模块,而Ruby-on-Rail部分主要是作为前端。然后,一个相对简单的解决方案是将这些Python模块/库包装到服务中,并让Ruby-on-Rail构建的前端函数调用这些服务。
要构建Python服务,您可以使用xmlrpc进行简单实现,或者使用一些复杂的框架(例如twisted)来实现更大规模的实现。您还可以只创建一个托管所有Python模块/库的门户服务,这基本上可以为您提供一个应用程序服务器来处理Ruby-on-Rails前端的所有请求。使用哪种策略取决于Python库/模块的规模和复杂性。