OpenAPI
OpenAPI는 Application Programming Interface, 즉 API가 오픈되었다는 의미입니다. OpenAPI는 웹사이트의 정보와 서비스 기능을 API를 통해 직접 접근할 수 있도록 합니다. 웹사이트 상호간 또는 웹사이트와 애플리케이션이 서로 연동될 수 있도록 하기 위한 것으로서 Web 2.0 트렌드의 가장 중요한 기술 중에 하나입니다.
즉, OpenAPI를 사용하면 우리는 다른 웹사이트로부터의 서비스를 Outsourcing해서 사용할 수 있습니다. OpenAPI를 사용할 수 있도록 하는 기술적 방법의 대표적인 것은 JavaScript와 같은 웹애플리케이션 구현 언어를 사용하는 Language API, SOAP RPC를 사용하는 방법, REST 기술을 사용합니다.
OpenAPI의 대표적인 예로는 Google Maps API, Amazon.com OpenAPI, Facebook API, Naver OpenAPI 등이 있습니다.
OpenAPI Driectory
웹에서 접근 가능한 Open API는 ProgrammableWeb.com이라는 사이트에서 쉽게 찾을 수 있습니다. 스크린샷이 ProgrammableWeb.com의 모습을 보여주고 있습니다.
커버 페이지에 Google Maps, Twitter, YouTube 등 사람들이 가장 많이 사용을 하는 OpenAPI가 나열되어 있는 모습을 볼 수 있습니다. 그리고 특정 API 이름을 클릭하면 그 API에 대한 상세한 명세를 확인할 수 있습니다.
Example : Google Maps
예를 들어 Google Maps API를 클릭하면 이것에 대한 상세한 설명이 나옵니다. 보시는 스크린샷과 같이 서비스 요청을 보낼 API Endpoint 주소가 어디인지, 그리고 API의 상세 명세와 사용법 등을 제공하는 포털의 주소가 무엇인지 등에 대해서 정보를 얻을 수 있습니다. 그리고 실제 Google Maps API 포털에 가서 보면, Google Maps에서 제공하는 API의 상세한 명세를 볼 수 있습니다.
이 예에서는 JavaScript를 위한 API 명세를 보여주고 있는데요. 지도를 생성해서 크라우저를 통해서 보여주기 위해서 Map이라는 Class와 지도 Object에서 사용할 수 있는 Method가 상세 인터페이스 명세, 즉 입력 Parameter가 어떤 것들인지, Return Value가 어떤 것들인지에 대해서 상세한 명세와 함께 나열이 되어 있습니다. 이러한 인터페이스 명세를 통해서 이 API를 구체적으로 어떻게 사용해서 애플리케이션을 개발할 수 있는지 이해할 수 있습니다.
Google Maps의 JavaScript API를 사용하여 지도의 특정 위치에 Marker를 보여주는 샘플 프로그램입니다. HTML 코드 내에 Google 지도를 보여주기 위한 JavaScript Code가 들어 있는 것을 확인할 수 있습니다. Google Maps API를 사용하기 위한 JavaScript 소스코드를 로드합니다.
이것을 하기 위해서 HTML script 태그 내에 소스 코드 주소가 지정되어 있는 것을 확인할 수 있습니다. 또한 여기서 “API_KEY”라고 되어 있는 부분이 있습니다. 여기는 Google로부터 API 접근 승인키를 명시를 해야 합니다.
이렇게 한 이후에 지도를 웹페이지 상에 보여주는 메인 함수인 initiMap Function을 정의합니다. 지도 중앙에 해당하는 위치 값을 위도/경도 값으로 정의합니다. 그리고 Google Maps API에서 제공하는 Map이라는 클래스가 있습니다.
이것을 사용해서 지도 Object를 생성합니다. 그것을 어떠한 Zooming Level로 보여줄지 지정을 해서 그 중앙의 위경도 값에 해당하는 것을 설정합니다. 이렇게 하고 나면 Google Maps API에서 제공하는 Marker 클래스를 사용해서 그 지도 위에 보여줄 Marker Object을 생성합니다. 이 Marker가 위치할 위경도 값도 설정을 하게 됩니다.
그리고 또한 이 Marker의 제목 값도 지정할 수가 있습니다. 이렇게 Google Maps API를 호출하는 JavaScript 코드를 작성한 이후에 웹브라우저 상에서 실행시키면 여기 보시는 것과 같이 지도가 생성돼서 그 위에 Marker가 보이게 됩니다.
호주 전체가 보이고 그 중간에 Marker가 나타나 있는 모습을 확인할 수 있습니다. Google Maps와 같이 서비스 API 뿐만 아니라 데이터를 접근해서 사용할 수 있는 데이터 API들도 웹에서 많이 제공하고 있습니다.
최근에는 각 나라별로 공공데이터를 OpenAPI 형태를 사용해서 공개합니다. 이러한 공공데이터를 사용하면 다양한 분석과 애플리케이션 제작을 할 수 있습니다. 이러한 공공데이터 OpenAPI를 통해서 다양한 데이터를 수집하고 그걸 통해서 분석을 수행하고 애플리케이션을 제작하는 데 활용할 수 있습니다.
'SW > 클라우드 서비스 아키텍처' 카테고리의 다른 글
클라우드 컴퓨팅 : 가상 머신을 보호하는 5가지 방법 (0) | 2023.05.15 |
---|---|
SERVICE MASHUPS, MICROSERVICES : 개념, 개요, 설명, 정의 (0) | 2020.06.06 |
클라우드 컴퓨팅 : 개념, 특징, 개요, 설명, 종류 (0) | 2020.06.04 |
REST API 아키텍처 : 개념, 방법, 개요, 설명 (0) | 2020.06.03 |
서비스 기반 아키텍처 스타일 : 방법, 종류, 정의, 개요, 개념 (0) | 2020.06.02 |