Your SlideShare is downloading. ×
How to make Successful Open APIs for Startups (2012)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

How to make Successful Open APIs for Startups (2012)

10,091
views

Published on

Published in: Technology

0 Comments
21 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
10,091
On Slideshare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
29
Comments
0
Likes
21
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 윤석찬@channyun
  • 2. Platform 광고주 : 금전적 이익개발자 : 재미,명성,수익 사용자 : 트래픽, 경험, 가치 © 정진호, 오픈 API 플랫폼에 대한 이해
  • 3. JVM Platform Web site Java API Interface Open API Java Software DataApplicationDeveloper Participators User, Small Biz.API Lock-in Key Factor Data Lock-in
  • 4. Progra OS Internet Web Cloudm Social Social Mobile Dot-Com Web 2.0 Graph Social Bubble Graph Open Source Open Web GNU, Linux, Apache Google, Amazon, Ebay Social facebook, Twitter Cloud AWS, Hadoop Closed Mobile Windows, Java iOS, Android
  • 5. 폐쇄된 API를 가진 개방된 API를 가진 버추얼 머신 Platform 웹 서비스 독자적/폐쇄형 API 개방형/표준형 학습 비용 등 빠르고 쉽게 개발 및 진입이 어려움 Costs 서비스 가능 기능 위주 Lock-in 데이터 위주 각 플랫폼 기반 웹 서비스 기반 개발자 Developers 개발자 .Net Google Java Examples Amazon
  • 6. – 누구나 쉽게 개발에 참여할 수 있는 다양한 개발 소스 제공– 데이터를 다룰 수 있는 각종 오픈 소스 및 라이브러리의 무료 제공– 참여 문화 구조의 원동력
  • 7. – 서비스와 데이터를 다룰 수 있는 각종 데이터 포맷– 개발 플랫폼과 독립적인 정보 및 애플리케이션 구성
  • 8. – 특정 개발 환경에 종속적이지 않는 인터페이스 제공– 손쉬운 접근 및 매쉬업을 통한 창의적 앱 개발 가능성
  • 9. Agenda 오픈 API란? 오픈 API 성공 사례 오픈 API 구현 방법 오픈 API 홍보 및 개발자 지원 Daum 오픈 API Primer & Daum •26
  • 10. Open API? enable Open API is a word used to describe sets of technologies thatwebsites to interact with each other by using REST,SOAP, JavaScript and other web technologies. While itspossibilities arent limited to web-based applications, its becoming an increasing trend in so-called Web 2.0 applications. The term API stands for Application Programming Interface. http://en.wikipedia.org/wiki/Open_API
  • 11. API Value Chain Huge: Running an API at Scale @apigee
  • 12. How to?Requesthttp://api.twitter.com/1/statuses/show/99.json
  • 13. Parse"created_at": "Wed Mar 22 03:38:41 +0000 2006", "id": 99, "id_str": "99", "text": "learning about the earthquake I feltearlier 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" }}
  • 14. Use
  • 15. 왜 오픈 API를? 창업자 관점 다양한 비즈니스 개발 타진 – 자원이 부족한 스타트업의 경우, 서드파티 및 파트너와 의 협업을 위해 가능성 탐지 서비스 주변 개발자 생태계 확보 – 외부 개발자들이 언제든지 API를 통해 매쉬업 개발, 버 그 리포팅, 아이디어 제공 투자자에게 플랫폼으로 어필 – 작지만 죽지 않을(?) 파트너쉽 및 개발자 생태계 구성 은 투자할 이유가 됨!
  • 16. API 증가 속도 © ProgrammableWeb.com
  • 17. API 사용 현황 © ProgrammableWeb.com 2012.3
  • 18. API 1billion Club © ProgrammableWeb.com
  • 19. 스타트업 성공 사례• iOS에서만 앱 제공 • 서비스 시작부터 API 제공• 1초에 15장, 하루 130 만장 등록 • 200여개의 미투앱스• 2,500여개의 외부앱 • 20여개의 소셜플러그인 제휴• 250여개의 github 레포지터리 • 월 2억건의 쿼리 (2011.4)
  • 20. Fred Wilson’s 10 Golden Principles of Successful Web Apps 5. Make it Programmable http://thinkvitamin.com/web-apps/fred-wilsons-10-golden-principles-of-successful-web-apps/
  • 21. 왜 오픈 API를? 개발자 관점 프로그래밍은 결국 API 디자인 – 좋은 코드는 Module화 되어 있고, 각 모듈은 API로 구 성되어 있다. 좋은 API는 높은 재사용성 제공 – API 사용자가 생기면 변경하기가 어려우며, 처음 부터 설계에 노력을 들이게 된다. 외부 개발자와의 협업이 가능 – 스타트업에서 개발자는 외롭다. 하지만 API를 오픈하 면 밖에도 내 편을 만들 수 있다.
  • 22. 어떻게 만들어야 하나?직관적이고 배우기 쉽게 – 문서 없이도 형식만 보고도 이해할 수 있어야 한다.설계는 완벽하게 – 한번 만든 API는 하위 호환성 때문에 쉽게 바꾸기 어렵다.보안은 최소화 – 너무 많은 제한을 두면 개발자로 부터 반감을 얻을 수 있다.벤치마크 – 좋은 API를 따라한다. Copy & Paste가 답!
  • 23. API 서비스 프로토콜 프로토콜 종류 http://www.nordsc.com/ext/classification_of_http_based_apis.html 자원 자원 자원 자원종류 설명 형식 사례 인식 접근 처리 링크WS-* SOA 기반 웹 WSDL을 통한 표현 Google 서비스 Adsense APIRPC 자원에 파라 GET /service?1 Amazon 미터로 접근 SimpleDB APIAPI 객체 방법으 PUT /order/1 Twitter 로 접근 APIREST 하이퍼링크 <link type=“atom” Atom 로 접근 Publishing Protocol REST는 서비스 개발 및 활용 비용 ↓
  • 24. API Best Practices 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> •46
  • 25. 4. 다양한 포맷 (JSON, XML, RSS) { person : { name: ..., age : 22, dogs : [...] } } 자바스크립트 개발자를 위한 Callback 함수 지원 필수5. 보안 강화– APIKey와 트래픽 제어가 필수는 아니다!– 사용자 데이터는 oAuth 이용– 암호화 제공은 선택 사항
  • 26. API 서비스 구조 © 김연지
  • 27. API 개발 프레임웍 웬만한 MVC 프레임웍은 지원! – RESTful 지원 프레임웍 • http://en.wikipedia.org/wiki/Representational_State_Transfer#Fra mework_implementations – Django with Pistons • Django-Tastypie https://github.com/toastdriven/django-tastypie – Ruby on Rails Node.js – 이벤트 기반 웹 서비스에 유리
  • 28. API 서드 파티 지원★ 오픈 API 퍼블리싱에 도움을 줌! http://apievangelist.com/serviceproviders/
  • 29. oAuth란? Token
  • 30. 6. 문서화– 레퍼런스, 변경기록, 코드샘플 및 코드 놀이터7. 기술 지원– 오픈소스 개발방법 : 이슈트래커, 포럼, gitHub8. 개발자 만나기– Hackerton, DevDay, CodeJam, DevConference •52
  • 31. 개발자 지원 핸드북 http://dna.daum.net/ko/developer-support-handbook •53
  • 32. 개발자를 찾으려면? 대세는…
  • 33. Github http://github.com Open Source Developer’s Social Networks
  • 34. API Playground
  • 35. 에반젤리즘
  • 36. 2005.022005.03 …2006.10
  • 37. 1.5 billion per year 5000 per day
  • 38. 검색 API 지도 API제휴 API– 주소록 API– 알리미 API– 마이피플 API
  • 39. 외부 개발자 만남– 소통과 대화
  • 40. 와숨어 있는 개발자 찾아주기– DNA 개발자 포럼 홍보 채널– DevDay 및 DevOn 행사 참여Daum API 기반 창업팀 지원– 사내 API 이용 제휴 지원– 제주 프로젝트룸 제공
  • 41. Daum 개발자네트워크Daum Developers Network & Affliates- http://dna.daum.net
  • 42. 개발자의 마음을 사는 법
  • 43. Thanks for Attention : Q&A Seokchan (Channy) Yun channy@creation.net http://channy.creation.net http://twitter.com/channyun