알기쉬운 IT 용어: API

advanced concept

API는 Application Programming Interface의 약자입니다.

개념

  • 어플리케이션(Application)은 프로그램을 의미합니다. 한글, 엑셀, 파워포인트 같은 프로그램들을 어플리케이션이라고도 부릅니다.
    • 스마트폰에서 작동하는 프로그램을 흔히 ‘앱(App)’이라고 부르는데, 이 용어는 Application의 앞 세 글자를 따온 것입니다.
  • 프로그래밍 인터페이스(Programming Interface)는 프로그램이 서로 상호작용을 하기 위한 수단입니다.

  • 즉, API는 서로 다른 프로그램이 데이터를 주고 받을 때 사용하는 수단입니다.

작동 방식

  • API는 작동방식은 ‘호출’과 ‘응답’으로 설명할 수 있습니다.
    • (호출) 프로그램 A가 가지고 있는 데이터가 필요한 프로그램 B는 프로그램 A의 API를 호출합니다.
    • (응답) 프로그램 A는 프로그램 B의 호출을 받고, 사전에 약속한 데이터를 전송합니다.
  • API 호출은 특정한 형식으로 해야합니다. 규칙에 맞지 않는 API 호출에는 응답하지 않게 됩니다.

API의 장단점

  • API의 장점
    • 한번 만들어두면 굉장히 많은 프로그램들이 API를 사용할 수 있습니다. 즉, 연결할 대상이 많은 상황에서 API는 좋은 선택이 됩니다.
    • 또한, API 호출시에 ID나 인증키를 입력하도록 하면 보안을 쉽게 유지할 수 있습니다.
  • API의 단점
    • API의 설계, 구현, 테스트에는 꽤 오랜 시간이 소요됩니다. 충분한 준비기간이 없다면 API는 좋은 선택이 아닙니다.
    • 설계방식에 따라 다르지만, 대용량의 데이터 전송에는 적합하지 않은 경우가 많습니다. 소수의 프로그램과 지속적으로 많은 데이터를 주고 받아야 하는 상황이라면 API는 적합하지 않습니다.

Open API

  • API 중에서 누구나 호출할 수 있도록 만든 API를 Open API라고 부릅니다.
  • Open API는 인증키를 자동발급해서, 간단한 절차만 거치면 인증키로 API를 호출할 수 있도록 하는 방식이 대부분인데, 공공기관과 IT기업에서 이 방식으로 데이터를 공유하는 사례가 많습니다.
  • Open API가 아닌 경우에는 사용기간이나, 호출횟수에 따라 과금을 하는 사례도 있습니다.