BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Spring发布Web Services的2.3.1和2.4.0版本

| 作者 Michael Redlich 关注 11 他的粉丝 ,译者 张卫滨 关注 12 他的粉丝 发布于 2016年9月27日. 估计阅读时间: 4 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

Spring最近发布了Web Services项目的2.3.1和2.4.0版本。

2.3.1是一个小补丁版本,包含了如下的修正:

2.4.0版本对代码库进行了重构,从而能够运行在最新的Spring Framework 4.3Spring Security 4.1版本上。它的设计也会兼容将来的Spring 5.0。依然在Java 7上运行的应用可以采用这个新版本。

在Spring Web Services的Web站点上,对这个项目是这样定义的:

Spring Web Services(Spring-WS)是Spring社区的一个产品,它聚焦于创建文档驱动的Web服务。Spring Web Services致力于简化契约优先(contract-first)的SOAP服务开发,允许创建灵活的Web服务,它支持多种操作XML负载的方式,我们可以从中任意选择一种。

人们采用Spring-WS会基于多种原因,在寻找遵循Web服务最佳实践的SOAP技术栈时,大多数人都会被它所吸引。Spring-WS能够让最佳实践很容易实现。这些实践包括WS-I basic profile、契约优先的开发模式以及契约和实现的松耦合。

上面所提到的最佳实践其实在Spring Web Services诞生之初就已经考虑到了。在2007年1月份,InfoQ采访了Spring Web Services的创建者Arjen Poutsma,当时这个项目正处于起步阶段。当问到是什么东西能够让Spring Web Services变得如此独树一帜时,他这样回答道:

首先,它完全专注于契约优先的Web服务设计。这意味着你必须要编写自己的XSD Schema,这个Schema定义了你要发送的XML消息。你可以引用WSDL中的Schema(尽管Spring Web Services也可以从XSD中生成WSDL),并借助它来实现验证的目的。

其次,Spring Web Services提供了契约和实现之间的一种松耦合:没有wsdl2java这样工具将契约直接连接到一个类;而是采用你喜欢的任意方式(DOM、SAX、 StAX,甚至XML编组技术如JAXB、Castor、JIBX或者XMLBeans),实现处理传入XML的端点(endpoint)。将传入的请求映射到端点的方式,完全由你自己决定:默认情况下,我们提供基于消息内容或SOAPAction header的映射。这里的主要思想在于,你不用处理方法调用,而是处理XML消息。

正如Poutsma当时所言,编写自定义的XSD Schema是实现契约优先的Web服务的组成部分,在Spring Web Services的起步指南中,有如何消费生成SOAP Web服务的说明,如今还是按照这种方式来实现的。

读者可以参考Concretepage.com上综合的基于SOAP的样例应用,它会消费自己生成的Web服务,从而实现对学生数据的跟踪。完整的项目可以在GitHub仓库上找到,参见webservices-soap-producewebservices-soap-consume

Spring Web Services依然像十年前那样独树一帜。与其他所有的Spring项目一样,Spring Web Services能够很好地集成到Spring生态系统之中。它所使用的特性包含Spring Security,并且会配置应用上下文,这个上下文能够用到Spring Framework框架中的任意项目之中。

查看英文原文Spring Releases Versions 2.3.1 and 2.4.0 Web Services

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT