Relax-WS:试图使WSDL更易用?

随着许多事物涉及Web服务,出现了一些 赞成和 反对WSDL的激烈论调(甚至在 WSDL 2.0火上浇油之前)。一个主要反对WSDL的观点是与为服务书写WSDL有关的 繁琐性和复杂性。但是, Relax-WS项目正试图为之提供一个解决方案。正如项目页面如此恰当的描述:
WSDL是SOA的关键技术,但是创建和编辑这些文件就像使用镊子将一碗面条中的所有面条弄直一样充满“乐趣”。
他们的想法是通过增加对服务、端口、操作和消息的支持来扩展 Relax-NG Compact Syntax。该项目意图鼓励开发者一开始就考虑WSDL,作为服务契约的一部分,而不是作为事后补充:
程序员从一个WSDL文件开始,作为构建的一部分,会产生由一个或多个类实现的服务接口。这里的挑战在于创建WSDL!
例如,一个相对简单的服务可以定义如下:
#
# This is "hello world" in relax-ws.
#
service Hello {

port {
operation SayHello {
in {
element name {xsd:string}
}

out {
element message {xsd:string}
}

}

}
}
然后,Relax-WS将自动产生关联的WSDL。但是,这对于把开发者和WSDL隔离开来真的有帮助吗?它足以让一些 WSDL批评家沉默吗?正如 James Strachan的博客中的一个评论所说的:
这无疑很酷,但是这不是同样具有它声称要修正问题的同样缺点吗:“代码驱动开发……对于开发很快,但是容易导致引入平台特定的特性,这使得接口不能被跨平台的客户端使用。”

不要误解我,我瞧不上WSDL,但是我认为由Java或一个relaxng语法自动产生WSDL都会导致“不可用的跨平台客户端。”

查看英文原文:Relax-WS: Trying To Make WSDL Easier To Use?

你可能感兴趣的:(Relax-WS:试图使WSDL更易用?)