我只是在阅读有关 SOA 的内容,并且经常提到服务注册中心/UDDI。听起来不错,但是实际使用起来如何呢?

  • 注册表是否旨在将逻辑服务与其物理实现(端口、URL 等)分离?
  • 注册表是否是供寻找有趣服务的人浏览的?
  • 硬线对其使用的服务的应用程序会“错误”吗?
有帮助吗?

解决方案

我发现它在理论上比在实际中更有用。它很少被实现,也很少被使用。实际上,DNS 为网络上资源的位置提供了足够的抽象工具。

其他提示

服务注册表存储和发布有关所有可用服务的信息,主要是它们的接口描述和它们当前的 URI(ip、端口等)。这样,应用程序可以简单地向注册表询问所需的服务,并获得合适的服务实现的详细信息,并且可以进行连接。

UDDI 并不是获取服务注册中心的唯一方法。但请记住,UDDI 仅适用于 Web 服务,因此仅当您的 SOA 仅包含 Web 服务时它才有用。

1)正确。

2)不,它并不适合人眼。当然,有一些工具可以浏览目录,但它们主要用于查看注册表是否获得了您需要的服务等。真正的使用直接发生在您的应用程序/服务和注册表之间。

3)这取决于你想要完成什么。如果您想构建 SOA,它会认为这是“错误的”,因为这与 SOA 的松耦合范例相矛盾。如果这是您唯一的服务,唯一使用它的应用程序,并且该服务很可能不会更改它的 URI,那么硬连接它绝对没有问题 - 但可能不需要分离该服务:)

使用多播来发现服务怎么样?喜欢使用 jgroups 或 SLP?所有服务都会相互发现并将其所需的服务注入代理中。然后在实际传输实现上构建抽象。(例如。休息,肥皂,rmi)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top