본문 바로가기
컴소니/개발

API(Application Programming Interface)란?

by 금소니 2021. 1. 25.
반응형

#145

1. API(Application Programming Interface)란? 

응용 프로그램 프로그래밍 인터페이스, 즉 응용 프로그램 간에 인터페이스를 해주는 역할을 담당하는 것입니다.

처음에 이 개념만 들었을 때 정말 모호하다는 생각이 많이 들었는데요.

 

제 경험에 의해 이해한 방법에 대해서 말씀드리겠습니다.

예를들어 현재 상영중인 영화 목록을 출력하는 프로그램을 만든다고 가정해보겠습니다.

(실제 이 프로그램을 만들면서 API를 접하게 되었습니다.)

상영중인 영화 목록을 출력하는 프로그램을 개발하기 위해서는 영화 목록이 필요합니다.

하지만 가지고 있는 데이터에는 영화 목록이 존재하지 않아 어디선가 영화 목록을 관리하는 곳에서 가져와야 합니다.

다행히 영화진흥위원회에서 오픈 API로 영화목록을 제공하고 있었습니다.

이 API를 통해 원하는 데이터에 대한 요청을 보내면 원하는 데이터를 받을 수 있었습니다.

(그 당시에는 API 용도를 이해하지 못하고 그냥 프로그램을 개발하기 위해 사용만 했었습니다.)

 

다시 이해를 하기 위해 떠올려보니 이 때 만약 API를 제공해주지 않았다면 데이터를 어떻게 가져왔을까?

나는 출력하는 프로그램만 만들었는데 영화 목록까지 관리해야 했다면 프로그램을 개발할 수 있었을까?

라는 고민을 해봤습니다.

 

이러면서 제가 이해한 API는

 

"응용 프로그램을 개발하고자하는데 다른 응용 프로그램을 쉽게 이용할 수 있게 제공하는 인터페이스"

 

였습니다.

 

 

2. API 유형

API 유형에는 총 3가지 유형이 있습니다.

 

1) Private API

 : 비공개형태로 내부 구성원들에게만 사용할 수 있도록 제공하는 API입니다.

 

2) Public API

 : Open API라고 보시면 됩니다. 모두에게 제공되는 API입니다.

 

3) Partner API

 : Private API보다는 공개적이지만 전체 공개가 아닌 기업간에 사용되는 API입니다.

 

3. API 제공 방식

API를 제공 방식은 다양하게 있지만 그 중에서도 가장 많이 사용되는 방식 2가지가 있습니다.

 

1) REST(Representational State Transfer) API

 : REST 아키텍처에서 제공하는 API, REST 아키텍처란 HTTP 프로토콜을 이용하여 자원의 상태값을 주고 받는 형식

  즉, HTTP 프로토콜을 이용하여 자원의 상태값을 주고 받는 형식을 이용한 API

 

REST(Representational State Transfer)란?(feat, RESTful, REST API)

#146 1. REST(Representational State Transfer)란? 분산 하이퍼미디어(자원) 시스템을 위한 소프트웨어 아키텍처의 한 형식으로 자원을 정의하고 자원의 상태나 정보를 전송하는 인터페이스입니다. REST를 구

goldsony.tistory.com

 

2) SOAP(Simple Object Access Protocol)

 : HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜

   SOAP에는 XML을 이용한다는 것이 중요

 

SOAP(Simple Object Access Protocol)란?

#147 1. SOAP(Simple Object Access Protocol)란? HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 교환하는 프로토콜로써 RESTful API와 비슷하게 API를 제공하는데 있어 사용됩니다. SOAP의 메시지 구조는 다..

goldsony.tistory.com

 

위의 이 두가지 방식에 대해서는 하나씩 천천히 공부해도록 하겠습니다.

4. API 사용 방법

제가 사용하였던 Open API, REST API방식으로 설명드리겠습니다.

 

1) 이용할 API 확인

API를 이용하실거라면 어떤 API를 이용할 것인지 확인해봐야겠죠?

기업 내부에서 사용할 경우 각 프로그램별로 제공하는 Private API를 확인해보셔야할 것이고 Open API를 이용하신다면, 제공하는 Open API가 어떤 것들이 있는지 확인해보셔야할 것입니다.

 

저는 우선 영화진흥위원회에서 제공하는 Open API를 이용하고자 합니다.

 

영화진흥위원회 오픈API

제공서비스 영화관입장권통합전산망이 제공하는 오픈API서비스 모음입니다. 사용 가능한 서비스를 확인하고 서비스별 인터페이스 정보를 조회합니다.

www.kobis.or.kr

2) API 키 발급

API의 경우 키를 통하여 사용자를 인증하고 응답을 주고 받습니다.

Open API도 마찬가지로 키가 필요하므로 키를 발급 받습니다.

3) API 방식 선택

영화진흥위원회에서 제공하는 API방식에는 REST 방식과 SOAP방식이 있습니다.

저는 REST 방식을 선택하였습니다.

4) 라이브러리 다운로드

API 방식에 따라 호출 및 응답을 처리하는 라이브러리가 있습니다.

각 플랫폼에 맞게 라이브러리들을 Import 시켜주셔야 이용하실 수 있습니다.

5) 인터페이스 및 요청 방법 확인

요청에 따라 어떤 데이터들을 조회할 수 있는지 확인하신 다음 요청 방법에 따라 요청하시면 원하시는 데이터를 조회하실 수 있습니다.

5) 데이터 활용

각 호출 방법에 알맞게 데이터를 처리하신 후 사용하시면 됩니다.

반응형

댓글