공공 데이터와 활용 방법론 - krnet yun @channyun daum developers network & affiliates...

53
Channy Yun @channyun Daum Developers Network & Affiliates http://dna.daum.net 공공 데이터와 활용 방법론 오픈 API 기술 동향

Upload: truonghanh

Post on 19-Apr-2018

222 views

Category:

Documents


4 download

TRANSCRIPT

Channy Yun @channyun

Daum Developers Network & Affiliates

http://dna.daum.net

공공 데이터와 활용 방법론 – 오픈 API 기술 및 동향

강의 내용

2

• 개괄 – 본 강의에서는 공공 데이터를 포함하여 개방형 데이터 API 플랫폼에 대한 개괄과 표준 기술 현황, 매쉬업 사례 등을 알아본다.

• 주요 목차 – 웹2.0과 공공 데이터 공유 개념이 성장 – Gov 2.0와 해외 공공 데이터 공유 및 활용 사례 – 공공 데이터를 제공하는 기술적 관점

• 원본 데이터(Raw Data), 데이터 API및 링크드 데이터 관리 방법 • 오픈 API 설계 및 활용 방법 • 오픈 API 산업의 현재 기술 동향

– 국내 공공 데이터 개방의 현실과 보완 방안

3

웹2.0 - Web as a Platform

• Definition • I'm talking about the emergence of what I've started to call Web

2.0, the internet as platform.... it's about the way that web sites like eBay, Amazon, and Google are becoming platforms with rich add-on developer communities; it's about the way that network effects and data, rather than software APIs, are the new tools of customer lock-in; http://www.oreillynet.com/pub/wlg/5630 Tim O'Reilly Sep. 21, 2004

• Web 2.0 design patterns"- architecting systems so that they get smarter the more people use them, monetizing the long tail via a combination of customer-self service and algorithmic management, lightweight business models made possible by cooperating internet services and data syndication, data as the "intel inside", and so on.

• 플랫폼으로서 웹 – 웹이 소프트웨어 플랫폼처럼 스스로 자생하고 생존하는 시스템으로 진화 하고 있다.

– 데이터를 기반으로 Open API를 통해 개발자 커뮤니티를 생성하며 가벼운 비즈니스 모델로 모든 이용자들이 혜택을 받고 있다.

웹 2.0의 주요 뿌리

4

• 오픈 소스 – 참여를 통한 소프트웨어 개발 방식 – 품질 높은 소프트웨어와 저렴하고 빠른 서비스 개발 가능 – 성공 사례: Linux, Apache, Firefox, Wordpress

• 오픈 스탠다드

– 서비스와 데이터를 다룰 수 있는 각종 데이터 포맷 – 개발 플랫폼과 독립적인 정보 및 애플리케이션 구성 – 빠른 기술 습득 및 저렴한 학습 비용

• 오픈 API

– 특정 개발 환경에 종속적이지 않는 인터페이스 제공 – 손쉬운 접근 및 매쉬업을 통한 창의적 앱 개발 가능성

5

웹2.0과 Open API의 출현

<웹 2.0에서 소셜웹까지>

JVM Platform Web

Java API Interface HTTP, JSON, OAUTH

Java Application Software Data

Developer Participators User

API Lock-in Key Factor Data Lock-in

폐쇄 플랫폼 vs. 개방 플랫폼

폐쇄된 API를 가진 버추얼 머신

Platform 개방된 API를 가진

웹 서비스

독자적/폐쇄형 API 개방형/표준형

학습 비용 등 진입이 어려움

Costs 빠르고 쉽게 개발 및

서비스 가능

기능 위주 Lock-in 데이터 위주

각 플랫폼 기반 개발자

Developers 웹 서비스 기반

개발자

.Net Java

Examples Google Amazon

OS Web Social Mobile Internet

Dot-Com Bubble

Web 2.0 Social Graph

Cloud

Open Web Google, Amazon, Ebay

Social facebook, Twitter

Cloud AWS, Hadoop

Social Graph

Mobile iOS, Android

Closed Unix, Windows, Java

Software

