API
API란 Application Programming Interface의 약자로 일종의 약속을 뜻한다. 응용 프로그램들 간에 데이터를 주고 받는다든지, 호출 할 때 원활하게 전달되고 리턴할 수 있도록, 또는 기능을 원활하게 사용할 수 있도록 인터페이스를 제공하는 것을 의미한다. 즉, 응용 프로그램에서 사용할 수 있도록 운영체제 혹은 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스이다.
API는 쉽게 말해, 식당의 메뉴판과 같다. 고객이 음식을 주문하고 싶다고 해서 주방에 직접 들어가서 주문을 할 수 있을까? 아마 바로 쫓겨나게 될 것이다. 고객은 식당에서 마련한 메뉴판을 보고 원하는 음식을 선택해 주문할 수 있다. API의 역할이 바로 이것이다. 고객과 주방을 이어주는 메뉴판처럼 고객과 서버 사이에 존재하여 각 양방향 통신을 담당하는 역할을 수행하는 인터페이스이다.
우리는 API를 사용할 때 여러 이점들을 얻을 수 있다. API는 표준화가 되어있다. 상호작용시에 특정한 기기나 OS에 종속되도록 구현하지 않기 때문에, 기기나 OS에 상관없이 다양한 프로그래밍 언어로 접근하여 사용할 수 있다. 컴퓨터, TV, 냉장고 등 어떤 가전제품을 만들던지 간에 220V라는 전원 플러그 규격에 맞도록 설계하는 것처럼 모양과 용도는 다를지라도 하나의 공통된 규격은 존재하는 것이다.
이처럼 표준화가 되어있기 때문에 우리는 구현 방식을 자세히는 알지 못해도 제품 혹은 서비스에 커뮤니케이션 할 수 있으며, 개발자 입장에서도 개발을 간소화 시킬 수 있기 때문에 시간이나 비용적인 측면에서도 상당히 절약할 수 있다.
(사진 출처 : https://dejavuhyo.github.io/posts/api-concept-function-advantages/)
API를 이용하면 개발 능력을 갖춘 개인 개발자들이 공공 데이터 및 오픈 데이터를 활용하여 고객이 원하는 정보를 디자인하여 서비스 할 수 있고, 여러가지 비즈니스 기획을 할 수 있다. 요즘은 개인이 마음만 먹으면 개인 웹 혹은 앱을 출시할 수 있는 시대가 되었다. 알맞은 공공데이터를 선택하고 이것을 잘 가공한다면 나만의 비즈니스 모델을 제시할 수 있고 이를 토대로 수익을 창출할 수 있는 플랫폼을 만들어낼 수 있다. 따라서 여러 기업들과 개발자들은 더욱 API를 잘 활용할 수 있는 방안을 모색하고 있다.