使用 Google AppEngine 创建 Java Web 服务

Posted

技术标签:

【中文标题】使用 Google AppEngine 创建 Java Web 服务【英文标题】:Creating Java Web Service using Google AppEngine 【发布时间】:2011-01-14 01:35:20 【问题描述】:

我正在尝试创建一个简单的 Web 服务应用程序,我可以在其中检索字符串集合并将它们存储到 AppEngine 服务器上的数据存储中。

我有 Java 知识,但对 Java Servlet 及其 WAR 标准几乎一无所知。

我想至少对如何使用 AppEngine 提供的 Java 技术创建 Web 服务有一些指导。我已经搜索过,但是文章很少而且太长,而且没有提供任何简单的解决方案。

如果我能像在 .NET 中使用属性一样使用 Java 的注解创建 Web 服务,我会很高兴。

我很感激文章和指导的链接,不需要完整的源答案,但我们将不胜感激。

请不要基于 python 的答案。

【问题讨论】:

您的 Web 服务是否需要遵守任何特定标准(即 SOAP?)或者您是否可以接受更 RESTful 的东西? 【参考方案1】:

IMO,没有简单的解决方案可以使用 Java 在 GAE 上构建 Web 服务。

但是,它仍然可以实现。让我们从我们要构建的Web Services 开始。

该术语通常指的是 通信的客户端和服务器 通过超文本传输​​协议 (HTTP) 网络上使用的协议。这样的 服务往往属于两种 阵营:大型网络服务RESTful Web 服务

“Big Web Services”使用 SOAP/RPC 格式,RESTful Web Services 使用 REST 样式之一。你可以read more about SOAP vs REST。

有很多Java open source Web Services frameworks out there。它们中的大多数通常基于 Java API for XML Web Services (JAX-WS),它是 Java EE 平台的一部分。 JAX-WS 不受列表 Will it play in App Engine 中指定的 Google App Engine 的不支持。所以忘掉那些“很酷的 Java 注释”吧。

但是,Restlet 似乎与 GAE 兼容。因此,如果您认为 REST 可能是您的一个选择,我会继续查看 Hello World tutorial of Restlet。然后,我会继续阅读how to integrate Restlet with GAE上的文章。

【讨论】:

“JAX-WS 不受列表中指定的 Google App Engine 支持它会在 App Engine 中播放。所以忘记“酷 Java 的注释”吧。”今天 GAE 支持 JAX-RS 和 JAXB 所以是的,你可以再次使用“酷”! 我同意,但对 JAXB 的支持似乎有限:详情请参阅 code.google.com/p/googleappengine/issues/detail?id=1267。 SOAP 现已正式支持:code.google.com/appengine/articles/soap.html。这是个好消息!

以上是关于使用 Google AppEngine 创建 Java Web 服务的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Google 的 appengine 动态生成 pdf?

Google PubSub:使用 AppEngine 推送端点订阅时出现 SSL 错误

Google Appengine:这是一组好的实体组吗?

如何在 Google AppEngine 上实现“实时”消息传递?

如何在 Google AppEngine 上使用 JDBC

在 Google AppEngine 中使用 app.yaml