我认为自我描述/自动描述服务在 SOA 架构中是一件好事,因为(几乎)您知道调用该服务的所有内容都存在于服务契约(例如 WSDL)中。
对我来说,非自我描述服务的示例是 Facebook 查询语言(FQL http://wiki.developers.facebook.com/index.php/FQL),或任何在一个字符串参数中交换 XML 流以进行解析的 Web 服务XML 和执行处理。
最后一个似乎在技术上更加分离,因为从技术上讲,您可以在不对调用者产生技术影响的情况下切换实现,在业务级别处理实现/版本之间的兼容性。另一方面,没有强接口(稀释到服务及其版本中),使服务与现有实现紧密耦合(更难以互换服务并确保完美兼容)。
这个问题与如何使用 SOA 架构实现松散耦合有关
那么,SOA 架构中的自我描述/自动描述服务是松散耦合还是紧密耦合?对 ESB 有什么影响?
任何指针将不胜感激。