SlideShare uma empresa Scribd logo
1 de 28
Open API 스터디
2011-06-03

발표자 : 김연수

1
Contents Table
Ⅰ. Open API 소개

Ⅲ. Open API 활용

1. 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

2
Ⅰ. Open API 소개
1. Open API란?
2. Open API 서비스 사례
3. 웹 서비스 주요 업체들이 Open API를 지원하는 이유

3
1. Open API란?

I. Open API 소개

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

4
1. Open API란?
웹 서비스 연동방식의 장점

I. Open API 소개

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

방화벽 문제를 회피한다
• Open API 웹 서비스를 제외한 다른 연동 프로토콜은 대부분 방화벽 문제를

야기한다(대부분의 서버들이 웹 포트 방화벽은 열게 된다)
웹 서버로 해결이 가능하다
• 웹 서버 하나만 있으면 서비스가 가능해 복잡한 환경 구성이 필요 없다(대부
분의 서버에는 웹 서버가 구축됨
HTTP 프로토콜 이용

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

I. Open API 소개

Open API 서비스 사례

6
2. Open API 서비스 사례

I. Open API 소개

Open API 서비스 사례

카테고리별 Open API 점유율

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

I. Open API 소개

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

이베이 익스프레스를 도입하면서 상품과 판매 정보 및 쇼핑 카트 API를 제공하
겠다고 발표
좀 더 쉽게 개발자가 접근 할 수 있도록 SOAP 방식 만을 제공하던 Open API를
SSL과 서명기능을 첨부한 REST 방식도 제공하겠다고 발표
Open API 지원으로 개발자 우선 정책을 펴기로 함

주요 웹 서비스 업체들이 자기네 서비스를 공개하면서 외부 개발자들을 유혹하고 있는
이유는 스스로 다하기 보다는 공유로 인한 가치 창출이 크기 때문이다
이베이를 예로 들면, 이베이 서드 파티들은 파워 셀러를 위한 개별 쇼핑몰이나 상품 등
록기를 만들어 줄 수도 있고, 이베이에서 제공하는 마케팅 자료를 비즈니스 솔루션에 결
합하는 프로그램을 개발할 수 있다.
8
3. 웹 서비스 주요 업체들이 Open API를 지원하는 이유

I. Open API 소개

• 3만명이 넘는 이베이 개발자
• 월간 30억을 넘는 API 호출 횟수
• 47% 이상의 상품이 API(서드파티)를 통해 올
려진다
• 써드파티 툴을 이용하는 사용자가 연간 45%
증가

9
Ⅱ. Open API 기술
1. 웹 서비스
2. Open API의 대표적 웹 서비스 방식 : SOAP vs REST
3. Open API의 대표적 데이터 형식 : XML vs JSON
4. Open API의 표준 인증 방식 : OAuth

10
1. 웹 서비스

Ⅱ. Open API 기술

웹 서비스

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

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

Ⅱ. Open API 기술

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

<SOAP 아키텍처>

<SOAP
메시지 구조>
XML로 되어 있
다

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

Ⅱ. 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) 프로세싱

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

Ⅱ. Open API 기술

유서깊은 SOAP 기반 검색 API를 2006/12/05일 부로 중단 했다. 대신
구글은 REST 기반의 Ajax Search API를 대안으로 제시

아마존은 자사 API에서 REST:SOAP 사용 비율이 95:5라고 했다.
2006년 페이팔은 자신들의 유명한 SOAP API를 SSL 기반인증과
REST 방식으로 결국 바꾸었다.

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

Ⅱ. Open API 기술

Open API의 대표적 웹 서비스 방식 : XML vs JSON
JSON 은 한마디로 , 경량형의 Data 형식이다.
간단하게 설명하면, 값에 대한 표현을 키와 밸류 쌍으로 하여, 반복을 최소화하여 Data를 표현 할수 있는 방식이다.
데이터 표현형식 예
XML

JSON

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

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

Ⅱ. Open API 기술

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

50
0.019
0.008

100
0.0312
0.0219

500
0.0906
0.0952

1000
0.2782
0.4328

5000
4.7924
16.8998

10000
16.026
69.771

16
4. OAuth

Ⅱ. Open API 기술

OAuth

AuthSub
웹서비스 API

Open API
인증 방식
표준화

BBAuth

…….
17
4. OAuth

Ⅱ. Open API 기술