Open Source GNU, Linux, Apache

Rich Internet Flash, Silverlight

시대별 플랫폼의 변화

죽은 플랫폼의 교훈

• Cost of ownership • Conflicting revenue model • Lack of network effects • High adoption barriers

9

Gov 2.0 – 정부를 위한 웹 2.0

• Definition • Gov 2.0 or Government 2.0 refers to government policies that

aim to harness collaborative technologies to create an open-source computing platform in which government, citizens, and innovative companies can improve transparency and efficiency. Put simply, Gov 2.0 is about "putting government in the hands of citizens".

• Gov 2.0 combines Web 2.0 fundamentals with e-government and increases citizen participation by using open-source platforms, which allow citizens and innovative companies to develop apps, websites, widgets. The government’s role is to provide open data, web services, and platforms as an infrastructure.

• 플랫폼으로서 정부 – 정부가 시민의 참여를 보장하는 효율적이고 투명한 플랫폼의 역할을 함으로서 혁신 지속

– 오픈 소스, 오픈 데이터를 기반으로 지속 가능한 대민 서비스를 제공

10

시민 참여의 증가

11

Gov 2.0의 주요 개념

“ No! Give us tools, and we can do it ourselves ” by Tim O’Reilly

12

Data.Gov

13

Data.gov.uk

공공정보 (Public Sector Information)

공공콘텐츠 (Public Contents)

기상데이터 등 공공부문의 기능과 밀접하게 연관된 자료 지속적으로 생산되면, 애플리케이션으로의 변환과 이용이 용이 재활용에 의한 가치창출

공공 부문이 보유하고 있는 예술작품 등 정부의 기능과 직접적으로 연관이 없는 문화, 지식 콘텐츠 Open Access, Remix

공공 데이터 정의

소수의 사업자에 대한 이용허락

정부에 의한 직접 서비스

공중 이용허락 (Public License)

혁신 가능성 유연성 신속성 효율성 가격

예산절감

공공 데이터 생태계

15

• Opened Data: 데이터 투명성, 라이선스 • Keep-connected: 서비스 신뢰성, 안정성 • Easy-to-Use: 이용 편의성

16

팀 버너스리의 공공 데이터 개방 5단계

17

데이터 제공 포맷 비교

원본 데이터 오픈 API 링크드데이터

주요 기술 TXT, XLS, PDF XML, JSON RDF, SPARQL

데이터 형식 정적 동적 정적 및 동적

데이터 투명성 높음 중간 높음

서비스 안정성 낮음 높음 중간

개발 용이성 낮음 높음 중간

사업적 활용성 낮음 높음 중간

http://api.twitter.com/1/statuses/show/99.json

오픈 API란?

"created_at": "Wed Mar 22 03:38:41 +0000 2006", "id": 99, "id_str": "99", "text": "learning about the earthquake I felt earlier today", "source": "web", "user": { "id": 13, "name": "Biz Stone", "screen_name": "biz", "location": "San Francisco, CA", "description": "Co-founder of Twitter, Inc.", "url": "http://t.co/bdlNWgB" } }

오픈 API 주요 기술

왜 오픈 API를?

• 프로그래밍은 결국 API 디자인 – 좋은 코드는 Module화 되어 있고, 각 모듈은 API로 구성되어 있다.

• 좋은 API는 높은 재사용성 제공 – API 사용자가 생기면 변경하기가 어려우며, 처음 부터 설계에 노력을 들이게 된다.

• 외부 개발자와의 협업이 가능 – 일반 기업에서 개발자는 외롭다. 하지만 API를 오픈하면 밖에도 내 편을 만들 수 있다.

오픈 API 활용법

21

• 가치 있는 서비스 제공 – 개발자 및 서드파티에 유용한 플랫폼 혹은 데이터 – 명확한 대상과 필수 기능 제공

• 비즈니스 모델 필요

– 무료로 제공하더라도 도움이 되는 비즈 모델 필요 – 제휴 업체나 개발자가 수익화할 수 있도록 지원

• 쉽게 사용할 수 있는 기술

