集成共享相同MySQL数据存储区的Django和Rails应用程序的最佳方法是什么?

我将在Web应用程序上与Python开发人员合作。 我将在Ruby中构建它的一部分,他将使用Django构建它的另一部分。 我不太了解Django。

我整合这两部分的计划是简单地将某个URL路径前缀(例如,以/ services开头的任何请求)映射到Python代码,同时让Rails处理其他请求。

应用程序的Python和Ruby部分将共享并更新同一个MySQL数据存储区。

我的问题:

  1. 人们对这种整合策略有何看法? 有没有更好的选择(没有用一种语言写出来)?

  2. 在应用程序的两个部分共享敏感会话数据(即登录用户的ID)的最佳方法是什么?

我看到你不能使用Django的auth,你不能使用Django的ORM,你不能使用Django的管理员,你不能使用Django的会话 – 你剩下的就是URL映射到视图和模板系统。 我不使用Django,而是使用更简单的Python框架。 你的Python程序员扩展他的世界的时间……

应该非常干净的一种可能方式是确定哪个应用程序是“主要”应用程序并让另一个应用程序通过定义良好的API与之通信,而不是直接与底层数据库交互。

如果你做得对,那么你已经使用RESTful API构建了Rails应用程序。 Django应用程序可以充当它的REST客户端。

我相信它也可以反过来工作(例如,使用rest-client gem)。

这样,validation和其他核心业务逻辑之类的东西在一个地方而不是两个地方实施。

一个项目,产品,无论你怎么称呼它,都需要一个领导者。

这是你没有的第一个certificate。 有人应该决定你做ruby还是python。 我自己更喜欢ruby,但我理解那些喜欢python的人。

我认为开始一个问自己这类问题的产品是一个不好的开始。

如果您的同事只知道原型,并且您只了解JQuery,那么您是否也要混合使用这些技术? DB也一样吗? 并测试框架?

这是一个永无止境的争论主题。 恕我直言,你应该决定,如果你愿意的话,那就是好事。 我和许多团队合作,作为顾问,敏捷团队,其中一些非常成熟的团队,这就是他们不惜一切代价避免的那种东西。

除非你们中的一个人打算在项目的某个特定部分工作,而这些部分真的需要一种或另一种技术,但仍然认为另一种最适合其他应用程序。

我认为,例如,在批处理计算中。 您拥有ror或django中的所有Web应用程序,并且您有一个脚本,由CRON或其他任何人调用,计算Web应用程序之外的大量数据,填充数据库或其他任何内容。

My2Cts。