大家都说“Contract-First”的WS设计方法更倾向于SOA风格的设计。现在,如果我们采用可用的开源框架来实现这一点,我们就有Spring-ws和Axis2(支持这两种风格)。我的任务是设计基于 SOA 的电子商务应用程序。其中松耦合、快速响应、安全性和可扩展性是关键点。因此,从一开始就选择正确的框架非常重要。
根据过去的经验,你们认为哪一个或其他什么更适合我的要求。
大家都说“Contract-First”的WS设计方法更倾向于SOA风格的设计。现在,如果我们采用可用的开源框架来实现这一点,我们就有Spring-ws和Axis2(支持这两种风格)。我的任务是设计基于 SOA 的电子商务应用程序。其中松耦合、快速响应、安全性和可扩展性是关键点。因此,从一开始就选择正确的框架非常重要。
根据过去的经验,你们认为哪一个或其他什么更适合我的要求。
首先,我建议使用 JAX-WS。CXF 、JAX-WS RI或Metro ( Metro = JAX-WS RI + WSIT) 似乎是可以接受任何 WSDL 合同并生成POJO(反之亦然)的最佳实现。
这是一个棘手的问题。
我过去使用过 Axis2,但对 Spring WS 来说相对较新。我喜欢 Spring WS 的地方在于我可以使用哪些 API 来处理传入和传出请求(XmlBeans、JDOM、Castor 等)以及与基于 Spring 的堆栈的出色集成。
你提到了合同优先的方法。我不确定 Axis 2 是否有类似的东西,但 Spring WS 有一个 wsdl 生成器的模式。你可以在这里看到一个例子:
http://static.springsource.org/spring-ws/sites/1.5/reference/html/tutorial.html
这两个框架都提供了您在松散耦合、响应、可伸缩性等特性方面所要求的一切。就我而言,Spring-ws 也可能提供与 Acegi 的良好集成,但我真的没有深入研究这个主题。
Axis2 是我使用的,并且是非常可靠的解决方案。另外,我对春天有点过敏。