– 초보 개발자들이 바로 따라 할 수 있는 방법 – 다양한 라이브러리 및 기술지원

• 외부 개발자 지원

– 지속 가능하다는 신뢰와 소통 채널 구축

1. 가치 있는 서비스 제공

• 비싼 플랫폼을 값싸게 대여 • API 서비스는 핵심이 아니라 부가 기능

<훈장마을의 로드뷰 API 사용>

23

http://tvpot.daum.net/v/ve789DBrdDsVVuurDoVeudr

<인트로의 음성인식 API 사용 예>

UNEXPCTED USECASE

24

2. 제공자와 상생 모델

(1) Free (4) Indirect Content Acquisition Content Syndication API as SaaS service Intenal API use case

(2) Developer Pays Pay as You Go Tiered Pricing Freemium Unit-based Pricing Transaction Fee

(3) Developer Gets Paid Affiliate Revenue Share CPA CPC

<다양한 API 비즈니스 모델>

25

<에버랜드 지도앱 사용 예>

DATA ACQUSITION

26

<코리아닷컴의 클릭스 사용 예>

REVENUE SHARE

27

INTERNAL APIS

28

3. 쉽게 사용할 수 있는 기술

<SOAP와 REST의 비용>

API 설계 및 서비스 시 유의 사항

• 1. 객체 표현 POST /photos/create POST /photos/show/foobar POST /photos/update/foobar POST /photos/delete/foobar

• 2. 호환성 http://apis.daum.net/maps/v1/js http://apis.daum.net/maps/v2/js

• 3. 에러처리 <apierror> <code>404</code> <message>App 인증 실패</message> <dcode>22</dcode> <dmessage>등록되지 않은 apikey 입니다.</dmessage> </apierror>

29

• 4. 거의 단일 포맷 (JSON) { 'person' : { 'name': '...', 'age' : 22, 'dogs' : [...] } }

자바스크립트 개발자를 위한 Callback 함수 지원 필수

• 5. 보안 강화? – APIKey와 트래픽 제어가 필수는 아니다!

– 사용자 데이터는 oAuth 이용 – 암호화 제공은 선택 사항

• 6. 문서화 – 레퍼런스, 변경기록, 코드샘플 및 코드 놀이터

• 7. 기술 지원 – 오픈소스 개발방법 : 이슈트래커, 포럼, gitHub

• 8. 개발자 만나기 – Hackerton, DevDay, CodeJam, DevConference

31

오픈 API 플랫폼 시장 성장

<다양한 서드파티의 등장>

33

글로벌 오픈 API 산업 성장세

<최근 글로벌 API의 성장세가 매우 빠르다!>

34

해외 오픈 API 관련 행사

<명실상부 API 산업으로 자리매김 중…>

35

4. 외부 개발자 지원

Daum 개발자 네트워크

36

300 million per month

7000 api keys per day

38 <Daum 지속 가능성 보고서 2013>

Trust

39

2014년 API 산업 기술 동향

40

• 1. API 성장세 지속 – 프로그래머블웹닷컴 오픈 API 갯수 1만개 돌파 및 인터널 및 B2B API 증가세 지속

– 공개:비공개 비율이 1:9임을 감안하면 총 10~20만개의 API 존재 추정

• 2. API 산업 주류 편입

– 일반 IT 기업 뿐만 아니라 스포츠웨어, 소매상, 제조업, 건설사에서도 채택 지속

– 사례집: http://www.3scale.net/api-economy/ebooks/winning-in-the-api-economy/

• 3. API 저작권 이슈

– * API 스펙 및 데이터 재사용 권한에 대한 이슈 점화 중 (오라클 vs 구글 자바 케이스)

– * API 스펙 재사용 및 공용 저작권 노력 지속 예) http://www.apicommons.org/

41

42

• 4. 서비스 기술 방식 정교화 – 기존의 REST API에서 좀 더 효율적인 머신 리더블 파싱 방식 적용 – 예) Swagger, Blueprint, RAML 및 API 검색 엔진

• 5. API 조합 서비스 제공자 증가

