Architecture SOA服务发现(UDDI)在实践中是如何工作的?

Architecture SOA服务发现(UDDI)在实践中是如何工作的?,architecture,soa,uddi,Architecture,Soa,Uddi,我只是在阅读SOA和经常提到的服务注册中心/UDDI。听起来不错,但在现实中如何使用呢 注册表是否意味着将逻辑服务与其物理实现(端口、url等)解耦 注册中心是否意味着要由寻找有趣服务的人浏览 硬接线是不是“错误” 应用 它使用什么样的服务 服务注册表存储和发布所有可用服务的信息,主要是它们的接口描述和当前URI(ip、端口等)。通过这种方式,应用程序只需向注册中心请求所需的服务,就可以获得fitting服务实现的详细信息,并可以进行连接 UDDI不是为您的服务获取注册中心的唯一方法。但请记住

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

  • 注册表是否意味着将逻辑服务与其物理实现(端口、url等)解耦
  • 注册中心是否意味着要由寻找有趣服务的人浏览
  • 硬接线是不是“错误” 应用 它使用什么样的服务

服务注册表存储和发布所有可用服务的信息,主要是它们的接口描述和当前URI(ip、端口等)。通过这种方式,应用程序只需向注册中心请求所需的服务,就可以获得fitting服务实现的详细信息,并可以进行连接

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

1) 对

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

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

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

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