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

相关问题