– API를 합쳐서 하나의 싱글 포인트로 제공하는 조합 서비스 증가 – 예) http://segment.io https://www.zypr.net/

• 6. API 개발자 도구 성장

– Mashery, Apigee 같은 API 개발자 도구 제공사 이외 신규 업체 진입 – 예) https://www.runscope.com/ http://www.apiscience.com/

Swagger - 효율적 API 설계 및 개발

43

• 개념 – A specification and complete framework implementation for

describing, producing, consuming, and visualizing RESTful web services.

• 주요 특징

http://developers.helloreverb.com/swagger/

44

RESTful API Modeling Language http://raml.org

45

• 7. API 기반 싱글 페이지 기반의 웹앱 확산 – http://angularjs.org 및 http://famo.us 등 HTML5 기반의 싱글 페이지 웹앱이 주도할 것

– 참고글: http://www.3scale.net/2012/12/the-death-of-the-web-page/

• 8. 하이퍼미디어 API 채택 가속화

– 정적 URI에 쿼리를 던지는 기존 방식과 달리, 결과에 데이터 링크를 제공함으로서 API 탐색 가능

– 아이디어 스펙: • http://stateless.co/hal_specification.html • http://docs.aws.amazon.com/appstream/latest/developerguide/rest-

api.html • http://publicmediaplatform.org/

• 9. 공공 시민 데이터 활성화 – 정부 및 지자체 중심의 시민 공유 데이터 활성화 지속 예상 – 예) http://open311.org/ 및 http://citysdk.eu/

http://cityprotocol.org/

국내 공공 데이터 개방 현황

46

• 정부 3.0 전략 – 공공데이터법 시행 <공공데이터의 제공 및 이용활성화에 관합 법률

(7.30 공포, 시행 10.31)> – 2017년까지 5개년에 걸쳐 6,075종 추가 개방으로 3,395종(16.1%) ->

9,470종(44.9%) – 개방효과 극대화를 위한 선택과 집중 전략 - 파급효과 등 토대로 전략분야 선정

Gov 3.0? made in Korea

47

• 공공정보를 적극 개방▪공유, 부처간 칸막이를 없애 소통▪협력함으로써

• 국정과제에 대한 추진동력을 확보하고 국민 맞춤형 서비스를 제공함과 동시에

• 일자리 창출과 창조경제를 지원하는 새로운 정부운영 패러다임

선언적 공개가 아닌 구체적 실현

이용에 대한 실질적 가이드라인의 구축

공개 담당자 평가 및 성과측정의 방식 전환

자유로운 mash-up의 적극적 유도

공공부문의 지적 재산권에 대한 원칙적 불행사

상용화에서 자유이용으로

정보보호, 보안 이슈 등에 관한 의식 전환

신뢰성, 최신성, 지속성의 확보를 위한 적극적 지원

표준화, 오픈 API, 데이터의 질에 집중

공공 데이터 활용 시각 변화

출처: 윤종수, Government 2.0 현황 및 전망 48

무엇이 더 필요한가?

49

• 데이터의 표준화 및 개발 용이성 확대 • 데이터의 지속성 및 신뢰성 있는 서비스 • 부처별 게이트웨이 역할에서 민간 사업자와의 협업

– 데이터 이전을 통한 트래픽 분산 – 다양한 매쉬업 사례 발굴

50

Daum 기상 센서 API 서비스

http://sensorql.labs.daum.net

51

Daum-KISA 주관 매쉬업 경진대회

http://mashupkorea.org

52

시민 참여 프로젝트

http://www.scribd.com/doc/63548697/%EC%B0%B8%EC%97%AC%EC%99%80-%EC%86%8C%ED%86%B5%EC%9D%98-%EC%A0%95%EB%B6%802-0-%ED%98%B8%EC%A3%BC-%EC%A0%95%EB%B6%802-0-%ED%83%9C%EC%8A%A4%ED%81%AC%ED%8F%AC%EC%8A%A4-%EB%B3%B4%EA%B3%A0%EC%84%9C

감사합니다

53