OAuth의 Flow
A. Consumer가 Request Token 요청
B. Service Provider가 Request Token 발
급
C. Consumer는 사용자를 Service Provider
로 이동, 사용자를 인증하고 토큰 발급을
확인함
D. Service Provider는 사용자를 Consumer
로 이동
E. Consumer는 Access Token 요청
F. Service Provider는 Consumer의 신원과
Request Token 확인, Access Token 발
급
G. Consumer는 Access Token으로 사용자
정보에 접근

18
4. OAuth

Ⅱ. Open API 기술

OAuth 사용 예

1.http://twitter.com/oauth_clients 에 접속하여 애플리케이션 등록(새로 만들 애플리케이션 또는 사이트)
2.등록이 완료되면 소비자 키, 소비자 시크리트 및 세개의 URL(요청 토큰
URL, 액세스 토큰 URL 및 인증 URL)을 받는다.
3.요청토큰을 가져온 후 자신의 데이터 액세스를 인증할 URL로 접속

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

19
4. OAuth

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

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

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

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

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

Ⅲ. Open API 활용

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

• 인터넷상에서 제공되고 있는 다양한 서로 다른 서비스와 기능을 합쳐서 새로운 서
비스 또는 응용으로 만들어 내는 것을 의미
• 서로 다른 오픈API를 이용해 시너지를 낼 수 있는 새로운 서비스를 만든다.
• 개방과 공유를 전제로 하는 웹2.0 개념의 핵심 기술

• 장점 : 새로운 서비스를 개발하는데 들어가는 비용이 거의 없다.
• 단점 : 매쉬업 서비스는 다른서비스에 종속적이기 때문에 지도서비스API를 중단하
거나 API가 수정된다면 그것을 이용하는 모든서비스를 바꿔야 한다.

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

Ⅲ. Open API 활용

매쉬업 서비스 사례 예 : housIngmaps.com
부동산 정보를 제공하는 Craigslist에서 정보를 긁어서 모은 후에 그 정보를 구글 지도에 표시해 준다.

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

Ⅲ. Open API 활용

매쉬업 서비스 사례 예 : http://lovesera.com/camp/flickr/map/

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

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

Ⅲ. Open API 활용

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

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

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

Ⅲ. Open API 활용

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

문서, 사진, 파일 관리
언제, 어디서나, 한번에
구글 문서도구(Docs, gDocs), 피카사(Picasa) 사용
* 광고 있습니다.
( Docs Pics Key 필요)
주요기능:
- 문서, 사진, 파일 관리
- 구글 닥스와 자동으로 동기화되는 메모*
- 텍스트 파일 편집
- 사진, 노트 위젯
- 사진 업로드/다운로드
- 앨범 업로드/다운로드
- SDCard 파일 관리
- 파일 복사, 붙이기, 옮기기
- Zip, Unzip (압축, 압축해제)
- 복수 계정 지원
- 다양한 형식으로 내보기기/가져오기

구글독스의 문서와 피카사의 사진을 DocsPics 위젯으로 장식한 폰 화면
26
마치며
마치며
끝으로 앞서 말한 내용들의 요약 내용입니다.
Open API 서비스를 통해, 개방과 공유로 사용자 참여를 유도하자

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

연동 데이터 형식은 XML로 하되 필요 시 JSON도 같이 지원하자
인증이 필요하다면 Open API의 인증방식 표준인 OAuth 를 이용하여 타 Open API 서비스와 연
동이 가능하게 하자
Open API를 활용한 매시업 서비스를 개발하여, 부가가치를 창출하자

27
감사합니다.

28

Mais conteúdo relacionado

Semelhante a Open API 발표자료 - 김연수

2012.12_ 서울시 공공데이터 Open api 검증보고서
2012.12_ 서울시 공공데이터 Open api 검증보고서 2012.12_ 서울시 공공데이터 Open api 검증보고서
2012.12_ 서울시 공공데이터 Open api 검증보고서 codenamu
 
공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)
공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)
공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)Channy Yun
 
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)Channy Yun
 
API Gateway 그리고 모바일 어플리케이션
API Gateway 그리고 모바일 어플리케이션API Gateway 그리고 모바일 어플리케이션
API Gateway 그리고 모바일 어플리케이션BDapis inc.
 
How to make Successful Open APIs for Startups (2012)
How to make Successful Open APIs for Startups (2012)How to make Successful Open APIs for Startups (2012)
How to make Successful Open APIs for Startups (2012)Channy Yun
 
