장바구니 담기 close

장바구니에 상품을 담았습니다.

RESTful Web API 패턴과 모범 사례

RESTful Web API 패턴과 모범 사례

  • 마이크 애먼슨
  • |
  • 에이콘출판
  • |
  • 2024-04-30 출간
  • |
  • 564페이지
  • |
  • 188 X 235 X 26mm
  • |
  • ISBN 9791161758404
판매가

40,000원

즉시할인가

36,000

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
36,000

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

◈ 이 책에서 다루는 내용 ◈

◆ 오픈 웹에서 성공적으로 상호 작용할 수 있는 개별 서비스 인터페이스 설계 및 구축
◆ 공동의 이해를 공유하는 API 디자인을 통한 상호운용성 증가
◆ 진화하는 서비스에 적응할 수 있는 클라이언트 애플리케이션 구축
◆ 웹에서 동료 간 상호작용을 지원하는 안정적이고 신뢰할 수 있는 API 생성
◆ 실시간 외부 의존성 관리를 지원하는 웹 기반 API 레지스트리 사용
◆ 복잡한 다중 서비스 작업을 일관적으로 수행하기 위한 안정적인 워크플로 구현

◈ 이 책의 대상 독자 ◈

이 책의 주요 독자는 HTTP를 통해 실행되는 서비스 인터페이스를 계획, 설계, 구현하는 업무를 담당하는 사람들이다. 이 업무는 사내 서비스 생산과 소비를 만드는 것과 오픈 웹에서 전 세계 소비자를 위해 확장 가능하고 안정적인 방식으로 실행될 수 있는 서비스를 구축하는 것을 의미하기도 한다. 프로그래머의 입장에서는 당면한 문제를 해결할 수 있는 유용한 애플리케이션 프로그래밍 인터페이스를 만드는 것을 뜻하기도 한다.
자체 서버로 로컬에서 솔루션을 호스팅하든 클라우드에서 실행할 소프트웨어를 만들든, 이 책의 레시피는 문제를 이해하는 데 도움이 되며 문제를 예측하고 예상치 못한 상황이 발생했을 때 이를 처리할 수 있는 일련의 복구 기술을 제공할 것이다.

◈ 옮긴이의 말 ◈

대부분 REST API를 만드는 목적은 CRUD(생성, 읽기, 수정, 삭제)가 대부분이다. 하지만 ALPS (Application-Level Profile Semantics)의 창시자인 저자는 전 세계적으로 영향력을 넓혀, 한 번도 만난 적이 없는 사람들을 위해 생각지도 못한 문제를 해결해야 한다는 RESTful Web API의 원칙을 통해 CRUD만이 아닌 쿼리, 페이징, 워크플로 등 다양한 문제의 해결 패턴을 제시하고 있다.
이 책을 통해 머신과 머신, 또는 사람과 머신 사이에서 API 통신을 할 때의 고민을 알게 될 것이다. 수십 가지의 패턴을 통한 커뮤니케이션 방법과 더불어 향후에 어떤 방향으로 API 통신이 계속 발전할지에 대해서도 감을 잡을 수 있을 것이다.

목차

1장 RESTful Web API의 소개
__RESTful Web API
__웹에서 확장 가능한 서비스를 위한 공유 원칙

2장 하이퍼미디어식 사고와 설계
__하이퍼미디어 설계로 기반 구축하기
__하이퍼미디어와 선험적 설계
__하이퍼미디어 클라이언트를 통한 회복탄력성 향상
__하이퍼미디어 서비스를 통한 안정성과 변경 용이성의 증진
__하이퍼미디어는 어떻게 도움이 되는가?
__분산 데이터의 지원
__하이퍼미디어 워크플로를 통한 확장성 강화
__코레오그래피, 오케스트레이션, 하이퍼미디어 워크플로
__요약

3장 하이퍼미디어 설계
3.1 기존 미디어 타입과의 상호운용성 만들기
3.2 정형 미디어 타입과의 향후 호환성 보장
3.3 게시된 어휘를 통해 도메인 세부 정보 공유하기
3.4 의미 프로필로 문제 공간 기술
3.5 임베디드 하이퍼미디어를 통한 런타임에서의 액션 표현
3.6 멱등성을 통한 일관성 있는 데이터 작성 설계
3.7 서비스 간 상태 전송으로 상호운용성 활성화
3.8 반복 가능한 액션을 위한 설계
3.9 가역 액션을 위한 설계
3.10 확장 가능한 메시지 설계
3.11 수정 가능한 인터페이스 설계

