将Apache CXF用于移动应用程序是否存在潜在问题?

时间:2011-10-26 19:56:58

标签: web-services mobile cxf

我们将开发将使用Web服务的移动应用程序(适用于iOS和Android平台)。我将是实现Web服务部分的人,我计划使用Apache CXF。

这是我第一次使用CXF,但由于它与Spring的集成,我正在高度考虑它。

将CXF用于移动应用程序有哪些潜在问题(如果有)?如果有,是否应该有更好的替代CXF?如果没有,我还应该考虑任何最佳实践?

谢谢!

1 个答案:

答案 0 :(得分:3)

我一直在通过手机铃声... WAP,J2ME,Brew,嵌入式语言等。移动开发令人兴奋,也有点可怕......

Spring Integration:*和**之间存在很大差异...设置过滤器时要小心。很容易失去保护终点。

身份验证:您的移动设备将如何进行身份验证以及他们在身份验证,授权和访问中的角色是什么?偶尔连接设备上的会话管理 - 可以变得有趣。如果会话变得陈旧,您将如何处理挑战/响应?

App Security:您的解决方案是否需要SSL?管理自签名证书既痛苦又耗时。做好自己和您的移动设备,并预先获得CA证书。你将节省时间(金钱)和大量头痛。

代理功能:理想情况下,编写前端的人应该使用支持某种绑定的IDE来进行实时调试。能够添加一个断点并反省代码中正在发生的事情......是薄荷。但是,我还没有看到IDE为前端移动开发人员提供与后端开发人员相同的体验。我的猜测是你的移动开发人员对jQuery的所有关注点都很好。明白如此! WebStorm和Aptana在JS领域都很出色 - 但它们仍在不断发展。

这是前端移动开发人员需要解决的问题......对吗?是的......没有。如果没有适当的工具,开发链中的每个人都必须自己做出回答问题的方式:

  • 移动应用发送了什么?
  • 请求是否正确形成?
  • 回答是什么?

再次,节省一些时间和指责,只是坐在一起(前端和后端开发人员)并制定一个技术堆栈,为每个人提供对所有应用程序通信的最佳访问。从一开始就可以在服务器上进行可配置的日志记录。你熟悉Firebug还是Charles Proxy?代理可以大大简化调试方程 - 只需说'

例外:哦......并注意HTTP响应代码。应优雅地处理服务器端的异常,以防止移动消费者阻塞响应。哎呀 - 我只能说是YIKES!

服务/生命周期:您是否计算过应用程序的服务和/或生命周期的持续时间?了解这一点可以极大地影响架构决策。

网络服务:我的下意识反应 - 这是您产品的最佳技术吗?为何选择Web服务?你能想出为什么WS是最佳选择的三个具体原因吗?根据我的经验,最紧凑的协议通常会带来最佳的用户体验。

深思熟虑...... ASP.NET和JSon是一对很好的。 http://encosia.com/using-jquery-to-consume-aspnet-json-web-services/

SOAP-XML很麻烦。 :-( http://openlandscape.net/2009/09/25/call-soap-xm-web-services-with-jquery-ajax/

您是否考虑过RESTful Web服务?如果您正在使用CXF ......有三种不同的方法来构建RESTful Web服务。

JAX-RS(CXF实现了JSR-311烘焙)   JAX-WS(更复杂 - meh)   HTTP绑定(不推荐使用......将来可能会从CXF中删除 - 公平警告)

更多信息:http://cxf.apache.org/docs/restful-services.html 示例:http://solutionsfit.com/blog/2010/04/21/enterprise-mashups-with-restful-web-services-and-jquery-part-1/

替代方案:那里有很多伟大的项目...... Axis2和Shiro浮现在脑海中。在不了解您的解决方案的情况下 - 很难推荐任何内容。

最后的想法:作为一个后端开发人员,我建议熟悉整个应用技术堆栈,并通过一系列小但功能性的样本启动开发,这些样本可以解决上述障碍。坚持样品!它们可能有助于归零回归。

移动设备每天都在变得越来越快......这是真的,但任何值得他们开发的开发者都会知道,如果他们想要广泛使用,采用和接受移动产品,他们需要编码到一个共同点。