현 ) SK planet 플랫폼아키텍쳐팀장 (2013~) Symantec. Corp (Milpitas) Deloitte Consulting (S.F.) Agilent Technologies (Santa Clara) Compuware Corp. (Colorado Springs) Architecture, DB design, Web, Windows mike.kim@sk.com mkim@consultant.com
sets of technologies that enable websites to interact with each other by using REST, SOAP, JavaScript and other web technologies. While its possibilities aren't limited to web-based applications, it's becoming an increasing trend in so-called Web 2.0 applications. - Wikipedia -
sets of technologies that enable websites to interact with each other by using REST, SOAP, JavaScript and other web technologies. While its possibilities aren't limited to web-based applications, it's becoming an increasing trend in so-called Web 2.0 applications. - Wikipedia - Current & permanent definition? Still evolving Open Open to public only? Same set of API could open to partner / internal Open standard protocol / format
Webbased App Android App ios App any Web or App Installbased Integration SDK (JavaScript) SDK (Android) SDK (ios) Data Server RESTful API (URL) Library / Component (server)
Isn t it just a new name for SOA? Not entirely. SOA strategies mostly target internal users; open Web APIs target mostly external partners. So API management requires developer portals, key management, and metering and billing facilities that SOA management never provided. Forrester Wave: API management platforms, Q1 2013
JSON - XML 보다적은데이터양 REST URL 을통한간단한호출 방식 OAuth 2.0 사용자 Account 정 보를 3 rd party 애플리케이션에 넘기지않고도 Authentication / Authorization
http://www.google.com/trends
Gmail 내용을어딘가에삽입하고싶다? http://mail.google.com/mail/feed/atom
1. Native format (Windows, Linux, Corba, RPC, DCOM ) 2. Platform dependency Java, C#, C++ 3. Compatibility issues versioning & on-going update 4. Security concerns, i.e. Firewall port 5. Internal process i.e. H/W purchase & approval 6. Hosting / maintenance 7. Plumbing code development
1. 내가원하는 API 를검색 예 ) 멜론실시간차트 API 2. URL 을 copy 해서브라우저나프로그램내에서호출 3. ( 선택적 ) appkey 를붙여준다.
All time Last 14 days
(2013.12) (2014.02)
Rate 2 월 4.5 억건 / 월 14 년 1 월 2 억건 / 월 13 년 12 월 1 억건 / 월 SK planet Time
http://www.maibornwolff.de/ Proprietary Connectivity Middelware SOAP Routing BPM REST Transformation Registry / Repository ex) Spring, Apache Camel, Nintegrate Rules Engine ex) Apache ServiceMix, Talend ESB, NServiceBus, IBM msg. broker, Windows Azure Service Bus, Mule,
More Channels, More revenues Expose legacy application and data as APIs Brand building Reduce cost, Increase App development speed Standard for application integration Self-service / Users empowerment Time-to-market Reduce man-power to support partners
미국내최대약국체인 ($75B in 2013) 시스템기능을 API 화시킨후약품판매 6 배증가 대부분내부공개 API 를통해다양한 Channel 개발 다양한내부시스템개발이라면 API 화이전에는왜불가능했을까?
33% of peak internet downstream traffic in North America 1000+ 개의 Device 를지원 95% 가넘는내부 API 사용량 (REST API 를이용한인터페이스표준화 One-Size-Fits-All OSFA 전략 이후전략변경 ) 회사내부의개발문화의변화 POI/ 경로안내 / 교통정보 / 최근길 / 즐겨찾기등 42 개의 Open API 제공 230 개이상의 3rd Party App 에서 T map API 사용 B2B API 제공계약을통한매출
Ecosystem Lock-in Brand Powered by facebook vs. myspace myspace가원래는 facebook보다훨씬컸습니다. myspace는현재영향력거의상실 facebook 이 Open API 를 1년이상빨리출시 Open API를통해트래픽을 2배이상성장시키며추월시작
API Consumers API Management Layer Asset API Asset API Asset API
Appliance based gateway Cloud-based Proxy (SaaS) Plug-In Install-based suite Custom built
Acquired by Intel IPO? Acquired by CA
API Services Gateway Policy / Security Branding Identity Cache Throttling Developers Services Web presence Documentation Developers community Analytics Services
Application Data & Biz.rules
Application Data & Biz.rules
Application Data & Biz.rules
Smart Devices Data & Biz.rules
UI API Component 1 DB API Component 2 UI Biz. Logic API Component 3 API separation? How? Component / API를바탕으로한 UI 를개발 Dog fooding 을통한 API의사용성검증 API를통해동일한기능의앱을제 3자가개발할수있는수준이이상적인 Open API 의제공의형태
API My Own Application
Web Web Web Web Management Layer ML ML ML Framework Framework 전통적인개념의 web site와 Open API 개발자센터가 Merge되는경향 개별 product 혹은 product group별로 Grouping되어고유의 management / web presence 각 grouping 별로 self-contained 된 User experience 제공 ( 예 : 게임커뮤니티 )
Save date in the cloud Push service Analytics Make app social (ie. OAuth) Run batch job in cloud Dashboard / administration Massive scale Share data between platforms 모든것이 REST API 혹은그것을 wrapping 한 SDK 를통해서이루어진다.
Mobile first Exposure centric (app/web presence) Self serve (start w/ simple email confirmation) Web scale (Elasticity) Carrier grade (Reliable) By Apigee CEO, Chet Kapoor è
Open API 당장의 ROI 없이외부에오픈해야합니까? 내부 / 파트너 / 외부가모두대상이될수있고, 내부오픈을통해시스템통합의효과 Public or private API : Private API still requires login! API management 시스템이 overhead를가져오지않습니까? 통상 ms 단위의 relay 시간이필요하며전체수초단위의 end-to-end API response 에비하면아주적은비용 API management 시스템을공유하는다른서비스로부터영향을받습니까? API 혹은 User 별로설정된 Throttling 을통해도리어 DDoS 나 Slashdot effect 같은예상치못한트래픽으로부터보호 시스템의처리용량이제한받지않습니까? 통상적인캐시레이어의사용으로도리어 Asset layer 의응답속도와처리용량이증가
SOA Firewall friendly HTTP/S SOAP / XML / WSDL Snappy! Web 2.0 Security Transaction
REST 가간결하나기능적한계 Connection / stateless HTTP Data oriented API vs. content oriented API Interface definition
Protocol buffer (Google) Binary Protocol in I 이 IDL to specific code Apache Thrift Google protocol buffer (TCP/binary) + α Apache Avro No code generation Better versioning Microsoft WCF
창조에집중그러면일상적인일은? Fast follower 는시간이없다? Market leader 는창조가없다? 창조를하는동안시간을아껴주는시스템필요 나도다할수있다는생각 vs. Don t invent the wheels. 글로벌기업에서자체경쟁력확보를위한이유가아닌이유로 이미존재하는동일한컴포넌트를개발하는것은죄악시 될수있으면남의손을빌려서이루라! 능력이아니라시간의문제 예 ) 3 개월만에만들어지는 1000 페이지책의비밀
Front-end 위주의소모적인경쟁을회피하는대신 Back-end API 배포를통한 Lock-in 및 Eco system 구축 Global platform 성격의프로덕트에서 Open API 는기본기능으로인식 자유로운 Integration 을통한 Multi-channel 확보 플랫폼과 Standalone system 의차이는 Open API; 어떤프로덕이던지플랫폼으로진화가가능하다!
Blog.netflix.com
Blog.netflix.com