4장 하이퍼미디어 클라이언트
4.1 하드코딩 URL 사용의 제한
4.2 HTTP를 인식하도록 클라이언트 코딩하기
4.3 메시지 중심 수행의 탄력적인 클라이언트 만들기
4.4 어휘 프로필을 이해하기 위한 효율적인 클라이언트 만들기
4.5 런타임 시 프로필 지원을 위한 상호확인
4.6 런타임 시 표현 포맷 관리
4.7 메시지 메타데이터 소스로써의 스키마 도큐먼트 사용
4.8 응답의 모든 중요 요소에는 식별자가 필요하다
4.9 응답에서 하이퍼미디어 컨트롤에의 의존
4.10 비하이퍼미디어 서비스를 위한 링크와 폼의 지원
4.11 런타임에서 데이터 속성 검증
4.12 전송 메시지의 검증을 위한 도큐먼트 스키마의 사용
4.13 수신 메시지 검증을 위한 도큐먼트 쿼리의 사용
4.14 수신 데이터의 검증
4.15 자체 상태 관리 유지
4.16 목표 설정

5장 하이퍼미디어 서비스
5.1 최소 하나 이상의 고정 URL 게시
5.2 내부 모델 노출 방지
5.3 내부 모델을 외부 메시지로 변환하기
5.4 내부 기능을 외부 액션처럼 표현하기
5.5 클라이언트 응답 설정에 대한 게시 지원
5.6 HTTP의 콘텐츠 상호확인 지원
5.7 클라이언트 프로그램을 위한 전체 어휘 게시
5.8 표준 포맷에 맞는 공유 어휘 지원
5.9 서비스 정의 도큐먼트의 발행
5.10 API 메타데이터의 발행
5.11 서비스 상태 모니터링 지원
5.12 오류 리포트의 표준화
5.13 런타임 서비스 레지스트리를 통한 서비스의 회복성 개선
5.14 클라이언트 지원 식별자를 통한 처리량 증가
5.15 멱등성 생성을 통한 신뢰성 향상
5.16 종속 서비스에 대한 런타임 대체 제공
5.17 의미적 프록시를 사용한 비규격 서비스로의 액세스

6장 분산 데이터
6.1 내부 데이터 스토리지 은닉
6.2 모든 변경에 멱등성 부여
6.3 외부 액션에 대한 데이터 연관관계 감추기
6.4 HTTP URL을 활용한 Contains 및 AND 쿼리
6.5 쿼리 응답을 위한 메타데이터 반환
6.6 데이터 중심 쿼리를 위한 HTTP 200 VS HTTP 400
6.7 데이터 쿼리를 위한 미디어 타입 사용
6.8 알 수 없는 데이터 필드 무시하기
6.9 캐싱 지시문으로 성능 개선하기
6.10 프로덕션에서의 데이터 모델 수정
6.11 원격 데이터 저장소 확장
6.12 대규모 응답의 제한
6.13 데이터 통신을 위한 패스 스루의 사용

7장 하이퍼미디어 워크플로
7.1 워크플로 호환 서비스 설계
7.2 워크플로를 위한 공유 상태 지원
7.3 코드로 워크플로 기술하기
7.4 도메인 특화 언어로 워크플로 기술하기
7.5 도큐먼트로 워크플로 기술하기
7.6 RESTful 작업 제어 언어 지원
7.7 워크플로에 대한 진행 상태 리소스의 공개
7.8 관련된 모든 액션의 반환
7.9 가장 최근에 사용된 리소스의 반환
7.10 ‘워크 인 프로그레스’ 상태 유지 작업 지원
7.11 표준 목록 탐색 사용
7.12 부분 양식 제출 지원
7.13 상태 감시를 사용한 클라이언트 중심 워크플로 활성화
7.14 쿼리의 저장 기능으로 쿼리 최적화 수행
7.15 ‘202 Accepted’를 사용한 미완료 작업에 대한 동기식 회신
7.16 자동 재시도를 통한 빠른 오류 대응
7.17 로컬 실행 취소 및 롤백의 지원
7.18 지원 요청
7.19 쿼리와 클러스터로 워크플로 확장하기
7.20 워크플로 프록시로 비규격 서비스 등록하기

8장 마무리
__레시피의 적용
__기존 서비스의 전환
__참조할 수 있는 관련 자료
__다음 단계는?

부록 A RESTful Web API의 가이드 원칙

부록 B 추가 읽을거리

부록 C 관련 표준
__RESTful Web API를 위한 실행 가능한 등록된 미디어 타입
__API 정의 포맷
__의미 프로필 도큐먼트 포맷
__하이퍼미디어 지원 타입

부록 D HyperCLI 사용하기
__Hello Hyper!
__다른 정보
__HyperCLI 명령어

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.