웹 서비스 작업 시 엔드포인트, 서비스 및 포트의 차이점은 무엇입니까?

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

문제

저는 Apache CXF를 사용하여 약 10개의 Java 클래스를 웹 서비스로 노출했습니다.

저는 CXF, Axis 및 .NET을 사용하여 클라이언트를 생성했습니다.

Axis 및 CXF에서는 "서비스" 또는 "로케이터"가 생성됩니다.이 서비스에서 "포트"를 얻을 수 있습니다."포트"는 웹 서비스에 의해 노출된 메서드를 개별적으로 호출하는 데 사용됩니다.

.NET에서 "서비스"는 웹 서비스에 대한 호출을 직접 노출합니다.

웹 서비스와 관련하여 포트, 서비스, 로케이터 및 엔드포인트 간의 차이점을 설명할 수 있는 사람이 있습니까?

중심선:

PatientServiceImplServiceLocator locator = 
    new PatientServiceImplServiceLocator();
PatientService service = locator.getPatientServiceImplPort();

CXF:

PatientServiceImplService locator = new PatientServiceImplService();
PatientService service = locator.getPatientServiceImplPort();

.그물:

PatientServiceImplService service = new PatientServiceImplService();
도움이 되었습니까?

해결책

나는 뛰어들 것이다 http://www.w3.org/TR/wsdl.html 포트, 서비스, 엔드포인트를 합리적으로 잘 설명하는 것 같습니다.로케이터는 일부 WS 스택이 서비스 엔드포인트에 대한 액세스를 제공하기 위해 사용하는 구현별 메커니즘입니다.

다른 팁

Kevin Kenny의 답변을 기반으로 정보를 찾았지만 다른 사람들을 위해 여기에 게시하겠다고 생각했습니다.

WSDL 문서는 서비스를 네트워크 끝점 또는 포트의 모음으로 정의합니다.WSDL에서 엔드포인트 및 메시지의 추상 정의는 구체적인 네트워크 배포 또는 데이터 형식 바인딩과 분리됩니다.이를 통해 추상 정의를 재사용할 수 있습니다.교환되는 데이터에 대한 추상적인 설명인 메시지와 추상적인 작업 모음인 포트 유형이 있습니다.특정 포트 유형에 대한 구체적인 프로토콜 및 데이터 형식 사양은 재사용 가능한 바인딩을 구성합니다.포트는 네트워크 주소를 재사용 가능한 바인딩과 연결하여 정의되며 포트 모음은 서비스를 정의합니다.따라서 WSDL 문서는 네트워크 서비스 정의에 다음 요소를 사용합니다.

  • 유형– 일부 유형 시스템(예: XSD)을 사용하는 데이터 유형 정의를 위한 컨테이너입니다.
  • 메시지– 전달되는 데이터에 대한 추상적이고 형식화된 정의.
  • 작업– 서비스에서 지원하는 작업에 대한 추상적인 설명입니다.
  • 포트 유형– 하나 이상의 끝점에서 지원되는 추상 작업 집합입니다.
  • 제본– 특정 포트 유형에 대한 구체적인 프로토콜 및 데이터 형식 사양.
  • 포트– 바인딩과 네트워크 주소의 조합으로 정의된 단일 엔드포인트입니다.
  • 서비스– 관련 엔드포인트의 모음입니다.

나는 그것을 추가하고 싶습니다 <port> 그리고 <endpoint> 같은 목적을 가지고 있지만 port WSDL 1.1에서 사용되며 endpoint WSDL 2.0으로.

이미 언급했듯이 이러한 용어는 서로 다른 스택에서 서로 다른 의미를 갖습니다. 웹 서비스에 대한 올바른 일반적인 대답은 없습니다.

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