Dev study 정리

API를 사용하는 이유

2dubbing 2017. 7. 23. 16:50

API 란?

  • API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다. (위키백과)
  • Interface는 우리말로 번역하면 접속, 규격, 연결부분  이라는 의미를 가진다.

 

 

API가 없다면?

API 서버를 사용하지 않았을 경우 구조
 

위 구조에서 미세먼지 정보 DB 쪽에 API 가 없을 경우, 

A / B / C 어플리케이션 각각에서 DB 접속정보를 알고 있어야 한다.
만약, 미세먼지 정보 DB 접속정보가 바뀌게 된다면, 
A / B / C 어플리케이션 각각에서도 DB 접속정보를 바꿔줘야 한다.

어플리케이션이 늘어날 수록 관리해줘야 하는게 늘어나게 되므로 효율적이지 못하다.

 
 

API를 사용한다면?

API 서버 사용한 경우 구조

 

미세먼지 정보제공 API 서버가 구축되었으며,

A / B / C 어플리케이션에서는 직접적으로 미세먼지 DB에 접속하지 않게 되었다.

미세먼지 DB에서 발급 해 주는 API 사용 토큰만 있다면 접근이 가능하게 되었다.

만약, DB 접속정보가 바뀌게 되더라도 

어플리케이션 단에서는 이를 알 필요가 없으며,

단지 API 서버측에서 DB 접속정보만 변경하면 된다.

어플리케이션이 늘어나더라도 일일이 관리할 필요가 없게 된다.

 

 

 

 

API를 사용하는 것은 마치 Java에서 Interface를 사용목적과 같다고 생각한다. 

Java에선 Interface를 사용하므로 써 `기능확장에는 열려있고 변경에는 닫혀있는 코드` 를 설계할 수 있으며 개발하게 해준다.