언제 AtomPub를 사용해야합니까?


13

RESTful 웹 서비스 디자인에 대한 연구를 진행해 왔으며 핵심 결정 사항이라고 생각하는 것에 도달하여 조언을 구하기 위해 커뮤니티에 제안 할 것이라고 생각했습니다.

RESTful 아키텍처의 원칙에 따라 검색 가능한 API를 제시하고자하므로 다양한 HTTP 동사를 최대한 완벽하게 지원할 것입니다. 저의 어려움은 그러한 자원의 표현을 선택하는 데 있습니다. 알다시피, 검색 결과가 표시되는 방법과 다른 리소스에 대한 링크가 제공되는 방법을 다루는 자체 API를 쉽게 만들 수 있지만 이는 내 응용 프로그램에 고유합니다.

Atom Publishing Protocol ( RFC 5023 )과 OData 가 사용을 촉진 하는 방법 에 대해 읽었 지만 (현재) 다소 간단한 API에 대해 추상화 수준을 추가하는 것으로 보입니다.

그래서 제 질문은 개발자가 언제 AtomPub를 그들의 표현 선택으로 선택해야 하는가입니다. 그렇지 않은 경우 현재 권장되는 방법은 무엇입니까?


1
여기에 대한 흥미로운 토론이 있습니다 : comments.gmane.org/gmane.comp.web.services.rest/16023
Gary Rowe

답변:


11

이것에 대해 상당한 양의 조사를 한 결과, 다음은 나의 발견입니다.

AtomPub, OData 및 HAL의 3 가지 기본 형식과 접근 방식이 있습니다. 아래에 각각에 대한 연구를 요약했습니다.

AtomPub

  • 프로 : 잘 확립 된 표준
  • 프로 : XML 및 JSON과 호환
  • Pro : Apache Abdera를 통한 탁월한 Java 지원
  • 단점 : Abdera는 많은 의존성을 소개합니다
  • 단점 : 서버 측에서 작업하기가 매우 복잡
  • 단점 : 완전한 JavaScript 클라이언트를 구축하기 어려움

OData

  • 프로 : AtomPub 기반
  • 프로 : XML 및 JSON과 호환
  • Pro : odata4j 프로젝트를 통해 Java 지원 기능이 우수합니다
  • 장점 : 좋은 URI 쿼리 구조를 제공합니다

  • 단점 : 완전한 프레임 워크를 소개합니다 (기본적으로 Dropwizard를 대체 함).

  • 단점 : 특히 엔티티 데이터 모델 (EDM)과 함께 작업하기가 매우 복잡
  • 단점 : EDM 용 Windows 전용 도구를 사용하지 않고도 우수한 JavaScript 클라이언트 라이브러리를 찾기 어려움

HAL

  • Pro : 가볍고 확장 가능한 접근 방식을 소개합니다
  • 프로 : XML 및 JSON과 호환
  • Pro : JAXB 모델을 작성하여 구현할 수 있습니다 (종속성 없음)
  • Pro : 좋은 연결 프레임 워크를 제공합니다
  • Pro : jQuery XML 파싱을 사용하여 JavaScript 클라이언트를 만드는 것이 간단합니다.
  • 단점 : 비준되지 않음 (IETF에 접근 했음에도 불구하고)

언제 AtomPub를 사용해야합니까?

추가 복잡성에 만족하고 클라이언트에 표준 라이브러리를 사용하려는 경우 위의 AtomPub를 선택해야합니다. 큰 문서 저장소를 실행중인 경우에 해당합니다.

다른 사람에게 도움이 될 수 있는 최신 블로그 기사 에 더 자세한 내용 (이 질문의 범위를 벗어남)을 넣었 습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.