API 란?
- API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다. (위키백과)
- Interface는 우리말로 번역하면 접속, 규격, 연결부분 이라는 의미를 가진다.
API가 없다면?
![](https://blog.kakaocdn.net/dn/crcwsw/btqyGGANyfe/73wpDcJAiYUXxkLUoL0CG1/img.png)
위 구조에서 미세먼지 정보 DB 쪽에 API 가 없을 경우,
A / B / C 어플리케이션 각각에서 DB 접속정보를 알고 있어야 한다.
만약, 미세먼지 정보 DB 접속정보가 바뀌게 된다면,
A / B / C 어플리케이션 각각에서도 DB 접속정보를 바꿔줘야 한다.
어플리케이션이 늘어날 수록 관리해줘야 하는게 늘어나게 되므로 효율적이지 못하다.
API를 사용한다면?
미세먼지 정보제공 API 서버가 구축되었으며,
A / B / C 어플리케이션에서는 직접적으로 미세먼지 DB에 접속하지 않게 되었다.
미세먼지 DB에서 발급 해 주는 API 사용 토큰만 있다면 접근이 가능하게 되었다.
만약, DB 접속정보가 바뀌게 되더라도
어플리케이션 단에서는 이를 알 필요가 없으며,
단지 API 서버측에서 DB 접속정보만 변경하면 된다.
어플리케이션이 늘어나더라도 일일이 관리할 필요가 없게 된다.
API를 사용하는 것은 마치 Java에서 Interface를 사용목적과 같다고 생각한다.
Java에선 Interface를 사용하므로 써 `기능확장에는 열려있고 변경에는 닫혀있는 코드` 를 설계할 수 있으며 개발하게 해준다.
'Dev study 정리' 카테고리의 다른 글
[Web] 브라우저가 웹 페이지 리소스를 받아오는 과정 (0) | 2018.08.23 |
---|---|
[javascript] 모듈 사용방식과 번들러 사용 이유 (2) | 2018.05.26 |
Redux란? (2) | 2017.07.08 |
javascript 클로저 코드를 통해 알아보기 (1) | 2017.04.17 |
Web Server 와 WAS(Web Application Server) 차이 (2) | 2017.03.09 |