如何创建适用于Google App Engine和本地tomcat服务器的应用程序?

时间:2012-08-29 06:10:31

标签: java google-app-engine

我正在创建一个基于Java的应用程序,我想使用谷歌应用程序引擎进行部署。但我希望这个应用程序可以移动到我的本地或其他机器上的其他服务器,如tomcat等。所以我虽然想使用谷歌应用程序引擎。但是希望保持我的应用程序独立于任何Google特定的东西。有人可以总结一下我必须要处理的问题。我希望从应用程序和数据库层的角度来看它是独立的。

2 个答案:

答案 0 :(得分:0)

虽然我不是谷歌应用引擎中的主人,但是让你的webapp可移植的拇指规则是使用标准规范API而不是供应商特定的API。例如,如果您的应用使用谷歌应用引擎UserServive(com.google.appengine.api.users.UserService)或数据存储com.google.appengine.api.datastore.DatastoreService,如果与谷歌应用引擎紧密绑定,不能被迁移到独立的tomcat引擎。 为了进一步迁移您的数据库,您应该考虑在谷歌应用引擎中使用MySQl架构。因为将来你可以通过转储来托管你的数据库。此外,您应该使用JDBC apis / JPA使用MySQL JDBC JAR

从您的应用程序进行数据库操作

总而言之,您应该避免在源中包含com.google.appengine * import的任何API调用。此外,您应该在谷歌应用引擎云中运行自己的mysql架构。

答案 1 :(得分:0)

我认为你可以,这只是一个设计问题。 举个例子:如果你的应用程序需要用户身份验证,你可以创建一个接口AuthenticationService和两个实现:

  • GAEAuthenticationService用于Google App Engine
  • FakeAuthenticationService用于使用 jetty 运行的本地测试(例如)
  • DataSourceAuthenticationService基于DataSource
  • 进行身份验证

你可以用持久性,调度程序等来做同样的事情......唯一要做的就是:

定义您需要的对象,并在需要依赖于平台的不同实现时使用接口