Open API 발표자료 - 김연수

28
1 Open API 스스스 2011-06-03 스스스 : 스스스

description

사내 세미나 - Open API 발표 자료 (2011. 06. 08)

Transcript of Open API 발표자료 - 김연수

Page 1: Open API 발표자료 - 김연수

1

Open API 스터디2011-06-03

발표자 : 김연수

Open API 스터디2011-06-03

발표자 : 김연수

Page 2: Open API 발표자료 - 김연수

2

Contents Table

Ⅰ. Open API 소개

1. Open API 란 ?

2. Open API 서비스 사례

3. 웹 서비스 주요 업체들이 Open API를 지원하는 이유

Ⅱ. Open API 기술

1. 웹 서비스

2. Open API 의 대표적 웹 서비스 방식 : SOAP vs REST

3. Open API 의 대표적 데이터 형식 : XML vs JSON

4. Open API 의 표준 인증 방식 : OAuth

Ⅲ. Open API 활용

1. Open API 의 활용 사례 ( 매쉬업 서비스 )

Page 3: Open API 발표자료 - 김연수

3

Ⅰ. Open API 소개1. Open API 란 ?

2. Open API 서비스 사례3. 웹 서비스 주요 업체들이 Open API 를 지원하는 이유

Page 4: Open API 발표자료 - 김연수

4

1. Open API 란 ?1. Open API 란 ? I. Open API 소개 I. Open API 소개

Open API 란 ?

Open API 는 서비스 , 정보 , 데이터 등 언제 , 어디서나 누구나 쉽게 이용할 수 있도록 개방된 API 를 의미 한다 . 또한 , 통신망의 구조 및 기술에 독립적으로 새로운 응용 서비스를 쉽게 개발할 수 있도록 한다 .Open API 는 데이터를 제어할 수 있는 간단하고 직관적인 인터페이스의 제공을 통해 사용자의 참여를 유도하는 사용자 중심의 비즈니스 모델이다 .

Open API

We-b2.0개방 공유 사용자 참여

Open API 의 장점이자 목적

Page 5: Open API 발표자료 - 김연수

5

1. Open API 란 ?1. Open API 란 ? I. Open API 소개 I. Open API 소개

웹 서비스 연동방식의 장점

• Open API 웹 서비스를 제외한 다른 연동 프로토콜은 대부분 방화벽 문제를 야기한다 ( 대부분의 서버들이 웹 포트 방화벽은 열게 된다 )

방화벽 문제를 회피한다

