2010-06-23 111 views
3

我有这个中型应用程序开始变得太复杂。我正在考虑将它分成两部分。但我不确定我将如何分享这些信息。rails:共享2个应用程序之间的信息

我已经能够做出两大组模型;一组处理“图片”,另一组处理“销售数据”。

我猜,有些实用新型,如认证/授权相关的,必须复制过来。但让我们专注于两大集团。

这两个数据集由不同的人维护,所以他们会自然地分裂。

两组“重叠”的唯一位置是一对夫妇的报告,从“图片”和“销售数据”中提取数据。这两种情况下的信息都类似于散列的不同深度,指向微积分(每个系统大约有60个数字)。

这几乎是唯一持有拆分;我不确定在两个应用程序之间共享信息的最佳方式是什么。

我很感激任何指向什么是最好的方式来实现这一点。我应该尝试为这两个应用程序使用相同的数据库吗?我应该使用某种Web服务吗?

回答

4

简单的解决方案是让两个应用程序都使用同一个数据库。这样做的问题是你会在重叠模型上得到一些代码重复。你当然可以用git submodule或自定义gem来修复它......关于这个问题的一个有趣的想法是rails引擎。

一个不同的解决方案是1应用程序具有数据并公开一个RESTful API,另一个应用程序从中获取数据。但是,您需要确定哪些人能够“管理”报告。

这是一个非常复杂的决定,我不能帮你度过,即使没有所有的数据,但我希望这是有帮助的^^

+0

kindof我的想法。我希望有一个Rails插件或类似的东西,但我认为你已经很好地描述了这两个选项。除非有人提出更好的解决方案,否则答案就是你的。 – kikito 2010-06-23 16:45:23

+0

由于没有人回答,所以你的答案是最正确的!谢谢! – kikito 2010-06-25 11:27:50

0

而且,复制代码将创建缓存问题,并发问题。

相关问题