API Management Reference Architecture
API Management Reference ArchitectureAPI Management Reference Architecture
API Management Reference ArchitectureSeong-Bok Lee
 
Google Cloud Platform - Apigee
Google Cloud Platform - ApigeeGoogle Cloud Platform - Apigee
Google Cloud Platform - Apigeebliexsoft
 
open api seminar
open api seminaropen api seminar
open api seminarNamhoon Kim
 
Ad-Tech on AWS 세미나 | AWS와 실시간 입찰
Ad-Tech on AWS 세미나 | AWS와 실시간 입찰Ad-Tech on AWS 세미나 | AWS와 실시간 입찰
Ad-Tech on AWS 세미나 | AWS와 실시간 입찰Amazon Web Services Korea
 
Digital 시대의 Open Banking Platform 구축 전략
Digital 시대의 Open Banking Platform 구축 전략Digital 시대의 Open Banking Platform 구축 전략
Digital 시대의 Open Banking Platform 구축 전략Seong-Bok Lee
 
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)Channy Yun
 
KB금융지주의 클라우드 혁신 사례 – 협업플랫폼 Clayon - 고종원 매니저, AWS / 박형주 부장, KB금융지주 :: AWS Summ...
KB금융지주의 클라우드 혁신 사례 – 협업플랫폼 Clayon - 고종원 매니저, AWS / 박형주 부장, KB금융지주 :: AWS Summ...KB금융지주의 클라우드 혁신 사례 – 협업플랫폼 Clayon - 고종원 매니저, AWS / 박형주 부장, KB금융지주 :: AWS Summ...
KB금융지주의 클라우드 혁신 사례 – 협업플랫폼 Clayon - 고종원 매니저, AWS / 박형주 부장, KB금융지주 :: AWS Summ...Amazon Web Services Korea
 
F3 네이버오픈api만드는매쉬업
F3 네이버오픈api만드는매쉬업F3 네이버오픈api만드는매쉬업
F3 네이버오픈api만드는매쉬업NAVER D2
 
웹 2.0 기술 소개 (2006)
웹 2.0 기술 소개 (2006)웹 2.0 기술 소개 (2006)
웹 2.0 기술 소개 (2006)Channy Yun
 
AManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with TerraformAManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with TerraformByungjin Park
 
IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017
IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017
IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017Amazon Web Services Korea
 
MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017
MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017
MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017Amazon Web Services Korea
 

Semelhante a Open API 발표자료 - 김연수 (20)

2012.12_ 서울시 공공데이터 Open api 검증보고서
2012.12_ 서울시 공공데이터 Open api 검증보고서 2012.12_ 서울시 공공데이터 Open api 검증보고서
2012.12_ 서울시 공공데이터 Open api 검증보고서
 
공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)
공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)
공공 데이터 활용 방법론 - 오픈 API 기술 및 동향 (KRNET 2014)
 
Open platform/API overview
Open platform/API overviewOpen platform/API overview
Open platform/API overview
 
API Economy 시대가 온다 - 강지나 클라우드 솔루션 아키텍트
API Economy 시대가 온다 - 강지나 클라우드 솔루션 아키텍트API Economy 시대가 온다 - 강지나 클라우드 솔루션 아키텍트
API Economy 시대가 온다 - 강지나 클라우드 솔루션 아키텍트
 
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
 
RESTful Mashup
RESTful MashupRESTful Mashup
RESTful Mashup
 
API Gateway 그리고 모바일 어플리케이션
API Gateway 그리고 모바일 어플리케이션API Gateway 그리고 모바일 어플리케이션
API Gateway 그리고 모바일 어플리케이션
 
How to make Successful Open APIs for Startups (2012)
How to make Successful Open APIs for Startups (2012)How to make Successful Open APIs for Startups (2012)
How to make Successful Open APIs for Startups (2012)
 
API Management Reference Architecture
API Management Reference ArchitectureAPI Management Reference Architecture
API Management Reference Architecture
 
Google Cloud Platform - Apigee
Google Cloud Platform - ApigeeGoogle Cloud Platform - Apigee
Google Cloud Platform - Apigee
 
open api seminar
open api seminaropen api seminar
open api seminar
 
Ad-Tech on AWS 세미나 | AWS와 실시간 입찰
Ad-Tech on AWS 세미나 | AWS와 실시간 입찰Ad-Tech on AWS 세미나 | AWS와 실시간 입찰
Ad-Tech on AWS 세미나 | AWS와 실시간 입찰
 
