0

請檢查我的previous question的答案和評論,以便更好地瞭解我的情況。如果我在AppEngine上使用Google DataStore,則我的應用程序將緊密耦合,因此可移植性變差。如何構建雲應用程序並保持可移植性?

我正在使用Android,並將使用駐留在雲中的後端。我需要客戶端 - 雲端通信。如何構建維護可移植性的應用程序。我應該使用哪些設計模式,架構模式?

我應該使用經紀人模式嗎?我很困惑。

+1

Re:可移植性。 DataStore API代碼本身可以輕鬆轉換爲另一個類似的NoSQL數據庫。但是,對於實際的遷移,您還需要將所有數據從App Engine中取出,如果您有很多,這可能會非常困難。 – Thilo 2013-03-26 09:11:38

+0

Thilo,明白了,但我需要將數據存儲在RDBMS中,AppEngine端點處理DataStore。我如何克服這一點? – FireAndIce 2013-03-26 09:17:15

+0

我應該使用RPC嗎? – FireAndIce 2013-03-26 09:22:23

回答

0

爲了保持我的應用程序的可移植性,我選擇了Restlet,它提供Restful web apis,通過端點。 Restlet會幫助我在服務器和客戶端之間進行通信。

此外,它不會將我的應用程序鎖定到特定供應商。

0

Google AppEngine爲其數據存儲提供基於JPA的接口。只要您使用JPA API編寫代碼,就可以輕鬆將相同的代碼移植到其他數據存儲區(例如,Hibernate也實現了JPA)。

我會確保供應商特定的代碼不會滲透到位於供應商API上方的薄層之外。這將確保當我不得不遷移到不同的供應商時,我確切知道哪部分代碼會受到影響。

0

它你真的想要避免使用谷歌雲sql的可移植性問題。如果你使用數據存儲,除非它是一個微不足道的結構,否則如果你使用純jpa/jdo,你將無法輕易移植它,因爲那些實際上並不適用於nosql。谷歌具有索引等特性 當然,sql更昂貴,並且具有大小限制

+0

我不能妥協與可移植性。最初,由於成本因素,我打算擁有自己的專用服務器,如果事情順利,我想遷移到雲端。 – FireAndIce 2013-03-30 14:54:01

相關問題