Web services 什么是;“自我描述”;在提到Web服务时,真正的意思是什么?

Web services 什么是;“自我描述”;在提到Web服务时,真正的意思是什么?,web-services,Web Services,这些年来,我听到很多关于“自我描述”web服务的传言,我很好奇这意味着什么。我浏览了W3C标准,但它并没有真正的帮助 我知道你可以说“给我这个参数,调用这个函数,我会返回这样的结果”,但这到底有什么帮助呢?在给定的上下文中,软件如何知道与客户机相关的内容 有人能给出这个概念的真实例子,并解释它如何比其他选择更好吗?或者它有多有用/没用?它实际上是一个标准,用于以跨平台跨语言的方式描述开发人员可以用来开发基于SOAP的方式与web服务交换信息的接口 另一种选择是提供一个库,为blackbox通信方

这些年来,我听到很多关于“自我描述”web服务的传言,我很好奇这意味着什么。我浏览了W3C标准,但它并没有真正的帮助

我知道你可以说“给我这个参数,调用这个函数,我会返回这样的结果”,但这到底有什么帮助呢?在给定的上下文中,软件如何知道与客户机相关的内容


有人能给出这个概念的真实例子,并解释它如何比其他选择更好吗?或者它有多有用/没用?

它实际上是一个标准,用于以跨平台跨语言的方式描述开发人员可以用来开发基于SOAP的方式与web服务交换信息的接口

另一种选择是提供一个库,为blackbox通信方案提供本地接口,该方案充满了兼容性/安全性问题

或者提供可能难以找到、存在兼容性问题、过时或不完整的文档


简而言之,它非常有用。

提供WSDL是一种自我描述的方式。或者这不是你的意思?这就是我的意思,我仍然不理解实际的应用程序。好吧,为了回答关于它“真正的含义”的问题,我认为WSDL背后的推理是非常中肯的。好吧-那么这个例子如何定位,对于一个应用程序来说,知道有一个叫做“GetLastTradePrice”的操作有什么好处它接受某个类型参数并返回某个类型。应用程序如何使用这些信息连接到以前从未见过的服务,为客户端生成一个智能使用的接口,然后在该接口上执行命令?这一切看起来都是如此的高级和抽象,以至于毫无用处。从我收集到的信息来看,这些信息在运行时并没有以我所认为的方式使用。相反,它实际上被设计成一种标准,用于以跨平台、跨语言的方式描述开发人员可以用来开发基于SOAP的方式与web服务交换信息的接口同样,我在这里遇到的问题是,它不涉及运行时发现。我现在意识到这个假设并不十分清楚,因为我假设这是“自描述”的核心意图。注意,自描述web服务只提供技术实现,不一定是简单的英语解释。因此,应该提供一些额外的文档来解释方法和参数的实际含义和作用,或者你的方法名称最好非常清楚。我喜欢你的答案,但是如果一个Web服务接收大量的通用数据(例如键/值字符串数组)作为额外参数,你能精确地回答吗(服务的行为可能依赖于此)可以被视为一个自描述服务,因为它是一个Web服务,即使它需要额外的文档?对我来说,没有,但我想就这方面交流经验。