API란 Application Programming Inerface의 약자로 응용 프로그램에서 해당 기능의 사용이 가능하도록 기능을 제어할 수 있게 만든 인터페이스이다. 우리가 컴퓨터와 소통할 때, 키보드 버튼을 눌러 사용하듯이, 컴퓨터가 컴퓨터와 소통이 가능하도록 만든 것이 API이다. 즉, 응용프로그램 간에 데이터를 주고 받는 방법을 말한다. 이는 각각의 기능들을 가지고 있는 완성된 코드들을 연결시켜준다.
API는 당사자들 간 계약을 나타내는 도큐멘테이션을 갖춘 계약으로 비유되기도 한다. 한쪽 당사자가 특정한 방식으로 구성된 원격 요청을 보내면 다른 쪽 당사자의 소프트웨어가 이에 응답하는 방식이기 때문이다.
API는 서버와 데이터베이스에 대한 출입구 역할을 한다.
API는 애플리케이션과 기기가 원활하게 통신할 수 있도록 한다.
API는 모든 접속을 표준화한다.
프로그램을 제작할 때 유지 보수 및 효율적인 일처리를 위해서 확장성을 고려하여 프로그램을 설계해야한다. 그러기 위해서는
자신의 기능을 독립적으로 수행하고 API를 통해 연결한다면 새로운 기능이 추가돼도 API만 잘 구축되어있다면 손쉽게 추가할 수 있다.
또한 오픈 API를 이용하면 구현 방식을 알지 못하는 제품 또는 서비스와도 통신할 수 있으며 애플리케이션 개발을 간소화하여 시간과 비용을 절약할 수 있다. 새로운 툴과 제품을 설계하거나 기존 툴과 제품을 관리할 때 API를 사용하면 유연성을 높이고 설계, 관리, 사용 방법을 간소화하며 혁신의 기회를 얻을 수 있다.
API는 비지니스를 빠르고 유연하게 변화시킨다.
웹 및 모바일 플랫폼에서 비지니스가 성장하기 위해선 다양한 소프트웨어 프로그램으로 서비스를 전달, 통합 및 연결하는 기능이 필요하다. API는 뛰어난 유연성과 편의성, 안전성 및 제어 기능을 활용해 이러한 작업을 수행할 수 있는 핵심 요소이다. 또한 API는 비즈니스 개발 과정의 새로운 형태로 널리 인식되고 있는 기본 요소이다. 자사에서 개발한 API를 아무나 쓸 수 있게 개방함으로써 그 API를 사용하여 비지니스 모델을 구축한 다른 회사와의 협업이나 일정 금액의 비용을 받을 수 있다. 즉, API를 통해 새로운 비즈니스 모델을 구축하여 이를 수익화를 시킬 수 있는 것이다.
API는 통합이 핵심이다. 이는 데이터, 애플리케이션 및 기기를 IT 조직 전반에서 연결하여 기술 전체가 서로 원활히 통신하고 잘 연동되도록 해준다.
API는 분산형 통합 및 컨테이너와 함께 애자일 통합의 핵심 기능이다.
애자일 통합은 IT 사용 공간을 적게 차지하고, 확장성과 가용성이 뛰어나며, 적절히 정의되고 재사용 가능하며 잘 관리된 엔드포인트가 있는 통합 플랫폼에 대한 아키텍처 접근 방식이다.
직접 만든 홈페이지에 여러가지 기능을 추가하고 싶을 때, 다른 기업의 오픈 API를 사용하여 만들 수 있다.
EX) 기상청의 날시 정보, 카카오의 지도 정보, 알라딘의 도서 정보 등등
많은 기업들이 다양한 오픈 API를 제공한다.
물론 이러한 API는 보안이 생명이다. 아무나 API를 통해 해당 기능의 코드에 접근을 해선 안되기 때문에 주의해야할 사항들이 있다.
API는 리소스에 대한 액세스 범위를 넓히는 동시에 보안과 제어를 유지할 수 있도록 한다. 액세스 권한을 어떻게, 누구에게 제공할지 여부만 결정하면 된다.
API 보안이란 결국 효과적인 API 관리를 의미하며, 여기에는 API 게이트웨이 사용이 포함된다.