我喜欢使用正确的工具来完成这项工作。
在我的公司,数据分析师(包括我自己)主要使用 Python,因为它拥有强大的科学库;楼下的网络人员使用 Ruby on Rails 构建我们自己的人力资源管理 web 应用程序以及维护我们的在线形象。
我们希望两个团队更紧密地合作,以开发科学 web 应用程序,但不确定如何进行。
我们对这两种技术都有大量投资,我们需要继续使用大量代码库。
关于使用两种不同语言集成科学编程和 Web 应用程序这两个领域的最佳方法,有什么建议吗?
我喜欢使用正确的工具来完成这项工作。
在我的公司,数据分析师(包括我自己)主要使用 Python,因为它拥有强大的科学库;楼下的网络人员使用 Ruby on Rails 构建我们自己的人力资源管理 web 应用程序以及维护我们的在线形象。
我们希望两个团队更紧密地合作,以开发科学 web 应用程序,但不确定如何进行。
我们对这两种技术都有大量投资,我们需要继续使用大量代码库。
关于使用两种不同语言集成科学编程和 Web 应用程序这两个领域的最佳方法,有什么建议吗?
我首先建议您评估一个SOA解决方案,而不是大幅拆分任何一个代码库以适应另一个代码库。
例如,为您的 Python 系统 创建一个 API 接口,并让 Rails 应用程序调用该 API 以满足 HR 和公共站点系统的需求。
我假设 Python 部分是一堆后端库/科学函数模块,而 Ruby-on-Rail 部分主要是前端。然后一个相对简单的解决方案是将这些 Python 模块/库包装到服务中,并让 Ruby-on-Rail 构建的前端函数调用这些服务。
要构建 Python 服务,您可以使用 xmlrpc 进行简单实现,或者使用一些复杂的框架(例如 twisted)进行更大规模的实现。你也可以只创建一个门户服务来托管你所有的 Python 模块/库,这基本上会给你一个应用程序服务器来处理来自 Ruby-on-Rails 前端的所有请求。使用哪种策略取决于 Python 库/模块的规模和复杂性。