web服务api:包装还是不包装?

时间:2010-07-28 21:49:35

标签: web-services api

在提供Web服务API时(好吧,让我们说SOAP),您是否提供了一个库包装器,以使人们“更容易”使用它?或者你只是为它打包WSDL和文档,并让人们弄清楚如何处理它?<​​/ p>

人们通常做什么?我已经看到了一些提供包装器的例子,但它对我来说似乎总是适得其反。

2 个答案:

答案 0 :(得分:1)

WSDL很容易被发现(声明的所有函数和类型),因此通常不需要提供任何包,并且文档最少(将XSL应用于WDSL并且通常足够:))。我关于库/包装器外观的理论是它与安全措施/需要的身份验证直接相关。哈希(通常:将某些字段与秘密和哈希联系起来),关于哪一个根本不想回答每一个问题。

观众很重要我认为:如果您希望普通的业余爱好编码器能够使用您的服务,那么提供一个软件包可以让您获得更多用户。如果您更喜欢商业服务,那么Web服务通常必须集成到更大的包中,大多数库都是徒劳的。

话虽如此,我会谈到我遇到的网络服务:大约60%的图书馆提供了无望的意大利面条代码适合垃圾箱,30%不是我使用的代码,但可以清理一些文档没有回答的问题,只有大约10%的问题足以整合到项目中(或者项目很小和/或更糟,不会更糟糕)。

答案 1 :(得分:1)

您将如何支持多个Web服务堆栈 - JAX-WS,AXIS2,CXF等?我的选择 - WSDL / XSD。在实践中,我获得了使用JAX-WS和带有AXIS2的客户端构建的服务。而且我不想建立你将要使用的客户端。我甚至不知道您更喜欢的Web服务堆栈和您的JVM版本限制。例如,我可以从java 1.4调用web-service - 没有注释,也不可能使用带有java 1.5注释的客户端lib。因此,WSDL是构建ws-client而不是提供生成的客户端库的正确方法。