1

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

4

2 回答 2

0

虽然我不是谷歌应用引擎的大师,但是让你的 webapp 可移植的经验法则是使用标准规范 API 而不是供应商特定的 API。例如,如果您的应用正在使用 google 应用引擎 UserServive (com.google.appengine.api.users.UserService) 或数据存储 com.google.appengine.api.datastore.DatastoreService ,如果与 Google 应用引擎紧密绑定并且不能迁移到独立的tomcat引擎。要松散耦合您的数据库以进行进一步迁移,您应该考虑在谷歌应用引擎中使用 MySQl 模式。因为将来您可以通过转储在任何地方托管您的数据库。此外,您应该使用 JDBC apis/JPA 从您的应用程序中使用MySQL JDBC JAR进行数据库操作

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

于 2012-08-29T06:29:04.947 回答
0

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

  • GAEAuthenticationService谷歌应用引擎
  • FakeAuthenticationService对于使用码头运行的本地测试(例如)
  • DataSourceAuthenticationService用于基于 a 的身份验证DataSource

您可以对持久性、调度程序等进行同样的思考……唯一要做的是:

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

于 2012-12-14T16:17:28.657 回答