Digital 시대의 Open Banking Platform 구축 전략
Digital 시대의 Open Banking Platform 구축 전략Digital 시대의 Open Banking Platform 구축 전략
Digital 시대의 Open Banking Platform 구축 전략
 
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
 
KB금융지주의 클라우드 혁신 사례 – 협업플랫폼 Clayon - 고종원 매니저, AWS / 박형주 부장, KB금융지주 :: AWS Summ...
KB금융지주의 클라우드 혁신 사례 – 협업플랫폼 Clayon - 고종원 매니저, AWS / 박형주 부장, KB금융지주 :: AWS Summ...KB금융지주의 클라우드 혁신 사례 – 협업플랫폼 Clayon - 고종원 매니저, AWS / 박형주 부장, KB금융지주 :: AWS Summ...
KB금융지주의 클라우드 혁신 사례 – 협업플랫폼 Clayon - 고종원 매니저, AWS / 박형주 부장, KB금융지주 :: AWS Summ...
 
F3 네이버오픈api만드는매쉬업
F3 네이버오픈api만드는매쉬업F3 네이버오픈api만드는매쉬업
F3 네이버오픈api만드는매쉬업
 
웹 2.0 기술 소개 (2006)
웹 2.0 기술 소개 (2006)웹 2.0 기술 소개 (2006)
웹 2.0 기술 소개 (2006)
 
AManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with TerraformAManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with Terraform
 
IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017
IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017
IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017
 
MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017
MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017
MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017
 

Mais de Yeon Soo Kim

Effective Unit Testing
Effective Unit TestingEffective Unit Testing
Effective Unit TestingYeon Soo Kim
 
프로그래머로 사는법
프로그래머로 사는법프로그래머로 사는법
프로그래머로 사는법Yeon Soo Kim
 
Spring3 발표자료 - 김연수
Spring3 발표자료 - 김연수Spring3 발표자료 - 김연수
Spring3 발표자료 - 김연수Yeon Soo Kim
 
그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수Yeon Soo Kim
 
HTTP 발표자료 - 김연수
HTTP 발표자료 - 김연수HTTP 발표자료 - 김연수
HTTP 발표자료 - 김연수Yeon Soo Kim
 
파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수Yeon Soo Kim
 
TCP/IP 발표자료 - 김연수
TCP/IP 발표자료 - 김연수TCP/IP 발표자료 - 김연수
TCP/IP 발표자료 - 김연수Yeon Soo Kim
 
Ajax 기술문서 - 김연수
Ajax 기술문서 - 김연수Ajax 기술문서 - 김연수
Ajax 기술문서 - 김연수Yeon Soo Kim
 

Mais de Yeon Soo Kim (8)

Effective Unit Testing
Effective Unit TestingEffective Unit Testing
Effective Unit Testing
 
프로그래머로 사는법
프로그래머로 사는법프로그래머로 사는법
프로그래머로 사는법
 
Spring3 발표자료 - 김연수
Spring3 발표자료 - 김연수Spring3 발표자료 - 김연수
Spring3 발표자료 - 김연수
 
그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수그루비 소개 발표자료 - 김연수
그루비 소개 발표자료 - 김연수
 
HTTP 발표자료 - 김연수
HTTP 발표자료 - 김연수HTTP 발표자료 - 김연수
HTTP 발표자료 - 김연수
 
파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수
 
TCP/IP 발표자료 - 김연수
TCP/IP 발표자료 - 김연수TCP/IP 발표자료 - 김연수
TCP/IP 발표자료 - 김연수
 
Ajax 기술문서 - 김연수
Ajax 기술문서 - 김연수Ajax 기술문서 - 김연수
Ajax 기술문서 - 김연수
 

