8

我只是在阅读 SOA 和服务注册中心/UDDI 经常被提及。听起来不错,但在现实中如何使用?

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

3 回答 3

10

我发现它在理论上比实际有用更有用。它不经常实施和不经常使用。实际上,DNS 为网络上资源的定位提供了充分的抽象工具。

于 2008-09-24T16:50:46.363 回答
4

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

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

1) 正确。

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

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

于 2008-09-24T12:27:25.763 回答
1

如何使用多播来发现服务?喜欢使用 jgroups 或 SLP?所有服务将相互发现并将他们需要的服务注入代理。然后在实际的传输实现上构建抽象。(例如休息、肥皂、rmi)

于 2009-05-04T09:10:23.523 回答