• 웹 서버 하나만 있으면 서비스가 가능해 복잡한 환경 구성이 필요 없다( 대부분의 서버에는 웹 서버가 구축됨

웹 서버로 해결이 가능하다

• 클라이언트 서버처럼 Tight Couple 된 관계가 아니라서 , HTTP 에서는 컨텐츠 협상을 통해 , 헤더 , MimeType 등의 HTTP 프로토콜의 특성을 그대로 이용할 수 있다 .

HTTP 프로토콜 이용

Open API 같은 웹을 통한 연동 방식을 웹 서비스라 부른다 .

Page 6: Open API 발표자료 - 김연수

6

2. Open API 서비스 사례2. Open API 서비스 사례 I. Open API 소개 I. Open API 소개

Open API 서비스 사례

Page 7: Open API 발표자료 - 김연수

7

2. Open API 서비스 사례2. Open API 서비스 사례 I. Open API 소개 I. Open API 소개

Open API 서비스 사례

카테고리별 Open API 점유율

Page 8: Open API 발표자료 - 김연수

8

3. 웹 서비스 주요 업체들이 Open API 를 지원하는 이유3. 웹 서비스 주요 업체들이 Open API 를 지원하는 이유 I. Open API 소개 I. Open API 소개

웹 서비스 주요 업체들이 Open API 를 지원하는 이유

해외 웹 서비스 주요 기업들의 OPEN API 지원 발표

이베이 익스프레스를 도입하면서 상품과 판매 정보 및 쇼핑 카트 API 를 제공하겠다고 발표

좀 더 쉽게 개발자가 접근 할 수 있도록 SOAP 방식 만을 제공하던 Open API를 SSL 과 서명기능을 첨부한 REST 방식도 제공하겠다고 발표

Open API 지원으로 개발자 우선 정책을 펴기로 함

OPEN API 를 지원하는 이유

주요 웹 서비스 업체들이 자기네 서비스를 공개하면서 외부 개발자들을 유혹하고 있는 이유는 스스로 다하기 보다는 공유로 인한 가치 창출이 크기 때문이다

이베이를 예로 들면 , 이베이 서드 파티들은 파워 셀러를 위한 개별 쇼핑몰이나 상품 등록기를 만들어 줄 수도 있고 , 이베이에서 제공하는 마케팅 자료를 비즈니스 솔루션에 결합하는 프로그램을 개발할 수 있다 .

Page 9: Open API 발표자료 - 김연수

9

I. Open API 소개 I. Open API 소개

• 3 만명이 넘는 이베이 개발자• 월간 30 억을 넘는 API 호출 횟수• 47% 이상의 상품이 API( 서드파티 ) 를

통해 올려진다• 써드파티 툴을 이용하는 사용자가 연간

45% 증가

EBAY 개발자 컨퍼런스 내용

3. 웹 서비스 주요 업체들이 Open API 를 지원하는 이유3. 웹 서비스 주요 업체들이 Open API 를 지원하는 이유

Page 10: Open API 발표자료 - 김연수

10

Ⅱ. Open API 기술1. 웹 서비스2. Open API 의 대표적 웹 서비스 방식 : SOAP vs REST

3. Open API 의 대표적 데이터 형식 : XML vs JSON

4. Open API 의 표준 인증 방식 : OAuth

Page 11: Open API 발표자료 - 김연수

11

Ⅱ. Open API 기술Ⅱ. Open API 기술

웹 서비스

• 기존의 서로 다른 컴퓨터에서 네트워크를 통해 데이터를 주고 받는 통신임에는 동일하다 .• 플랫폼 중립적이다• 웹 서비스는 HTTP 프로토콜을 이용한다 .• 연결을 유지하지 않는다 .• 웹 서버를 통해 서비스 된다 .• 대표적으로 SOAP, REST 방식이 있다 .(SOAP 을 SOA, REST 를 ROA 라고 부른다 )• SOA(Service Oriented Architecture) : 서비스 지향 아키텍처• ROA(Resource Oriented Architecture) : 리소스 지향 아키텍처• 교환하는 데이터 형식으로 XML, JSON 이 있다 . (SOAP 은 XML 이다 )

<SOAP 과 REST 비교 >

Web Service

1. 웹 서비스1. 웹 서비스

Page 12: Open API 발표자료 - 김연수

12

2. Open API 의 대표적 웹 서비스 방식 : SOAP vs REST2. Open API 의 대표적 웹 서비스 방식 : SOAP vs REST Ⅱ. Open API 기술Ⅱ. Open API 기술

Open API 의 대표적 웹 서비스 방식 : SOAP vs

REST

 - 아키텍처 설명 : SOA 구조에 따라 UDDI 레지스트리를 통해 웹서비스를 등록하고 (publish), 탐색하고 (find), 바인딩하여 (bind) 이용 - 프로세스 : 서비스 요청자가 웹서비스 요청을 SOAP 으로 인코딩하여 서비스 제공자에게 전달하면 , 서비스 제공자는 이를 디코딩하여 적절한 서비스 로직을 통하여 결과를 얻고 , 그 결과를 다시 SOAP 인코딩하여 서비스 요청자에게 반환 . - 태동 : 기업의 비즈니스 환경에서 응용 서비스 간 상호 운용을 위해 출발함 - 기반 사상 : 서비스를 제공하고 이용하는 프로그램들이 ( 기계 ) 잘 이해할 수 있도록 엄격한 문법에 따라 개발됨 . 그래서 스펙을 알아야 구현이 가능하여 고난이도 프로그래밍이 필요 - 적용 기술 : 전달매커니즘 (Remote Procedure Call), 전달프로토콜 (SOAP/HTTP, SMTP), 서비스 명세 (WSDL), 서비스 레지스트리 (UDDI) - 적용 분야 : 트랜잭션 프로세싱 ,  비즈니스 플로 처리를 위한 서비스 상호 연동에 주로 이용

SOAP(Simple Object Access Protocol)<SOAP 아키텍처 >

<SOAP 메시지 구조 >

XML 로 되어 있다

Page 13: Open API 발표자료 - 김연수

13

2. Open API 의 대표적 웹 서비스 방식 : SOAP vs REST2. Open API 의 대표적 웹 서비스 방식 : SOAP vs REST Ⅱ. Open API 기술Ⅱ. Open API 기술

 - 아키텍처 설명 : ROA 기반으로 리소스를 등록하고 저장해두는 중간 매체 없이 리소스 제공자가 직접 리소스 요청자에게 제공하는 방법을 이용 - 프로세스 : 기본 HTTP 프로토콜의 메소드 GET/PUT/POST/DELETE 를 이용하여 다양한 형태로 표현된(JSON, XML, RSS 등 ) 리소스를 직접 실어 나름 - 태동 : 인터넷 서비스 업체들이 응용 개발자들에게 손쉬운 데이터 제공을 목적으로 출발 - 기반 사상 : 별도의 표준 없이 사람이 이해하기 쉽도록 인터넷 기본 (HTTP와 XML) 매커니즘으로 구성됨 - 적용 기술 : 전달매커니즘 (Publish/Syndicate Pattern), 전달프로토콜 (HTTP), 서비스 명세 (WADL, XML, JSON, hREST( 시맨틱 REST) 등 ), 서비스 레지스트리 ( 없음 ) - 적용 분야 : 데이터와 UI(User Interface) 프로세싱

REST(Representational State Transfer)

Page 14: Open API 발표자료 - 김연수

14

2. Open API 의 대표적 웹 서비스 방식 : SOAP vs REST2. Open API 의 대표적 웹 서비스 방식 : SOAP vs REST Ⅱ. Open API 기술Ⅱ. Open API 기술

주요 웹서비스 업체들의 REST 로의 변화

유서깊은 SOAP 기반 검색 API 를 2006/12/05 일 부로 중단 했다 . 대신 구글은 REST 기반의 Ajax Search API 를 대안으로 제시아마존은 자사 API 에서 REST:SOAP 사용 비율이 95:5 라고 했다 .

2006년 페이팔은 자신들의 유명한 SOAP API 를 SSL 기반인증과 REST 방식으로 결국 바꾸었다 .

REST 방식으로 OPEN API 를 지원하는 국내 기업들

…….

Page 15: Open API 발표자료 - 김연수

15

3. Open API 의 대표적 데이터 형식 : XML vs JSON3. Open API 의 대표적 데이터 형식 : XML vs JSON Ⅱ. Open API 기술Ⅱ. Open API 기술

Open API 의 대표적 웹 서비스 방식 : XML vs JSON

JSON 은 한마디로 , 경량형의 Data 형식이다 .간단하게 설명하면 , 값에 대한 표현을 키와 밸류 쌍으로 하여 , 반복을 최소화하여 Data 를 표현 할수 있는 방식이다 .

데이터 표현형식 예

XML JSON

JSON 의 경우 XML 보다 데이터 크기가 줄어든다 .

Page 16: Open API 발표자료 - 김연수

16

3. Open API 의 대표적 데이터 형식 : XML vs JSON3. Open API 의 대표적 데이터 형식 : XML vs JSON Ⅱ. Open API 기술Ⅱ. Open API 기술

Performance Test

50 100 500 1000 5000 10000XML 0.019 0.0312 0.0906 0.2782 4.7924 16.026JSON 0.008 0.0219 0.0952 0.4328 16.8998 69.771

일단 , XML 포맷으로 데이터를 리턴하는 페이지와 JSON 포맷으로 데이터를 리턴하는 페이지를 각각 만들고 , Client 페이지를 제작하여 , 50, 100, 500, 1000, 5000, 10000 개의 데이터를 송신한후 , Parsing 하여 페이지에 출력하기까지의 걸린 시간을 측정 하였다 .각각 10번씩 측정하여 , 평균을 낸 값이다 .

JSON 은 경량형의 DATA 형식이며 , 데이터가 적을 경우 성능이 빠르지만 , 데이터가 많아 질 경우 , 전송 데이터 패킷이 줄어드는 장점은 있으나 , 파싱 속도는 XML 보다 더 느려진다 .

Page 17: Open API 발표자료 - 김연수

17

4. OAuth4. OAuth Ⅱ. Open API 기술Ⅱ. Open API 기술

OAuth

기존의 인증 방식

기본인증인 각 사이트의 ID/PW 로 로그인

기본인증이 아닐 경우 애플리케이션 별로 제 각각인 인증방식

AuthSub

웹서비스 API

BBAuth

Open API인증 방식

표준화 OAuth

…….OAuth 를 이용하면 이 인증을 공유하는 애플리케이션끼리는 별도의 인증이 필요없다 . 따라서 여러 애플리케이션을 통합하여 사용하는 것이 가능하게 된다 ( 공유 어플리케이션에 ID/PW 노출 하지 않음 )

Page 18: Open API 발표자료 - 김연수

18

4. OAuth4. OAuth Ⅱ. Open API 기술Ⅱ. Open API 기술

OAuth 의 Flow

A. Consumer 가 Request Token 요청B. Service Provider 가 Request To-

ken 발급C. Consumer 는 사용자를 Service

Provider 로 이동 , 사용자를 인증하고 토큰 발급을 확인함

D. Service Provider 는 사용자를 Con-sumer 로 이동

E. Consumer 는 Access Token 요청F. Service Provider 는 Consumer 의

신원과 Request Token 확인 , Ac-cess Token 발급

G. Consumer 는 Access Token 으로 사용자 정보에 접근

Page 19: Open API 발표자료 - 김연수

19

4. OAuth4. OAuth Ⅱ. Open API 기술Ⅱ. Open API 기술

OAuth 사용 예

트위터를 통한 예1.http://twitter.com/oauth_clients 에 접속하여 애플리케이션 등록 ( 새로 만들 애플리케이션 또는 사이트 )

2. 등록이 완료되면 소비자 키 , 소비자 시크리트 및 세개의 URL( 요청 토큰 URL, 액세스 토큰 URL 및 인증 URL) 을 받는다 .

3. 요청토큰을 가져온 후 자신의 데이터 액세스를 인증할 URL 로 접속

4.승인하게 되면 PIN 을 리턴한다

Page 20: Open API 발표자료 - 김연수

20

4. OAuth4. OAuth Ⅱ. Open API 기술Ⅱ. Open API 기술

5.애플리케이션에 PIN 을 입력하면 , 액세스 토큰을 가져온다이 액세스 토큰을 저장하여 사용하게 되면 서비스 제공자 외에 ID/PW 를 노출하지 않고도 액세스 토큰을 통해 사용자 인증처리가 가능하다 .

파란의 경우 개방형인증을 도입하여 트위터와 페이스 북 또는 이메일 계정으로 인증하여 파란의 서비스를 이용할 수 있게 하였다 .

파란에서 트위터 계정을 개방형 인증 하게 되면 파란에서 해당 트위터 계정에 접근권한을 갖게 됨

Page 21: Open API 발표자료 - 김연수

21

Ⅲ. Open API 활용1. Open API 의 활용 사례 ( 매쉬업 서비스 )

Page 22: Open API 발표자료 - 김연수

22

1. Open API 의 활용 사례 ( 매쉬업 서비스 )1. Open API 의 활용 사례 ( 매쉬업 서비스 ) Ⅲ. Open API 활용Ⅲ. Open API 활용

Open API 의 활용 사례 ( 매쉬업 서비스 )

Mash Up 이란 ?• 인터넷상에서 제공되고 있는 다양한 서로 다른 서비스와 기능을 합쳐서 새로운

서비스 또는 응용으로 만들어 내는 것을 의미

• 서로 다른 오픈 API 를 이용해 시너지를 낼 수 있는 새로운 서비스를 만든다 .

• 개방과 공유를 전제로 하는 웹 2.0 개념의 핵심 기술

Mash Up 의 장단점• 장점 : 새로운 서비스를 개발하는데 들어가는 비용이 거의 없다 .• 단점 : 매쉬업 서비스는 다른서비스에 종속적이기 때문에 지도서비스 API 를

중단하거나 API 가 수정된다면 그것을 이용하는 모든서비스를 바꿔야 한다 .

Page 23: Open API 발표자료 - 김연수

23

매쉬업 서비스 사례 예 : housIngmaps.com

부동산 정보를 제공하는 Craigslist에서 정보를 긁어서 모은 후에 그 정보를 구글 지도에 표시해 준다 .

1. Open API 의 활용 사례 ( 매쉬업 서비스 )1. Open API 의 활용 사례 ( 매쉬업 서비스 ) Ⅲ. Open API 활용Ⅲ. Open API 활용

Page 24: Open API 발표자료 - 김연수

24

매쉬업 서비스 사례 예 :

http://lovesera.com/camp/flickr/map/

1. Open API 의 활용 사례 ( 매쉬업 서비스 )1. Open API 의 활용 사례 ( 매쉬업 서비스 ) Ⅲ. Open API 활용Ⅲ. Open API 활용

사진의 photo_ID 를 입력하면flickr.photos.geo.getLocation 메소드를 이용해 위도 경도 정보를 찾아내고 ,이 값을 이용해 지도위에 해당 사진을 표시해 주는 예제 .

Page 25: Open API 발표자료 - 김연수

25

매쉬업 서비스 사례 예 : http://www.dudewheresmyusedcar.com

1. Open API 의 활용 사례 ( 매쉬업 서비스 )1. Open API 의 활용 사례 ( 매쉬업 서비스 ) Ⅲ. Open API 활용Ⅲ. Open API 활용

• 구글 맵과 이베이의 자동차 카테고리 상품을 조합하여 만든 사이트• 이 사이트는 사용자의 위치에 가장 근접한 중고차 판매자를 찾아준다 .

Page 26: Open API 발표자료 - 김연수

26

모바일 매쉬업 서비스 사례 예 : DocsPics

1. Open API 의 활용 사례 ( 매쉬업 서비스 )1. Open API 의 활용 사례 ( 매쉬업 서비스 ) Ⅲ. Open API 활용Ⅲ. Open API 활용

DocsPics

구글독스의 문서와 피카사의 사진을 DocsPics 위젯으로 장식한 폰 화면

문서 , 사진 , 파일 관리 언제 , 어디서나 , 한번에

구글 문서도구 (Docs, gDocs), 피카사 (Picasa) 사용

* 광고 있습니다 .( Docs Pics Key 필요 )

주요기능 :- 문서 , 사진 , 파일 관리- 구글 닥스와 자동으로 동기화되는 메모 *- 텍스트 파일 편집- 사진 , 노트 위젯- 사진 업로드 / 다운로드- 앨범 업로드 / 다운로드- SDCard 파일 관리- 파일 복사 , 붙이기 , 옮기기- Zip, Unzip (압축 , 압축해제 )- 복수 계정 지원- 다양한 형식으로 내보기기 / 가져오기

Page 27: Open API 발표자료 - 김연수

27

마치며마치며

마치며

끝으로 앞서 말한 내용들의 요약 내용입니다 .

Open API 서비스를 통해 , 개방과 공유로 사용자 참여를 유도하자

SOAP 보다는 REST 방식으로 서비스하자

연동 데이터 형식은 XML 로 하되 필요 시 JSON 도 같이 지원하자

인증이 필요하다면 Open API 의 인증방식 표준인 OAuth 를 이용하여 타 Open API 서비스와 연동이 가능하게 하자

Open API 를 활용한 매시업 서비스를 개발하여 , 부가가치를 창출하자

Page 28: Open API 발표자료 - 김연수

28

감사합니다 .