Open API 발표자료 - 김연수

  • 2. Contents Table Ⅰ. Open API 소개 Ⅲ. Open API 활용 1. 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 2
  • 3. Ⅰ. Open API 소개 1. Open API란? 2. Open API 서비스 사례 3. 웹 서비스 주요 업체들이 Open API를 지원하는 이유 3
  • 4. 1. Open API란? I. Open API 소개 Open API란? Open API는 서비스, 정보, 데이터 등 언제, 어디서나 누구나 쉽게 이용할 수 있도록 개방된 API를 의미 한 다. 또한, 통신망의 구조 및 기술에 독립적으로 새로운 응용 서비스를 쉽게 개발할 수 있도록 한다. Open API는 데이터를 제어할 수 있는 간단하고 직관적인 인터페이스의 제공을 통해 사용자의 참여를 유 도하는 사용자 중심의 비즈니스 모델이다. Open API의 장점이자 목적 4
  • 5. 1. Open API란? 웹 서비스 연동방식의 장점 I. Open API 소개 Open API 같은 웹을 통한 연동 방식을 웹 서비스라 부른다. 방화벽 문제를 회피한다 • Open API 웹 서비스를 제외한 다른 연동 프로토콜은 대부분 방화벽 문제를 야기한다(대부분의 서버들이 웹 포트 방화벽은 열게 된다) 웹 서버로 해결이 가능하다 • 웹 서버 하나만 있으면 서비스가 가능해 복잡한 환경 구성이 필요 없다(대부 분의 서버에는 웹 서버가 구축됨 HTTP 프로토콜 이용 • 클라이언트 서버처럼 Tight Couple 된 관계가 아니라서, HTTP 에서는 컨텐 츠 협상을 통해, 헤더, MimeType등의 HTTP 프로토콜의 특성을 그대로 이용 할 수 있다. 5
  • 6. 2. Open API 서비스 사례 I. Open API 소개 Open API 서비스 사례 6
  • 7. 2. Open API 서비스 사례 I. Open API 소개 Open API 서비스 사례 카테고리별 Open API 점유율 7
  • 8. 3. 웹 서비스 주요 업체들이 Open API를 지원하는 이유 I. Open API 소개 웹 서비스 주요 업체들이 Open API를 지원하는 이유 이베이 익스프레스를 도입하면서 상품과 판매 정보 및 쇼핑 카트 API를 제공하 겠다고 발표 좀 더 쉽게 개발자가 접근 할 수 있도록 SOAP 방식 만을 제공하던 Open API를 SSL과 서명기능을 첨부한 REST 방식도 제공하겠다고 발표 Open API 지원으로 개발자 우선 정책을 펴기로 함 주요 웹 서비스 업체들이 자기네 서비스를 공개하면서 외부 개발자들을 유혹하고 있는 이유는 스스로 다하기 보다는 공유로 인한 가치 창출이 크기 때문이다 이베이를 예로 들면, 이베이 서드 파티들은 파워 셀러를 위한 개별 쇼핑몰이나 상품 등 록기를 만들어 줄 수도 있고, 이베이에서 제공하는 마케팅 자료를 비즈니스 솔루션에 결 합하는 프로그램을 개발할 수 있다. 8
  • 9. 3. 웹 서비스 주요 업체들이 Open API를 지원하는 이유 I. Open API 소개 • 3만명이 넘는 이베이 개발자 • 월간 30억을 넘는 API 호출 횟수 • 47% 이상의 상품이 API(서드파티)를 통해 올 려진다 • 써드파티 툴을 이용하는 사용자가 연간 45% 증가 9
  • 10. Ⅱ. Open API 기술 1. 웹 서비스 2. Open API의 대표적 웹 서비스 방식 : SOAP vs REST 3. Open API의 대표적 데이터 형식 : XML vs JSON 4. Open API의 표준 인증 방식 : OAuth 10
  • 11. 1. 웹 서비스 Ⅱ. Open API 기술 웹 서비스 • 기존의 서로 다른 컴퓨터에서 네트워크를 통해 데이터를 주고 받는 통신임에는 동일하다. • 플랫폼 중립적이다 • 웹 서비스는 HTTP 프로토콜을 이용한다. • 연결을 유지하지 않는다. • 웹 서버를 통해 서비스 된다. • 대표적으로 SOAP, REST 방식이 있다.(SOAP을 SOA, REST를 ROA라고 부른다) • SOA(Service Oriented Architecture) : 서비스 지향 아키텍처 • ROA(Resource Oriented Architecture) : 리소스 지향 아키텍처 • 교환하는 데이터 형식으로 XML, JSON이 있다. (SOAP은 XML이다) <SOAP 과 REST 비교> 11
  • 12. 2. Open API의 대표적 웹 서비스 방식 : SOAP vs REST Ⅱ. Open API 기술 Open API의 대표적 웹 서비스 방식 : SOAP vs REST <SOAP 아키텍처> <SOAP 메시지 구조> XML로 되어 있 다 - 아키텍처 설명 : SOA 구조에 따라 UDDI 레지스트리를 통해 웹서비스를 등록하고(publish), 탐색하고(find), 바인딩하여 (bind) 이용 - 프로세스 : 서비스 요청자가 웹서비스 요청을 SOAP으로 인코딩하여 서비스 제공자에게 전달하면, 서비스 제공자는 이 를 디코딩하여 적절한 서비스 로직을 통하여 결과를 얻고, 그 결과를 다시 SOAP 인코딩하여 서비스 요청자에게 반환. - 태동 : 기업의 비즈니스 환경에서 응용 서비스 간 상호 운용을 위해 출발함 - 기반 사상 : 서비스를 제공하고 이용하는 프로그램들이(기계) 잘 이해할 수 있도록 엄격한 문법에 따라 개발됨. 그래서 스펙을 알아야 구현이 가능하여 고난이도 프로그래밍이 필요 - 적용 기술 : 전달매커니즘(Remote Procedure Call), 전달프로토콜(SOAP/HTTP, SMTP), 서비스 명세(WSDL), 서비스 레지스트리(UDDI) - 적용 분야 : 트랜잭션 프로세싱, 비즈니스 플로 처리를 위한 서비스 상호 연동에 주로 이용 12
  • 13. 2. Open API의 대표적 웹 서비스 방식 : SOAP vs REST Ⅱ. 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) 프로세싱 13
  • 14. 2. Open API의 대표적 웹 서비스 방식 : SOAP vs REST Ⅱ. Open API 기술 유서깊은 SOAP 기반 검색 API를 2006/12/05일 부로 중단 했다. 대신 구글은 REST 기반의 Ajax Search API를 대안으로 제시 아마존은 자사 API에서 REST:SOAP 사용 비율이 95:5라고 했다. 2006년 페이팔은 자신들의 유명한 SOAP API를 SSL 기반인증과 REST 방식으로 결국 바꾸었다. ……. 14
  • 15. 3. Open API의 대표적 데이터 형식 : XML vs JSON Ⅱ. Open API 기술 Open API의 대표적 웹 서비스 방식 : XML vs JSON JSON 은 한마디로 , 경량형의 Data 형식이다. 간단하게 설명하면, 값에 대한 표현을 키와 밸류 쌍으로 하여, 반복을 최소화하여 Data를 표현 할수 있는 방식이다. 데이터 표현형식 예 XML JSON JSON의 경우 XML 보다 데이터 크기가 줄어든다. 15
  • 16. 3. Open API의 대표적 데이터 형식 : XML vs JSON Ⅱ. Open API 기술 Performance Test 일단, XML 포맷으로 데이터를 리턴하는 페이지와 JSON 포맷으로 데이터를 리턴하는 페이지를 각각 만들고, Client 페이지를 제작하여, 50, 100, 500, 1000, 5000, 10000 개의 데이터를 송신한후, Parsing 하여 페이지에 출력 하기까지의 걸린 시간을 측정 하였다. 각각 10번씩 측정하여, 평균을 낸 값이다. XML JSON 50 0.019 0.008 100 0.0312 0.0219 500 0.0906 0.0952 1000 0.2782 0.4328 5000 4.7924 16.8998 10000 16.026 69.771 16
  • 17. 4. OAuth Ⅱ. Open API 기술 OAuth AuthSub 웹서비스 API Open API 인증 방식 표준화 BBAuth ……. 17
  • 18. 4. OAuth Ⅱ. Open API 기술 OAuth의 Flow A. Consumer가 Request Token 요청 B. Service Provider가 Request Token 발 급 C. Consumer는 사용자를 Service Provider 로 이동, 사용자를 인증하고 토큰 발급을 확인함 D. Service Provider는 사용자를 Consumer 로 이동 E. Consumer는 Access Token 요청 F. Service Provider는 Consumer의 신원과 Request Token 확인, Access Token 발 급 G. Consumer는 Access Token으로 사용자 정보에 접근 18
  • 19. 4. OAuth Ⅱ. Open API 기술 OAuth 사용 예 1.http://twitter.com/oauth_clients 에 접속하여 애플리케이션 등록(새로 만들 애플리케이션 또는 사이트) 2.등록이 완료되면 소비자 키, 소비자 시크리트 및 세개의 URL(요청 토큰 URL, 액세스 토큰 URL 및 인증 URL)을 받는다. 3.요청토큰을 가져온 후 자신의 데이터 액세스를 인증할 URL로 접속 4.승인하게 되면 PIN을 리턴한다 19
  • 20. 4. OAuth Ⅱ. Open API 기술 5.애플리케이션에 PIN을 입력하면, 액세스 토큰을 가져온다 이 액세스 토큰을 저장하여 사용하게 되면 서비스 제공자 외에 ID/PW를 노출하지 않고도 액세스 토큰을 통해 사용자 인증처리가 가능하다. 파란의 경우 개방형인증을 도입하여 트위터와 페이스 북 또는 이메일 계정으로 인증하여 파란의 서비스를 이용할 수 있게 하였다. 파란에서 트위터 계정을 개방 형 인증 하게 되면 파란에서 해당 트위터 계정에 접근권한 을 갖게 됨 20
  • 21. Ⅲ. Open API 활용 1. Open API의 활용 사례(매쉬업 서비스) 21
  • 22. 1. Open API의 활용 사례(매쉬업 서비스) Ⅲ. Open API 활용 Open API의 활용 사례(매쉬업 서비스) • 인터넷상에서 제공되고 있는 다양한 서로 다른 서비스와 기능을 합쳐서 새로운 서 비스 또는 응용으로 만들어 내는 것을 의미 • 서로 다른 오픈API를 이용해 시너지를 낼 수 있는 새로운 서비스를 만든다. • 개방과 공유를 전제로 하는 웹2.0 개념의 핵심 기술 • 장점 : 새로운 서비스를 개발하는데 들어가는 비용이 거의 없다. • 단점 : 매쉬업 서비스는 다른서비스에 종속적이기 때문에 지도서비스API를 중단하 거나 API가 수정된다면 그것을 이용하는 모든서비스를 바꿔야 한다. 22
  • 23. 1. Open API의 활용 사례(매쉬업 서비스) Ⅲ. Open API 활용 매쉬업 서비스 사례 예 : housIngmaps.com 부동산 정보를 제공하는 Craigslist에서 정보를 긁어서 모은 후에 그 정보를 구글 지도에 표시해 준다. 23
  • 24. 1. Open API의 활용 사례(매쉬업 서비스) Ⅲ. Open API 활용 매쉬업 서비스 사례 예 : http://lovesera.com/camp/flickr/map/ 사진의 photo_ID를 입력하면 flickr.photos.geo.getLoc ation 메소드를 이용해 위도 경도 정보를 찾아내고, 이 값을 이용해 지도위에 해당 사진을 표시해 주는 예제. 24
  • 25. 1. Open API의 활용 사례(매쉬업 서비스) Ⅲ. Open API 활용 매쉬업 서비스 사례 예 : http://www.dudewheresmyusedcar.com • 구글 맵과 이베이의 자동차 카테고리 상품을 조합하여 만든 사이트 • 이 사이트는 사용자의 위치에 가장 근접한 중고차 판매자를 찾아준다. 25
  • 26. 1. Open API의 활용 사례(매쉬업 서비스) Ⅲ. Open API 활용 모바일 매쉬업 서비스 사례 예 : DocsPics 문서, 사진, 파일 관리 언제, 어디서나, 한번에 구글 문서도구(Docs, gDocs), 피카사(Picasa) 사용 * 광고 있습니다. ( Docs Pics Key 필요) 주요기능: - 문서, 사진, 파일 관리 - 구글 닥스와 자동으로 동기화되는 메모* - 텍스트 파일 편집 - 사진, 노트 위젯 - 사진 업로드/다운로드 - 앨범 업로드/다운로드 - SDCard 파일 관리 - 파일 복사, 붙이기, 옮기기 - Zip, Unzip (압축, 압축해제) - 복수 계정 지원 - 다양한 형식으로 내보기기/가져오기 구글독스의 문서와 피카사의 사진을 DocsPics 위젯으로 장식한 폰 화면 26
  • 27. 마치며 마치며 끝으로 앞서 말한 내용들의 요약 내용입니다. Open API 서비스를 통해, 개방과 공유로 사용자 참여를 유도하자 SOAP 보다는 REST 방식으로 서비스하자 연동 데이터 형식은 XML로 하되 필요 시 JSON도 같이 지원하자 인증이 필요하다면 Open API의 인증방식 표준인 OAuth 를 이용하여 타 Open API 서비스와 연 동이 가능하게 하자 Open API를 활용한 매시업 서비스를 개발하여, 부가가치를 창출하자 27