1.1 API란 무엇인가?

  • API(Application Programming Interface)
  • 소프트웨어를 사용하기 위한 웹 인터페이스
  • 함수를 통해서 데이터를 입력하고, 또는 출력하는 피드백을 제공
  • Consumer: API를 소비
  • Provider: API를 제공
  • 퍼블릭 API : 외부에 서비스 또는 제품 형태로 제공
  • 프라이빗 API : 특정 consumer에게만 적용 되는 API

    ⇒ API가 누구에게 제공되는지에 따라 퍼블릭, 프라이빗이 나눠짐

1.2 API 디자인이 중요한 이유

  • 결함 있는 API 디자인은 API의 보안 측면 취약성을 야기시킬 수도 있으며, 해당 API를 사용하는 소프트웨어가 들이는 시간과 노력과 비용을 증가시킨다.
  • 새로운 개발자도 이해할 수 있어야 한다.
  • API 의 세부사항에 구애받지않고 API를 사용할 수 있어야 한다.

1.3 API 디자인에 필요한 요소

  • API 디자인을 할 때는 반드시 커스터머의 측면과 프로바이더 측면으로 인터페이스의 두 가지 면을 고려해야한다. ⇒ 프로바이더 측면 : 민감한 데이터나 동작을 컨슈머에게 과도하게 노출해서는 안되며 모든 컨텍스트를 염두에 둬야 한다. ⇒ 커스터머 측면 : 이해하기 쉽고 사용하기 쉬워야한다.