문제

나는 단지 SOA를 읽고 있으며 Service Registry / UDDI는 정기적으로 언급됩니다. 멋지게 들리지만 실제로 어떻게 사용됩니까?

  • 레지스트리는 '물리적 구현 (Port, URL 등)에서 논리적 서비스를 해체하기위한 것입니까?
  • 레지스트리는 인간이 함께 놀 수있는 흥미로운 서비스를 찾고있는 사람에 의해 탐색 될 것인가?
  • 사용하는 서비스에 대한 애플리케이션을 강화하는 것이 '잘못'일까요?
도움이 되었습니까?

해결책

나는 그것이 실질적으로 유용한 것보다 이론적으로 더 유용하다는 것을 알았습니다. 드물게 구현되고 드물게 사용됩니다. 실제로 DNS는 네트워크의 리소스 위치에 충분한 추상화 도구를 제공합니다.

다른 팁

서비스 레지스트리는 사용 가능한 모든 서비스, 주로 인터페이스 설명 및 현재 URI (IP, 포트 등)에 대한 정보를 저장하고 게시합니다. 이런 식으로 응용 프로그램은 단순히 레지스트리에 필요한 서비스를 요청할 수 있으며 피팅 서비스 구현의 세부 정보를 얻을 수 있으며 연결할 수 있습니다.

UDDI가 귀하의 서비스를위한 레지스트리를 얻는 유일한 방법은 아닙니다. 그러나 UDDI는 WebServices에만 해당되므로 SOA가 웹 서비스 만 구성된 경우에만 유용합니다.

1) 정확합니다.

2) 아니, 그것은 실제로 인간의 눈을위한 것이 아닙니다. 물론 디렉토리를 탐색하는 도구가 있지만, 레지스트리에 필요한 서비스를 얻는 경우 주로 찾아야합니다. 실제 사용량은 응용 프로그램/서비스와 레지스트리간에 직접 발생합니다.

3) 이는 성취하고자하는 것에 달려 있습니다. SOA를 만들고 싶다면 SOA의 느슨한 커플 링 패러다임과 모순되기 때문에 '잘못'이라고 생각합니다. 이것이 유일한 서비스 인 경우, 서비스를 사용하는 유일한 응용 프로그램이며 서비스가 변경되지 않을 가능성이 높습니다. URI 일 가능성이 높습니다. URI는 확실히 견학하는 데 아무런 문제가 없지만이 서비스를 분리 할 필요는 없습니다 :)

멀티 캐스트를 사용하여 서비스를 분리하는 것은 어떻습니까? JGroups 또는 SLP를 사용하는 것을 좋아합니까? 모든 서비스는 서로를 발견하고 필요한 서비스를 프록시에 주입합니다. 그런 다음 실제 전송 구현에 대한 추상화를 구축합니다. (예 : 휴식, 비누, RMI)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top