14 개방형 도구 - 오픈 API
오픈 API, 어떻게 사용하는 것일까요?
오픈 API 서비스를 제공하는 곳으로 국가지도 브이월드 웹 사이트가 있습니다. 브이월드에서 제공하는 다양한 지도서비스와 인터넷상에 존재하는 정보를 사용자의 창의적인 아이디어로 새로운 지도를 만들 수 있습니다.
예를 들어, 브이월드 지도와 기상청 날씨정보를 융합하여 새로운 지도기반 지역별 날씨 정보를 제공하는 웹사이트를 만들 수 있습니다. 오픈 API를 사용하는 방법은 다음과 같습니다. 먼저 지도를 만들기 위한 오픈 API 인증 키를 요청하여 발급받습니다. 그다음, 오픈 API 활용을 위한 가이드와 예제를 학습합니다. 다음으로 나만의 지도를 2D나 3D로 디자인하고 콘텐츠를 개발합니다. 테스트를 통해 완성도 높은 지도를 만든 후 내 지도를 블로그, 개인 홈페이지에 생성합니다.
이러한 방식으로 다양하고 독특한 지도들이 만들어졌는데, 대표적인 것으로는, 문화재청의 ‘천연기념물 생태지도서비스’와 한국교육개발원의 ‘학교환경위생정화구역 지리정보서비스’가 있습니다. 이번 시간에는 이러한 개방형 도구의 하나인 오픈 API와 그것을 활용할 수 있도록 하는 프로그램 언어인 자바스크립트, 그리고 JSON에 대해 알아보도록 하겠습니다.
오픈 API의 개념
1. 오픈 API란?
오픈 API의 개념
사물인터넷의 방향을 견인하는 중요한 요소들로 사물 객체 응용, 게이트웨이 응용, 기계 학습 응용 서비스와 오픈소스, 클라우드, 사물통신, 디바이스, 데이터 소스와 기술 등이 있습니다. 그중에서 API란, Application Programming Interface의 약자로, 응용 프로그램 프로그래밍 인터페이스라는 뜻입니다.
응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 말합니다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공합니다. 오픈 API란 무엇일까요?
오픈 API란, 서비스 정보, 데이터 등을 언제, 어디서나 누구나 쉽게 이용할 수 있도록 개방된 API를 말합니다. 오픈 API를 이용하여 통신망의 구조 및 기술에 독립적으로 새로운 응용 서비스를 쉽게 개발할 수 있도록 하고 있습니다. 또한, 데이터를 제어할 수 있는 간단하고 직관적인 인터페이스를 제공하기 위해 사용자의 참여를 유도하는 사용자 중심의 비즈니스 모델이라고 할 수 있습니다.
2. 오픈 API의 사용
오픈 API가 어떻게 사용되는지 알아보도록 하겠습니다. 우선, 어떠한 주제에 대해 방대한 데이터를 가진 오픈 플랫폼이 필요합니다. 이 데이터를 사용하여 개발자는 새로운 응용 프로그램이나 새로운 오픈 API를 만들 수 있는데, 이는 사용자 콘텐츠와 결합하여, 사용자는 새로운 서비스를 제공받게 되는 것입니다. 예를 들어, 공간정보를 수집해 놓은 데이터가 있다고 가정해 보겠습니다. 이러한 데이터는 지도 서비스로 제공되는데, 부동산 정보, 교통정보, 날씨 및 생활정보 등의 사용자 콘텐츠와 만나 새로운 서비스로 제공됩니다.
오늘의 핫 이슈! 오늘의 핫 이슈는 오픈 API를 제공하는 웹 사이트들입니다. 네이버, 다음, 구글, 옥션 등 각종 유명 사이트에서는 개발자를 위한 오픈 API를 제공하고 있습니다. 각종 유명 사이트뿐 아니라 국가 공공 기관에서도 오픈 API를 제공하고 있습니다. 또한, 지역 관광 자원, 한국전통소리문화 등에 대한 오픈 API도 제공받을 수 있습니다. 이런 오픈 API를 이용하여 누구나 새로운 애플리케이션을 개발할 수 있습니다.
3. 오픈 API의 구현 기술
오픈 API를 구현하는 기술에는 SOAP, REST, XML, 자바스크립트, JSON 등의 프로그램이 있습니다.
1. SOAP
SOAP는 HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메세지를 컴퓨터 네트워크 상에서 교환하는 프로토콜
웹서비스에서 기본적인 메시지를 전달하는 기반
기본적인 메시지 패턴 : 원격 프로시저 호출 패턴
-> 네트워크 노드(클라이언트)에서 다른 쪽 노드(서버) 쪽으로 메시지를 요청하고 서버는 메시지를 즉시 응답
2. REST
REST는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식
네트워크 아키텍처 원리의 모음: 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반
웹상의 자료를 HTTP 위에서 별도의 전송 계층 없이 전송을 위한 간단한 인터페이스 제공
3. XML
XML은 W3C에서 다른 특수 목적의 마크업 언어를 만드는 용도에서 권장하는 다목적 마크업 언어
인터넷에 연결된 시스템끼리 데이터를 쉽게 주고받을 수 있게 하여 HTML의 한계를 극복할 목적으로 만들어졌다.
문서를 사람과 기계 모두가 읽을 수 있는 형식으로 부호화하는 규칙의 집합을 정의하며,
텍스트 데이터 형식으로 유니코드를 통해 전 세계 언어를 지원한다.
XML 설계는 문서에 집중하지만, 임의의 자료구조를 나타내는 데 널리 쓰임.
4. 자바스크립트 JavaScript
자바 스크립트는 객체 기반의 스크립트 프로그래밍 언어이다.
웹브라우저 내에서 주로 사용하며, 다른 응용프로그램의 내장 객체에도 접근할 수 있는 기능을 가진다.
Node.js 와 같은 런타임 환경과 같이 서버 사이드 네트워크 프로그래밍에도 사용된다.
자바스크립트를 이용한 오픈 API는 데이터와 서비스에 접근할 수 있는 자바스크립트라이브러리 제공
5. JSON
JavaScript Object Notation으로 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법이다.
자료의 종류에는 큰 제한이 없으며, 특히 컴퓨터 프로그램의 변수 값을 표현하는데 적합하다.
형식은 자바스크립트의 구문 형식을 따르지만, 프로그래밍 언어나 플랫폼에 독립적
'사물인터넷' 카테고리의 다른 글
14 개방형 도구 - JSON (0) | 2016.02.10 |
---|---|
14 개방형 도구 - 자바스크립트 (1) | 2016.02.10 |
13 CoAP (1) | 2016.02.07 |
12 MQTT (9) | 2016.02.07 |
11 개방형 플랫폼 - 블루믹스(클라우드 서비스) (0) | 2016.02.02 |