네이버랩스 옥상훈BF%C1%BB%F3%C8%C6.pdf · (기존) 각 api 별로 api키를 발급 받아...
Transcript of 네이버랩스 옥상훈BF%C1%BB%F3%C8%C6.pdf · (기존) 각 api 별로 api키를 발급 받아...
오픈API 개발 전략 & 기술적 고려사항
네이버랩스
옥상훈
2016-05-09
플랫폼의 기능을 외부에서 쓸 수 있도록 개방한 API
운영체제, 어플리케이션, 라이브러리 등 다양한 수준의 인터페이스
소프트웨어가 서로 의사 소통을 하는 규약
API (Application Programming Interface)
출처: http://www.slideshare.net/TESOBE/open-bank-projectsocialopendatach01
http://techcrunch.com/2016/05/21/the-rise-of-apis/
Releasing software as an API
The rise of APIs
http://techcrunch.com/2016/05/21/the-rise-of-apis/
매출의 50% 매출의 60%
The rise of APIs
API 제공을 위한 고려사항
WHY WHO WHAT HOW
서비스 이용 증가 컨텐츠량 증가 비즈니스 모델
•예) 트위터, 구글지도 API •예) 트위터, 유튜브 API •예) 구글지도 API 트위터 API 유료화
우수 앱 양산
•예) 트위터 써드파티 앱
WHY
WHO
API Key Access Token Trusted Server
(기존) 각 API 별로 API키를 발급 받아 사용 (변경) API 이용신청 또는 애플리케이션 등록 후 API 권한 설정화면에서 사용할 API 체크
네이버 오픈 API인증방식
기존에는 각 API별로 API 키를 발급받아 사용하였지만, 이제는 API 이용 신청 또는 애플리케이션을 등록한 다음, API 권한 설정화면에서 사용하려는 API를 체크해 주시면 됩니다. API를 호출할 때는 API 키 대신 애플리케이션 등록 시 발급 받은 클라이언트아이디와 시크릿 값을 HTTP헤더에 전송하는 것으로 변경되었습니다.
[ 기존 ] [ 변경 ]
WHAT
Functions Platform Contents
HOW
Web Servcies 1
In Service 2
SDK 3
- 웹 프로토콜로 제공 - 데이터 전송 처리 중심
- 완성된 형태로 구현이 가능 - 웹/앱에 간단한 코드로 서비스 연계 가능
- 소켓과 같은 특수 프로토콜 구현 - 개발의 편의성
API 개발시 고려 사항
스펙정의 버전관리 에러코드 개발 가이드
이 모든게 자동화 되어야…
개발자의 상식이 통하는 API
( * 일부 API 들은 추후 개선 예정입니다. )
RESTful 하게 동작
JSON 으로 결과 리턴
Error Code는 http status 코드에 맞게 if (errorCode == 200) { // success } else if (errorCode >= 400) { // error }
{"message":{"@type":"response","@service":"naverservice.labs.api","@version":"1.0.0","result":{"translatedText":"I love you."}}}
https://openapi.naver.com/v1/language/translate
API 디자인 툴
출처: http://apievangelist.com/2014/01/16/api-design-do-you-swagger-blueprint-or-raml/
• 통신 – HTTP
– Streaming (실시간 대량 데이터 전송 시)
• 데이터 포맷 – XML
– JSON (XML보다 가볍고 빠른 처리 가능)
• 프로토콜 – REST
– XML-RPC
– SOAP
웹서버에서 처리 가능
Open API 구현 기술 – 프로토콜 관점
Open API 구현 기술 – API 비즈니스 관점
• 인증 – API 호출시 허가된 사용자인지 확인
– API Key 발급, OAuth 인증
• 트래픽 제어 – API 허용량만큼 쓰도록
– 서버 스케일링
• 통계 – 사용량 통계 -> 과금 처리
– 어뷰징 감지
API Gateway 서버 (웹서버 겸)
Open API 구현 기술 – API 개발사 관리 관점
• 개발자 등록 – 기본 정보
– 애플리케이션 정보
• API 키 발급 – API 별 발급
– 요청 API 및 사용량
• 통계 – API 사용량 관리
– 제휴 신청
• 개발 지원 – 개발자 가이드
– 커뮤니티, Q&A
API 포털
API 매니징
출처: http://www.3scale.net/2014/11/practical-advice-api-lifecycle-part1/
www.apitools.com 3scale.net
네이버 개발자센터 리뉴얼 (2016.1.26)
https://developers.naver.com
새로운 API 추가 (beta)
[음성합성] 텍스트를 아나운서 음성으로 들으실 수 있습니다. 현재 4개 언어(한국어, 영어, 일본어, 중국어)를 지원합니다.
[음성인식] 음성 데이터를 텍스트로 변환해 줍니다. 현재 2개 언어(한국어, 영어)를 지원합니다.
[기계번역] 영어<->한국어, 중국어<->한국어, 일본어<->한국어 번역을 지원합니다.
[캡차] 자동 입력 방지를 위해 보안 문자가 포함된 이미지를 전송하고 입력 값을 검증합니다.
- 감사합니다 -
https://developers.naver.com