오픈API를 통해 받은 데이터를 자신이 만들고자
하는 서비스에 맞도록 재가공하여 프로그램을 개발할 수 있습니다.
본 가이드라인에서는 오픈API는 무엇이고 오픈API가 사용되어 지는 사례를 알아보고 구현방법 및 제공방법 그리고 최종적으로 2개이상의 오픈API가 융합되는 매쉬업 서비스로의 활용에 대해 알아보겠습니다.
오픈API는 일반적으로 여러 사람들이 공동적으로 사용할 필요가 있는 데이터에 대한 사용을 개방하고 사용자들이 해당 데이터에 대한 전문적인 지식이 없어도 쉽게 가공하여 사용할 수 있도록 데이터를 추상화하여 표준화한 인터페이스를 말합니다.
일반적인 웹검색에 대한 결과는 그 결과에 대한 내용만을 인식할수 있지만 오픈API는 그 결과를 가공하여 자신만의 프로그램개발에 사용할수 있습니다.
오픈API를 통해 받은 XML이나 JSON형태의 데이터를 파싱하여 자신이 구현하고자 하는 프로그램에 맞게 사용이 가능합니다.
기업/공공기관 | 사례 |
---|---|
광고를 위한 AdSense API, 지도서비스를 위한 GoogleMaps API 제공하여 친구찾기,부동산정보 등 300여개의 신규서비스를 창출 | |
Amazon | 이미 10년전부터 개발자 14만명이 아마존의 오픈API를 이용해 상품에 대한 정보를 핸들링하고 있으며 현재 여러가지 사업으로 오픈API를 활용하고 있음 |
eBay | 3만명이 넘는 이베이 개발자, 월간 30억이 넘는 API호출, 47%이상의 상품이 API를 통해 등록되고 있음 |
공공데이터포털 (data.go.kr) |
국민의 선택으로 선정된 '국가중점개방데이터' 36대 분야를 대용량 데이터로 개방 |
개방해 (khoa.go.kr) |
해양공간주제 데이터를 WMTS, WFS, WMS 방식으로 오픈API 서비스 |
브이월드 (vworld.kr) |
공간정보에 대한 데이터를 2D, 3D데이터로 오픈API를 통해 제공함과 동시에 원시데이터도 함께 제공 |
장/단점 | 설명 |
---|---|
장점 |
* 언어, 플랫폼, 통신환경에 중립적 * 분산 컴퓨팅 환경을 다루기 위해 설계 * 웹서비스를 위해 보급된 많은 표준을 사용하여 구현할 수 있음 |
단점 |
* 기본적으로 REST방식보다 무거움 * REST방식보다 표준을 지키기위해 복잡성이 증가함 * REST방식에 비해 개발하기 어려움 |
장/단점 | 설명 |
---|---|
장점 |
* 언어, 플랫폼에 중립적 * SOAP에 비해 개발하기 단순함 * 웹에 가까운 설계와 철학으로 간결함 |
단점 |
* point-to-point 통신 모델에 한해 구현되어 둘 이상을 대상으로 상호작용하는 분산환경에는 유용하지 않음 * 보안, 정책 등에 대한 표준이 없음 * 오직 HTTP 통신 모델에 의존함 |
※ 초기에는 SOAP방식이 많이 사용되었지만 REST방식의 소프트웨어 아키텍쳐 스타일이 제안된 후 SOAP방식의 표준이냐 REST방식의 간결함이냐의 선택에서 REST방식이 선호되고 있습니다.
장/단점 | 설명 |
---|---|
장점 |
* Tag구조로 작성하기 간편함 * 사람이 직접 데이터를 읽기 쉬움 * DTD등 XML자체의 기능을 확장할 여지가 많음 |
단점 |
* Tag의 규정으로 실 데이터 이상의 문서의 양이 많이 필요함 * 배열구조, 반복구조일 경우 불필요한 데이터가 계속 나타남 * 데이터의 파싱이 JSON에 비해 느려짐 |
장/단점 | 설명 |
---|---|
장점 |
* 내용이 함축적으로 최소한의 정보만을 가짐 * XML에 비해 전체 데이터의 용량이 크게 줄고 파싱속도도 빠름 * 구조상 파싱이 매우 간편하고, 객체구조와 배열구조의 조합으로 효율적인 데이터 구성이 가능 |
단점 |
* 내용이 함축적이다 보니 내용의 의미파악이 힘들수 있음 * XML에 비해 적은규격의 데이터 전송엔 적합하지만 대용량의 데이터 송수신엔 부적합함 |
Mashup? 매쉬업이란 '섞는다'의 의미와 '그걸 하나로 만든다' 라는 의미를 가지고 있습니다. 눈치가 빠르신분들은 벌써 아시겠지만 오픈API 서비스들을 여러곳에서 제공받아 그것들을 섞어 하나의 서비스로 만들 수 있습니다.
이미 오래전부터 계속 이슈화되고 사용되고 있는 오픈API에 대해 알아보았습니다. 오픈API는 앞으로도 여러분야에서 다양한 방법으로 제공될것이고 그 결과로 오픈API를 활용한 많은 결과물이 서비스 될거라 생각하고 있습니다.
본 가이드라인을 통해 오픈API에 대한 전반적인 이해에 도움이 되었길 바랍니다.