2014-07-22 89 views
0

在我公司,我們使用MS Dynamics AX 2009.我們有大約100個用戶。 MS Dynamics AX的服務器位於總部公司。將MS Dynamics AX與Play Framework集成

我們正在開發一個使用Play Framework和Scala語言的新網站。但是,網站服務器不在總部公司,專用服務器託管在歐洲ISP的OVH中。

該網站實時需要ERP數據,但MS Dynamics AX數據庫位於總部公司,互聯網連接非常不穩定。

這就是問題!我們需要網站和ERP之間的雙向溝通​​,但ERP服務器的互聯網連接非常不穩定。 我們認爲兩種解決方案:

  • 使用的RabbitMQ在總部和網站。當ERP中發生事件時,ERP會在RabbitMQ中發送一條消息,當網絡連接正常時,網站會收到此消息。當網站發生事件時,網站會向RabbitMQ發送消息,當互聯網連接正常工作時,ERP會收到此消息。所以,我們有2個RabbitMQ,一個在總部,另一個在網站服務器。我們需要ISP中的兩臺服務器:網站(Linux,Apache,MySQL,Play Framework)和SQL Replica(Windows,SQL Server) 。當ERP中發生事件時,SQL Server複製將這些更改傳播到ISP中的SQL複製服務器,並且該網站始終讀取SQL複製服務器中的數據。當網站發生事件時,我們也需要像以前一樣的RabbitMQ隊列。

您對這個架構有什麼看法?什麼是最好的解決方案? MS SQL Server能否複製不穩定的網絡連接?

預先感謝您。

+3

這個問題似乎是題外話題,因爲它是關於軟件體系結構和設計,所以它更適合在http://programmers.stackexchange.com –

+0

堆棧溢出是[一個問題和答案的資源,而不是討論論壇](http://meta.stackoverflow.com/a/92115/228805)。這是關於編碼的具體問題,可以有明確的答案。您可以嘗試[programmers.se],這是用於討論高層設計概念和最佳實踐。請閱讀[此meta post](http://meta.stackoverflow.com/a/82990/228805)瞭解更多信息。 –

+0

非常感謝,我不知道。 – jfabaf

回答

1

我曾在一家墨西哥的公司工作,這家公司有一個不穩定的互聯網連接,不得不開發一個第三方產品的定製解決方案。

一個意見/想法是,你真的需要全部您的ERP數據或只是一個較小的子集?

我不完全確定RabbitMQ是什麼,但如果它像MSMQ那麼它聽起來不是一個壞主意。

我建議使用的AIF和MSMQ(實際使用WCF & NetMsmq綁定)或獲得第三方產品如抄寫/鑄鐵/ Biztalk的幫助。第三方產品很可能是你最好的選擇。

MSMQ我認爲會工作,因爲它發送一切消息隊列發送/接收,並異步工作。數據庫鏡像是一種痛苦,尤其是在網絡連接不穩定的情況下。你可能最終會在晚上發生大部分鏡像,並丟失實時數據。

+0

非常感謝。 RabbitMQ是一個像MSMQ的隊列引擎。 你說過:「數據庫鏡像是一種痛苦,尤其是在有點互聯網連接的情況下」,所以我認爲這是第一種使用隊列的解決方案。 – jfabaf

+0

當然可以。我認爲最重要的是確定你真正需要的數據子集。 –