도서상세보기

도서명 웹 API 설계 원칙 : 마이크로서비스 아키텍처로의 효과적인 전환 - 에이콘 소프트웨어 아키텍처
저자 제임스 히긴보텀
출판사 에이콘출판
출판일 2023-12-28
정가 35,000원
ISBN 9791161758046
수량

1부. 웹 API 설계 소개
01장 API 설계 원칙
__웹 API 설계 요소
____비즈니스 관점에서의 기능
____프로덕트 중심 사고
____개발자 경험
__API 설계는 커뮤니케이션
__소프트웨어 설계 원칙 다시 보기
____모듈화
____캡슐화
____높은 응집도와 낮은 결합도
__리소스 기반 API 설계
____리소스는 데이터 모델이 아니다
__리소스는 객체 또는 도메인 모델이 아니다
__리소스 기반 API 메시지 교환
__웹 API 설계 원칙
__요약

02장. API 설계 협업
__API 설계 프로세스를 사용하는 이유
__API 설계 프로세스 안티패턴
____허술한 추상화 안티패턴
____출시 버전마다 변경되는 설계 안티패턴
____과잉 설계 안티패턴
____미사용 API 안티패턴
__API 설계 우선 방법론
__API 설계 우선 방법론에서의 애자일
____애자일 소프트웨어 개발 선언
____API 설계 우선 방법론의 민첩성
__ADDR 프로세스
__API 설계에서 DDD의 역할
__모두가 참여하는 API 설계
__프로세스를 효과적으로 적용
__요약

2부. API 결과에 따른 조정
03장. 디지털 기능 식별
__이해관계자의 의견 수렴
__무엇이 디지털 기능인가?
__수행해야 할 작업에 집중
__작업 스토리가 무엇인가?
__작업 스토리의 구성 요소
__API에 대한 작업 스토리 작성
____방법 1: 문제가 판명된 경우
____방법 2: 원하는 결과를 알 수 있는 경우
____방법 3: 디지털 기능이 식별된 경우
__작업 스토리의 어려움 극복
____도전 1: 너무 상세한 작업 스토리
____도전 2: 기능 중심의 작업 스토리
____도전 3: 추가 사용자 콘텍스트가 필요한 작업 스토리
__작업 스토리 캡처 기술
__실제 API 설계 프로젝트
__작업 스토리 예제
__요약

04장. 액티비티와 단계 캡처
__작업 스토리를 액티비티 및 단계로 확장
◈ 이 책에서 다루는 내용 ◈

◆ 올바른 설계 프로세스를 통해 훌륭한 API 제공
◆ 개발 팀, 고객, 기타 이해관계자로부터 구체적인 결과에 대한 합의 도출
◆ 작업 스토리 작성, EventStorming 수행 및 기능 모델링
◆ 올바른 API를 식별하고 일관된 API 프로파일로 작업을 구성
◆ 각 프로젝트에 가장 적합한 스타일 선택: REST, gRPC, GraphQL 또는 이벤트 기반 비동기 API
◆ 문서 작성자, 테스터, 고객의 피드백을 바탕으로 디자인 개선
◆ API를 마이크로서비스로 분리
◆ 확장 가능한 설계 및 관리 프로세스를 구현해 API 프로그램 완성

◈ 이 책의 대상 독자 ◈

인간을 즐겁게 할 단일 API 또는 일련의 API를 설계하려는 모든 사람을 대상으로 한다. 제품 소유자와 제품 관리자는 팀이 API를 설계하는 데 필요한 요소를 더 깊이 이해할 수 있다. 소프트웨어 아키텍트와 개발자는 소프트웨어 아키텍처의 원리를 적용해 API를 설계하는 방법을 배우면 도움이 된다. 테크니컬 라이터는 API 문서의 명확성에 기여할 뿐만 아니라 API 설계 프로세스 전반에 걸쳐 가치를 추가할 수 있는 방법을 식별할 수 있다. 간단히 말해 『웹 API 설계 원칙』은 개발 또는 비개발 역할에 관계없이 API 설계에 관련된 모든 사람을 위한 것이다.

◈ 이 책의 구성 ◈

API 설계를 위한 일련의 원칙과 프로세스를 간략하게 설명하는 책이다. 이 책에서 다루는 ADDR 프로세스는 개인 및 여러 팀이 API 설계의 복잡성을 탐색하는 데 도움이 되도록 설계했다. 고객의 소리, 수행해야 할 작업, 프로세스 매핑과 같은 개념을 적용해 API 설계에 대한 객관적인 관점을 갖길 권장한다. 『웹 API 설계의 원칙』은 처음부터 새로운 예시를 통해 안내하지만 기존 API에도 사용될 수 있다.
이 책은 요구 사항 단계에서 고객에게 제공할 준비가 된 API 설계에 도달하는 것까지 API 설계의 모든 측면을 다룬다. 또한 개인, 팀 및 API