티스토리 뷰

반응형

서비스 기획자가 개발자와의 커뮤니케이션 중 높은 빈도로 듣게 되는 IT 용어 중 하나가 바로 API 입니다. 뭔가 개발 용어 갖기도 하고 아닌 것 같기도 하고... 어떤 개발자는 API가 필요한 항목이 어떤 것들이 있고, 그에 대한 세부적인 정책을 기획자한테 정하라고 하는데, 도대체 뭘 하라는 건지 당췌 알 수는 없고... 면접에서 API에 대해 아느냐고 묻는데 당황해서 식은 땀만 나오는 상황... 오늘은 API에 대해 이해하기 쉽도록 정리 해볼게요.

 

API는 Application Programming Interface의 약자로, 소프트웨어 간에 상호작용을 위한 인터페이스입니다. 이는 애플리케이션(서비스) 간 데이터의 주고받거나 외부의 다른 서비스를 연동하기 위한 중요한 수단입니다. 또한 서버와 클라이언트(서비스)간에 데이터를 주고 받는 규칙으로 설명되기도 합니다. 이러한 API는 일종의 데이터의 다리 역할을 하며, 데이터를 주고받을 수 있는 창구 역할을 합니다. 예를 들어, 서로 다른 애플리케이션 간의 데이터를 주고받거나, 웹사이트에서 다른 사이트의 데이터를 가져올 때 해당 사이트가 공개형으로 제공하는 Open API를 사용됩니다.

 

이렇게 API를 통해 데이터를 주고받을 때, 데이터의 형식과 규격이 미리 정의 되어 있어야 하는데, API는 RESTful API(Representational State Transfer), SOAP API(Simple Object Access Protocol) 등 다양한 형태가 있으며, 다양한 프로그래밍 언어에서도 사용할 수 있습니다. API는 개발자들이 다른 애플리케이션과 데이터를 손쉽게 연결하고, 빠르게 데이터를 처리할 수 있도록 도와줍니다.

 

[그림.1] 네이버 개발자센터에서 제공하는 Open API

 

API의 대표적인 사례 중 하나는 구글이나 네이버에서 제공하는 지도 서비스에서의 위치 정보입니다. 예를 들어, 애플리케이션을 사용하는 사용자가 위치 정보를 입력하면, 해당 위치 정보를 지도 서비스에서 가져와 지도에 표시합니다. 이때, 애플리케이션은 지도 서비스의 API를 호출하며, API는 위치 정보에 해당하는 지도 이미지를 제공합니다. 또 다른 사례로는 소셜 미디어 API가 있습니다. 이를 통해 개발자는 소셜 미디어의 데이터를 사용하여 자신의 애플리케이션에서 소셜 미디어와 상호작용할 수 있습니다.

 

예를 들어, 개발자는 소셜미디어에서 제공하는 API를 사용하여 사용자의 프로필 정보나 피드를 가져오거나, 소셜미디어의 API를 사용하여 작성자의 피드를 가져오는 등의 작업을 수행할 수 있습니다. 또한, API는 e-커머스 사이트에서의 결제 처리에도 사용됩니다. 이를 통해 다른 사이트에서 제공하는 결제 API를 이용하여 손쉽게 결제 처리를 할 수 있습니다. API는 다양한 서비스 간의 연동을 위해 사용되며, 다양한 기술 스택에서 지원됩니다. API를 통해 서로 다른 애플리케이션 간에 데이터를 주고받을 수 있으며, 이를 통해 서비스의 품질을 향상시키고 효율적으로 데이터를 처리할 수 있습니다.

 

[그림.2] 공공데이터 포털(https://www.data.go.kr/index.do)에서 제공하는 날씨관련 Open API

 

API에 대한 대략적인 개념은 이러한데, 아직 감이 안잡히시는 기획자 분들을 위해 API를 어떻게 활용해야 할 지 사례로 설명해볼게요. 여러분들이 회원가입 서비스를 만들어야 한다고 가정해봅시다. 일반적으로 회원이 서비스에 가입할 때, 가입 페이지에서 여러가지 고객 정보를 입력하게 될텐데, 가입 정보를 입력하는 영역을 일컬어 애플리케이션으로 정의합니다. 서버와 애플리케이션 간에는 이런 규칙이 정의 될 겁니다.

 

"회원 가입 시 고객이 입력하는 정보는 "ID, Password, Name, e-mail"이 있어. ID 입력을 완료한 후 ID 중복확인 버튼을 클릭했을 때, 회원 DB에 저장된 기존 ID와 중복되는지 체크해야지. 정보 입력이 완료된 후 가입하기 버튼을 클릭하는 순간 정합성 여부 판단 후 문제가 없을 때 해당 회원 데이터는 회원 DB의 회원 테이블에 저장이 될거야."

 

위의 정의를 기준으로 보면 회원 정보 입력 페이지에서 애플리케이션에서 서버(회원 DB)로 보내는 API가 1개 있는 거고, 서버에서 애플리케이션으로 보내는 API가 1개 있는 겁니다. 어때요? 이해가 되셨나요? API라는 건 꼭 외부에서 제공하거나 외부로 제공하는 Open API만 있는 것은 아니며, 내부 서비스 간에 데이터를 주고 받는 외부에 공개되지 않는 내부 API도 있습니다. 위의 내용이 어렵다면 이거 하나만 기억하세요. API란 서버와 클라이언트 간에 데이터를 주고 받는 규칙이다! 쉽죠?


야메군, Web, Mobile, Digital 카테고리 SME(Subject Matter Expert). 서비스기획 21년차로 네이버 웹/모바일 기획자 커뮤니티 "웹(WWW)를 만드는 사람들"에서 운영진으로 활동했으며, 딴지일보를 시작으로 아이러브스쿨, 짱공유닷컴, YES24를 거쳐 IT 원천기술 연구소 "Valhalla Lab"에서 Pattern recognition과 Machine learning 기반의 Natural language processing를 기반으로 하는 기술의 상업적 이용방법에 대한 연구를 수행. 최근 스타트업계로 이직하여 반려동물과 온라인 피트니스 분야를 경험했고 현재 자율주행 도메인을 거쳐, 현재 SaaS 기반의 APM Monitoring 도메인에서 유일한 기획자로 재직 중. 2016년 7월, 웹/모바일 기획자의 업무능력 향상을 위한 서적, "처음부터 다시 배우는 웹 기획(정재용, 최준호, 조영수 공저)" 출간.

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday