Как обнаружение служб SOA (UDDI) работает на практике?

StackOverflow https://stackoverflow.com/questions/126700

  •  02-07-2019
  •  | 
  •  

Вопрос

Я просто читаю о SOA, и реестр служб / UDDI регулярно упоминается.Звучит красиво, но как используется на самом деле?

  • Предназначен ли реестр для отделения логической службы от ее физической реализации (порт, URL и т.д.)?
  • Предназначен ли реестр для просмотра человеком, ищущим интересный сервис для игры?
  • Было бы "неправильно" жестко привязывать приложение к используемым им сервисам?
Это было полезно?

Решение

Я нахожу это скорее теоретически полезным, чем практически.Он нечасто внедряется и нечасто используется.На самом деле DNS предоставляет достаточный инструмент абстракции для определения местоположения ресурсов в сети.

Другие советы

Реестр служб хранит и публикует информацию обо всех доступных службах, в основном описание их интерфейса и их текущий URI (ip, порт, что угодно).Таким образом, приложение может просто запросить у реестра необходимую службу, получить подробную информацию о подходящей реализации службы и может подключиться.

UDDI - это не единственный способ получить реестр для ваших сервисов.Но помните, что UDDI предназначен только для веб-сервисов, поэтому он полезен только в том случае, если ваш SOA состоит только из веб-сервисов.

1) Правильно.

2) Нет, на самом деле это не предназначено для человеческих глаз.Конечно, есть инструменты для просмотра каталога, но они в основном предназначены для того, чтобы посмотреть, есть ли в реестре нужные вам службы и т.д.Реальное использование происходит непосредственно между вашим приложением / службой и реестром.

3) Это зависит от того, чего вы хотите достичь.Если вы хотите создать SOA, я думаю, что это было бы "неправильно", потому что это противоречит парадигме свободной связи SOA.Если это ваш единственный сервис, единственное приложение, которое его использует, и вполне вероятно, что сервис не изменит свой URI, то определенно нет проблем с его жестким подключением - но тогда, вероятно, нет необходимости отделять этот сервис :)

как насчет использования многоадресной рассылки для отключения сервиса?Нравится использовать jgroups или SLP?Все сервисы обнаружат друг друга и введут тот, который им нужен, в прокси-сервер.Затем строим абстракцию поверх фактической транспортной реализации.(например,отдых, мыло, rmi)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top