2010-01-19 67 views
1

我们使用JSF + Spring + Hibernate编写了一个相当复杂的应用程序。 它有很多业务流程。有不同类型的用户(和角色)。 用户必须填写许多表格,当所有表格都通过验证后, “订单”被发送到服务器,并且将由另一种用户处理。JSF应用程序的Webservice

现在我们必须为此过程编写webservices。也就是说,“订单”将使用XML发送批量为 ,并且必须返回包含错误消息的XML文件,以防错误 或必须以其他方式返回orderId。

我的问题是manyfolded。

  • 我应该考虑什么?
  • 我应该使用RestFul webservices
  • 我应该使用SOAP吗?
  • 我应该使用WSDL吗?

欢迎任何评论。

在此先感谢。

路易斯

+0

'服务器'是另一个应用程序,像后端? – Mauricio 2010-01-19 17:24:08

回答

0

如果你消耗你的服务你的自我,你可以去注释: 结合JSR-311 JAX-REST和JAX-WS annontations,那么你可以去都在服务器端,只需要使用两个注释。 您的业务实体可以使用JAXB注释进行序列化。 在一个支持rest和ws的web服务引擎中运行。例如。 CXF处理两者,但我相信春天包括一个WS lib,不知道那是基于什么。

如果您有外部消费者,我的经验是(尽管我倾向于不使用它)使用合同优先的Web服务。否则,您业务模型中的小改动可能会导致您可能或未察觉的wsdl更新。

所以:外部消费者,首先要去签约WSDL wbservice。

内部消费者(您的代码):使用两者并查看最适合您的方式。如果你使用WS,不要使用像WS-security和其他标准那样的标准,那么很多客户端会遇到问题,因为他们可能只支持基本的东西。

0

我会使用JBoss RESTEeasy,否则JAX-RS,方便,轻巧的实施 - 从XML-> Objects(对象)> XML非常强大的,自动转换:RestEasy Docs

完全被注解驱动的,很简单的需要约5分钟设置。与现有的域对象一起使用。