InfoQ 的 Stefan Tilkov 和 Spring Web Services 的创建者 Arjen Poutsma 进行了一次对话,论述了该项目的相关问题,以及如何用一种不同于以往的方法来构建 Java Web Services。话题包括设计这个 WS 框架的原因,契约优先的好处,文档驱动的 Web Services,JAX-WS 以及 REST 等。
Spring Framework 作为一种更轻量化的“企业”框架选择,它在 Java 开发人员中非常流行。最新增加的其中一项是 Spring Web Services 子项目,根据网站上的说法,是“专注于创建文档驱动(document-driven)的 Web Services,[并] 帮助推动契约优先(contract-first)的 SOAP 服务开发,允许利用操作 XML payloads 的多种方法之一来创建灵活的 Web Services。
对于构建 Spring Web Services 的动机,Arjen Poutsma 在本文中自己解释如下:
在我作为顾问的工作中,我遇到过 Web Services 有严重问题的客户。例如,他们想要维护一个 Service 契约的多个版本,或者直接处理得到的 XML,而不用先转化成对象。当时,现成的 SOAP 堆栈专注于使“SOAP 化”现有的 Java 类变得更容易,而不是正确地完成它:从编写一个 Service 契约开始,并编写可以处理得到的 XML 的类。虽然有可能进行契约优先的 Web Service 设计,但也不容易。就像整个 Spring Portfolio 所做得那样,Spring Web Services 使得以正确方式进行变得更加容易,并向人们展示了如何使 Web Services 符合他们现有的架构。
评论