2013-10-26 4 views
2

RESTful 웹 서비스 (예 : JAX-RS 구현)는 계약 우선 (하향식) 접근 방식과 계약 마지막 (상향식) 접근 방식을 모두 지원합니까?RESTful 웹 서비스는 계약 우선 및 계약 최후 방안을 모두 지원합니까?

+0

더하십시오 :

다음은 계약 마지막 또는 계약 첫 번째 접근 방법은 REST에 의미가 있다면 당신은 의견을 형성하기 위해 읽을 수있는 몇 가지 게시물이 특유한. 이러한 접근 방식의 결과가 JAX-RS 어플리케이션에있을 것이라고 생각합니까? –

+0

비누 (JAX-WS)에서 두 방법 모두 지원되는 경우 RESTful이 아닌 이유는 무엇입니까? –

+0

편안한 지원 계약 - 마지막으로 계약을 먼저 지원합니까? 그렇지 않다면? Bcos 계약 - 처음에는 오늘날 비즈니스에 많이 필요한 전체 론적 관리를 제공합니다. –

답변

3

RESTful 웹 서비스는 계약 우선 및 계약 최후 방법을 모두 지원합니까?

사용하는 도구/프레임 워크에 따라 다릅니다.

SOAP 웹 서비스와 그에 수반되는 WSDL에 대해 이야기하고 있습니다.

WSDL은 웹 서비스가 입력으로 기대하는 것과 클라이언트가 예상 한 결과를 출력으로 설명합니다. 양 당사자가 서로 통신 할 수 있도록하기 위해 준수해야 할 계약을 정의합니다. contract-first or contract-last을 수행하여 WSDL을 얻을 수 있으며 나중에이 WSDL을 사용하여 클라이언트 스텁 또는 서비스 스켈레톤에 대한 코드를 생성 할 수 있습니다.

그러나 REST를 수행하는 것은 SOAP을 수행하는 것과 동일하지 않습니다. SOAP (프로토콜)에서 작동하는 프로세스는 REST (아키텍처 스타일)에 반드시 적용될 수는 없기 때문에 우리는 이들을 잘 알고 있습니다.

REST는 메서드와 메서드 시그니처를 노출하는 SOAP과 달리 리소스를 노출합니다. REST 웹 서비스와 통신하기 위해 REST 클라이언트가 필요로하는 자원의 교환에 사용되는 미디어 유형을 이해해야합니다. 리소스를 설명하는 별도의 문서가 필요하지 않습니다.

HATEOAS 원칙으로 인해 REST 클라이언트는보다 동적이며 동일한 미디어 유형을 사용하여 통신하는 다른 서비스에 적응할 수 있습니다. 정적 서비스 설명 문서를 노출하면 REST 서비스를 제한하게됩니다.

그런데, 설명 문서를 노출하는 REST 도구가 있습니다 (예 : Jersey who exposes a WADL (계약 기간)). 게시 된 WADL을 사용하여 클라이언트 스텁을 작성할 수 있으며 수동으로 WADL을 작성하고 (계약 우선) 스텁 및 스 켈리 톤을 생성하는 데 사용할 수없는 이유는 없습니다. 하지만 제가 말했듯이 그것은 REST를위한 최선의 해결책이 아닐 수도 있습니다.

+0

좋은 점이 있지만, 계약 우선 접근 방식을 사용하여 RESTful 웹 서비스를 구현할 수있는 도구/프레임 워크의 이름을 알려주시겠습니까? 나는 RESTful 지원을 계약 어쨌든 어쨌든 처음에는 생각하지 않는다. .. 대답을 주셔서 감사합니다. –

+0

@Siraj Chaudhary : 제가 알고있는 유일한 도구들입니다. (얼마나 안정적인지, 얼마나 많은 기능을 가지고 있는지 전혀 알지 못합니다. 나는 실제로 그것을 사용하지 않았다) [CXF가 사용하는 것으로 생각하는] [WADL2Java] (https://wadl.java.net/)이다. (http://cxf.apache.org/docs/jaxrs-services- description.html # JAXRSServicesDescription-WADLfirstDevelopment) 및 [rest-api-code-gen] (http://code.google.com/p/rest-api-code-gen/)이라는보다 일반적인 도구가 있습니다. – Bogdan

+0

이 정보는 유용합니다. 이는 우리가 RESTful으로 계약 된 첫 번째 웹 서비스를 작성할 수 있음을 의미합니다. 고마워요 @ 보그 단 –