2010-06-23 157 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

而且,複製代碼將創建緩存問題,併發問題。

相關問題