Как работает обнаружение сервисов SOA (UDDI) на практике? - PullRequest
8 голосов
/ 24 сентября 2008

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

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

Ответы [ 3 ]

9 голосов
/ 24 сентября 2008

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

4 голосов
/ 24 сентября 2008

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

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

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

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

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

1 голос
/ 04 мая 2009

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

...