代码之家  ›  专栏  ›  技术社区  ›  MK.

Web服务API:包装还是不包装?

  •  0
  • MK.  · 技术社区  · 14 年前

    当提供一个Web服务API(比如说SOAP)时,您是否提供了一个库包装器和它一起使人们更容易使用?或者您只是为它打包一个WSDL和文档,让人们知道如何处理它?

    人们通常做什么?我见过很多提供包装器的例子,但它对我来说总是适得其反。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Wrikken    14 年前

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

    听众很重要,我认为:如果你想让你的业余爱好编码员能够使用你的服务,提供一个软件包可以让你有更多的用户。如果您更多地从事企业对企业的服务,那么WebService通常必须集成到一些更大的包中,并且大多数库都是无用的。

    尽管如此,我还是要说我遇到的网络服务:大约60%的图书馆提供的是毫无希望的意大利面条式代码,30%不是我要使用的代码,但可以解决文档中没有回答的一些问题,只有大约10%适合集成到一个项目中(或项目很小和/或更糟,足以不会更糟的)。

        2
  •  1
  •   gedevan    14 年前

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