0
OPEN API & SIP 文初  Email:  [email_address] Blog :  http://blog.csdn.net/cenwenchu79   Code:  http://rest-demo.googlecode.c...
主题 <ul><li>什么是 Open API  ? </li></ul><ul><li>Open API 能够带来什么 ? </li></ul><ul><li>Open API 当前发展情况 </li></ul><ul><li>Open AP...
什么是 Open API <ul><li>一系列技术可以使得网站之间信息互通 </li></ul><ul><ul><li>Open </li></ul></ul><ul><ul><ul><li>Open  资源类型不限( Data ,Compu...
什么是 Open API <ul><li>Open API 所涉及到的角色 </li></ul>
Open API 能够带来什么 ? <ul><ul><li>用户 </li></ul></ul><ul><ul><ul><li>同质竞争提高服务质量 </li></ul></ul></ul><ul><ul><ul><li>服务流程串联带来的便利...
Open API 能够带来什么 ? <ul><ul><li>开发者 </li></ul></ul><ul><ul><ul><li>创新:丰富的资源(数据,服务等)带来无限想象空间 </li></ul></ul></ul><ul><ul><ul>...
Open API 能够带来什么 ? <ul><ul><li>服务提供商 </li></ul></ul><ul><ul><ul><li>资源价值最大化 </li></ul></ul></ul><ul><ul><ul><ul><li>更大的用户群 ...
Open API 能够带来什么 ?
Open API 能够带来什么 ?
Open API 当前发展情况 <ul><li>Google Map :  API 本身特色 + 成熟的框架 </li></ul><ul><li>Flickr : API 专业化、 Tag </li></ul><ul><li>YouTube :...
Open API 当前发展情况 <ul><li>国内: </li></ul><ul><ul><li>豆瓣,各个 SNS 网站,淘宝,雅虎中国,搜狐 </li></ul></ul><ul><ul><li>数据型服务占多数, API 种类相对较为单...
Open API  基础  <ul><li>Open API 的形态 </li></ul><ul><ul><li>RPC </li></ul></ul><ul><ul><ul><li>http://api.flickr.com/services...
Open API  基础  <ul><ul><li>两种形态的比较 </li></ul></ul><ul><ul><ul><li>无优劣 </li></ul></ul></ul><ul><ul><ul><li>开放性: REST 更容易 Mer...
Open API  基础  <ul><li>Open API 的类型 </li></ul><ul><ul><li>数据型( SNS Website  , Taobao ) </li></ul></ul><ul><ul><ul><li>应用以及其...
Open API  基础  <ul><li>Open API 数据展现方式 </li></ul><ul><ul><li>RSS, Atom </li></ul></ul><ul><ul><ul><li>标准 REST 的数据操作和展现方式 </...
Open API  基础  <ul><li>Open API 的安全 </li></ul><ul><ul><li>三类基础授权 </li></ul></ul>分类 类型 访问对象 作用 安全级别 手段 免授权 公开类信息(例如搜索引擎搜索到的结...
Open API  基础  <ul><li>OAuth 授权流程与传统授权流程 </li></ul><ul><ul><li>授权范围 </li></ul></ul><ul><ul><ul><li>OAuth 授权可细化到对服务或者对具体资源的控...
Open API  基础
Open API  基础  <ul><li>OAuth 流程的缺点 </li></ul><ul><ul><li>交互流程过多 </li></ul></ul><ul><ul><li>应用开发者对 Token 的维护成本高(有效期维护) </li>...
Open API 的实践 <ul><li>免授权和应用授权类服务的开发 </li></ul><ul><li>@Test </li></ul><ul><li>public   void  testYahooSearch() //Yahoo 搜索服...
Open API 的实践 <ul><li>// 这部分将在后面的 Mash-up 范例中使用,是通过 Boss 搜索缩略图片 </li></ul><ul><li>public   static  List<String> bossSearchS...
Open API 的实践 <ul><li>testYahooSearch() 的运行结果如下: </li></ul><ul><li><?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;...
Open API 的实践 <ul><li>用户授权类服务的开发 (Flickr API) </li></ul><ul><li>@SuppressWarnings(&quot;unchecked&quot;) // 认证和授权流程,后面正式测试代...
Open API 的实践 <ul><li>@Test // 测试上传图片 </li></ul><ul><li>public   void  uploadPhotoTest()  throws  IOException  </li></ul><u...
Open API 的实践
Open API 的实践
Open API 的实践
Open API 的实践
Open API 的实践 <ul><li>Mash up (Taobao API + Yahoo Boss API) </li></ul><ul><li>淘宝更新商品信息 +Boss 搜索相关图片 </li></ul>
Open API 的实践
Open API 的实践
Open API 的实践 <ul><li>Mash up ( Google Gadget ) </li></ul>
服务集成平台( SIP ) <ul><li>服务集成平台( SIP )的角色和作用 </li></ul>
Open API 的实践
服务集成平台( SIP ) <ul><li>ISV (独立软件开发商)最关心什么? </li></ul><ul><li>服务资源是否丰富 , 关系创新。 </li></ul><ul><li>服务质量是否有保证 , 关系应用商业化最基本需求 . ...
服务集成平台( SIP ) <ul><li>ISP (独立服务提供商)最关心什么? </li></ul><ul><li>服务安全性。如果损害到自身或者用户利益,则就失去了原来开放的初衷。 </li></ul><ul><li>是否有足够多的应用开...
服务集成平台( SIP ) <ul><li>SIP 是连接 ISV 和 ISP 的“桥梁”。 </li></ul><ul><li>丰富的 ISV 资源以及丰富的 ISP 资源。 </li></ul><ul><li>统一安全标准和多种控制策略,即...
服务集成平台( SIP )
服务集成平台( SIP )
服务集成平台( SIP )
Open API 发展趋势 <ul><li>数据集成到流程集成 </li></ul><ul><ul><li>GData  :数据规范化 </li></ul></ul><ul><ul><li>Pipes :基于数据规范化的流程定制 </li></...
Open API 发展趋势
Open API 发展趋势
一点感想 <ul><li>机遇和挑战: ISV 、 ISP 、 SIP </li></ul><ul><li>多一些理解和包容 </li></ul><ul><li>不断的学习,思考,创新 </li></ul><ul><li>站在别人的肩膀上看未来...
Upcoming SlideShare
Loading in...5
×

Open Api&Sip

1,713

Published on

Open Api

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,713
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
78
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "Open Api&Sip"

  1. 1. OPEN API & SIP 文初 Email: [email_address] Blog : http://blog.csdn.net/cenwenchu79 Code: http://rest-demo.googlecode.com/files/demostore.rar
  2. 2. 主题 <ul><li>什么是 Open API ? </li></ul><ul><li>Open API 能够带来什么 ? </li></ul><ul><li>Open API 当前发展情况 </li></ul><ul><li>Open API 基础 </li></ul><ul><li>Open API 实践 </li></ul><ul><li>服务集成平台( SIP ) </li></ul><ul><li>Open API 发展趋势 </li></ul><ul><li>一点感想 </li></ul>
  3. 3. 什么是 Open API <ul><li>一系列技术可以使得网站之间信息互通 </li></ul><ul><ul><li>Open </li></ul></ul><ul><ul><ul><li>Open 资源类型不限( Data ,Compute capability , Storage ) </li></ul></ul></ul><ul><ul><ul><li>Open 调用者不限(应用类型,实现技术) </li></ul></ul></ul><ul><ul><ul><li>Open 展现和使用方式不限( UI Mash up , Data Merge ) </li></ul></ul></ul><ul><ul><li>API </li></ul></ul><ul><ul><ul><li>接口,屏蔽实现 </li></ul></ul></ul>
  4. 4. 什么是 Open API <ul><li>Open API 所涉及到的角色 </li></ul>
  5. 5. Open API 能够带来什么 ? <ul><ul><li>用户 </li></ul></ul><ul><ul><ul><li>同质竞争提高服务质量 </li></ul></ul></ul><ul><ul><ul><li>服务流程串联带来的便利 </li></ul></ul></ul><ul><ul><ul><li>数据关联性对潜在需求的满足 </li></ul></ul></ul><ul><ul><ul><li>贡献与参与 </li></ul></ul></ul>
  6. 6. Open API 能够带来什么 ? <ul><ul><li>开发者 </li></ul></ul><ul><ul><ul><li>创新:丰富的资源(数据,服务等)带来无限想象空间 </li></ul></ul></ul><ul><ul><ul><li>快速: </li></ul></ul></ul><ul><ul><ul><ul><li>轻量级的开发模式 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>二次开发的积累效应 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>轻量级的产品化流程 </li></ul></ul></ul></ul><ul><ul><ul><li>盈利模式: </li></ul></ul></ul><ul><ul><ul><ul><li>长尾效应 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>SAAS 模式 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>服务层分成 </li></ul></ul></ul></ul>
  7. 7. Open API 能够带来什么 ? <ul><ul><li>服务提供商 </li></ul></ul><ul><ul><ul><li>资源价值最大化 </li></ul></ul></ul><ul><ul><ul><ul><li>更大的用户群 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>更广泛的商业模式 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>更多的合作伙伴 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>数据互通挖掘潜在需求 </li></ul></ul></ul></ul><ul><ul><ul><li>网站结构成熟度提升 </li></ul></ul></ul><ul><ul><ul><ul><li>业务系统模块化 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>资源结构关系合理化 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>服务性能、安全、质量的提高 </li></ul></ul></ul></ul>
  8. 8. Open API 能够带来什么 ?
  9. 9. Open API 能够带来什么 ?
  10. 10. Open API 当前发展情况 <ul><li>Google Map : API 本身特色 + 成熟的框架 </li></ul><ul><li>Flickr : API 专业化、 Tag </li></ul><ul><li>YouTube :视频资源,符合 Gdata 规范结合搜索展现业务 </li></ul><ul><li>Amazon :业务类型特殊以及配套解决方案( EC2,S3,SQS,SimpleDB 作为 Framework; FPS,DevPay 作为支付, Alexa Web Search 作为搜索) </li></ul>
  11. 11. Open API 当前发展情况 <ul><li>国内: </li></ul><ul><ul><li>豆瓣,各个 SNS 网站,淘宝,雅虎中国,搜狐 </li></ul></ul><ul><ul><li>数据型服务占多数, API 种类相对较为单一 </li></ul></ul><ul><ul><li>服务成熟度处于初级阶段(稳定性,易用性) </li></ul></ul><ul><ul><li>安全流程大多参照国外 OAuth 的方式 </li></ul></ul><ul><ul><li>数据格式大多采用 RSS 和 Atom 的扩展 </li></ul></ul>
  12. 12. Open API 基础 <ul><li>Open API 的形态 </li></ul><ul><ul><li>RPC </li></ul></ul><ul><ul><ul><li>http://api.flickr.com/services/rest/?method=flickr.test.echo&name=value </li></ul></ul></ul><ul><ul><ul><li>RPC 形态其实就是 Web Service 的一种延续,只是少了繁重的解析、安全规范等。 </li></ul></ul></ul><ul><ul><ul><li>服务总入口、服务资源定位参数、业务参数。 </li></ul></ul></ul><ul><ul><li>REST </li></ul></ul><ul><ul><ul><li>http://www.google.com/calendar/feeds/wenchu.cenwc@alibaba-inc.com/allcalendars/full </li></ul></ul></ul><ul><ul><ul><li>服务地址就是资源定位地址, HTTP 协议作为服务协议而非传输协议 </li></ul></ul></ul>
  13. 13. Open API 基础 <ul><ul><li>两种形态的比较 </li></ul></ul><ul><ul><ul><li>无优劣 </li></ul></ul></ul><ul><ul><ul><li>开放性: REST 更容易 Merge 。 </li></ul></ul></ul><ul><ul><ul><li>接口设计: RPC 更接近传统设计模式,容易被开发者接受,同时也便于传统应用的接入和使用。 </li></ul></ul></ul><ul><ul><ul><li>扩展和复用: REST 对操作接口抽象度更高,对业务扩展和复用有利。 </li></ul></ul></ul><ul><ul><ul><li>安全: REST 对安全设计要求高,控制粒度要求更加细化。 </li></ul></ul></ul><ul><ul><ul><li>服务类型: REST 适合简单的数据类服务, RPC 适合复杂的非资源型操作类服务。 </li></ul></ul></ul><ul><ul><ul><li>对已有系统改造成本: RPC 改造成本低, REST 对系统数据结构以及流程设计要求较高。 </li></ul></ul></ul>
  14. 14. Open API 基础 <ul><li>Open API 的类型 </li></ul><ul><ul><li>数据型( SNS Website , Taobao ) </li></ul></ul><ul><ul><ul><li>应用以及其他类型服务的基础 </li></ul></ul></ul><ul><ul><ul><li>商业价值依赖于开发者能力而定 </li></ul></ul></ul><ul><ul><li>服务型( Google Map , Flickr ) </li></ul></ul><ul><ul><ul><li>技术特点突出 </li></ul></ul></ul><ul><ul><ul><li>结合自身数据资源或者外部数据资源产生商业价值 </li></ul></ul></ul><ul><ul><li>能力型( Amazon S3 , EC2 ) </li></ul></ul><ul><ul><ul><li>技术门槛高 </li></ul></ul></ul><ul><ul><ul><li>可以成为上层应用的基础设施 </li></ul></ul></ul><ul><ul><ul><li>有很强的商业价值 </li></ul></ul></ul>
  15. 15. Open API 基础 <ul><li>Open API 数据展现方式 </li></ul><ul><ul><li>RSS, Atom </li></ul></ul><ul><ul><ul><li>标准 REST 的数据操作和展现方式 </li></ul></ul></ul><ul><ul><li>Ajax/JavaScript, Widget </li></ul></ul><ul><ul><ul><li>服务框架化,体系化的集成手段 </li></ul></ul></ul><ul><ul><li>JSON </li></ul></ul><ul><ul><ul><li>平台、语言无关性对象传输的轻量级协议 </li></ul></ul></ul><ul><ul><li>XML </li></ul></ul><ul><ul><ul><li>传统的数据承载模式 </li></ul></ul></ul><ul><ul><li>PHP </li></ul></ul><ul><ul><ul><li>结合语言特点的展现方式 </li></ul></ul></ul><ul><ul><li>SOAP </li></ul></ul><ul><ul><ul><li>可利用 Web Service 成熟的安全,转发协议。 </li></ul></ul></ul>
  16. 16. Open API 基础 <ul><li>Open API 的安全 </li></ul><ul><ul><li>三类基础授权 </li></ul></ul>分类 类型 访问对象 作用 安全级别 手段 免授权 公开类信息(例如搜索引擎搜索到的结果等) 低 申请应用 ID 应用授权 非商业 商业 用户相关公开类信息(例如 SNS 中的个人公开信息) 服务提供商交验应用身份,保证数据传输无篡改 中 数字签名 用户授权 Web 模式 桌面模式 手机模式 个人用户相关的非公开信息(例如淘宝用户隐私信息) 在保障用户个人隐私数据的安全性前提下,提供给应用开发者访问和操作用户个人信息的能力 高 1.OAuth 代理授权 2. 用户名、密码代理授权
  17. 17. Open API 基础 <ul><li>OAuth 授权流程与传统授权流程 </li></ul><ul><ul><li>授权范围 </li></ul></ul><ul><ul><ul><li>OAuth 授权可细化到对服务或者对具体资源的控制 </li></ul></ul></ul><ul><ul><ul><li>传统授权流程无法控制授权范围 </li></ul></ul></ul><ul><ul><li>授权时效性 </li></ul></ul><ul><ul><ul><li>OAuth 授权可以控制授权时效 </li></ul></ul></ul><ul><ul><ul><li>传统授权流程无法控制时效性 </li></ul></ul></ul><ul><ul><li>授权安全性 </li></ul></ul><ul><ul><ul><li>OAuth 仅仅保存的是认证存根,离开应用不具有可用性 </li></ul></ul></ul><ul><ul><ul><li>传统授权流程保存的是用户的真实登陆信息,一旦泄露对用户信息和资源将无法保证其安全性 </li></ul></ul></ul>
  18. 18. Open API 基础
  19. 19. Open API 基础 <ul><li>OAuth 流程的缺点 </li></ul><ul><ul><li>交互流程过多 </li></ul></ul><ul><ul><li>应用开发者对 Token 的维护成本高(有效期维护) </li></ul></ul><ul><ul><li>用户对于 Token 最终使用范围无法控制(授权范围和最终访问内容粒度不匹配) </li></ul></ul><ul><ul><li>无法满足多种服务级别的需要(当前支持 session 级别,同是也需要支持 request 级别) </li></ul></ul><ul><ul><li>Token 作为参数传递导致安全级别降低。 </li></ul></ul>
  20. 20. Open API 的实践 <ul><li>免授权和应用授权类服务的开发 </li></ul><ul><li>@Test </li></ul><ul><li>public void testYahooSearch() //Yahoo 搜索服务测试 </li></ul><ul><li>{ </li></ul><ul><li>//Yahoo 搜索服务地址,通过切换 searchengine,searchtype 来改变搜索资源的不同,支持图片,网页,新闻,视频 </li></ul><ul><li>String yahoo_search_service = &quot;http://search.yahooapis.com/{searchengine}/{version}/{searchtype}&quot;; </li></ul><ul><li>Map<String,Object> params = new HashMap<String,Object>(); // 服务调用传入的参数 </li></ul><ul><li>params.put(&quot;appid&quot;, yahoo_appkey ); // 申请的应用身份 Id </li></ul><ul><li>params.put(&quot;query&quot;,&quot; 冰激凌 + 巧克力 - 水果 &quot;); // 搜索内容,搜索冰淇凌,需要有巧克力但不要水果 </li></ul><ul><li>//ImageSearchService ,图片类搜索 ,TestUtil 是一个基础工具方法,这里就不贴了,详细地可以参看 Google code 的源码 </li></ul><ul><li>String result = TestUtil. sendRequest (yahoo_search_service </li></ul><ul><li>.replace(&quot;{searchengine}&quot;, &quot;ImageSearchService&quot;).replace(&quot;{version}&quot;, &quot;V1&quot;).replace(&quot;{searchtype}&quot;, &quot;imageSearch&quot;) </li></ul><ul><li>,params, null ,TestUtil. HTTP_METHOD_GET , null ,&quot;UTF-8&quot;, null ); </li></ul><ul><li>System. out .println(result); </li></ul><ul><li>…… </li></ul><ul><li>} </li></ul>
  21. 21. Open API 的实践 <ul><li>// 这部分将在后面的 Mash-up 范例中使用,是通过 Boss 搜索缩略图片 </li></ul><ul><li>public static List<String> bossSearchService() throws XPathExpressionException, ParserConfigurationException, SAXException, IOException </li></ul><ul><li>{ </li></ul><ul><li>…… </li></ul><ul><li>String boss_image_service = &quot;http://boss.yahooapis.com/ysearch/images/v1/&quot;; // 服务地址 </li></ul><ul><li> // 搜索资源关键字编码,关于编码特别要注意,很多时候使用 Open API 出现问题就是因为中文,导致签名或者使用出现问题 </li></ul><ul><li>String resource = URLEncoder. encode (&quot;&quot;ice cream&quot; -apple +Chocolate&quot;,&quot;UTF-8&quot;); </li></ul><ul><li>…… </li></ul><ul><li>String result = TestUtil. sendRequest ( new StringBuffer().append(boss_image_service).append(resource).toString() </li></ul><ul><li>,params, null ,TestUtil. HTTP_METHOD_GET , null ,&quot;UTF-8&quot;, null ); </li></ul><ul><li>urls = processXmlResult (result); // 采用 XPath 来解析返回结果,当前通常解析返回结果的方式就采用 XPath,XQuery ,如果是 RSS 方式通常会采用一些第三方的开源项目,类似于 ROME ,详细内容可以参看 Google code 的源码 </li></ul><ul><li>return urls; </li></ul><ul><li>} </li></ul>
  22. 22. Open API 的实践 <ul><li>testYahooSearch() 的运行结果如下: </li></ul><ul><li><?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> </li></ul><ul><li><ResultSet xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns=&quot;urn:yahoo:srchmi&quot; xsi:schemaLocation=&quot;urn:yahoo:srchmi http://api.search.yahoo.com/ImageSearchService/V1/ImageSearchResponse.xsd&quot; totalResultsAvailable=&quot;171&quot; totalResultsReturned=&quot;10&quot; firstResultPosition=&quot;1&quot;> // 记录数信息 </li></ul><ul><li><Result> </li></ul><ul><li><Title>1194498494726_77635.jpg</Title> </li></ul><ul><li><Summary>] 冰激凌 2.5 万美元 1 份 …… </Summary> </li></ul><ul><li><Url> http://news.tom.com/uimg/2007/11/8/chenhong/1194498494726_77635.jpg</Url > </li></ul><ul><li>…… </li></ul><ul><li></Result> </li></ul><ul><li><Result>……</Result> </li></ul><ul><li>…… </li></ul><ul><li></ResultSet> </li></ul><ul><li>测试运行结果是搜索结果集的 xml 描述,可以根据 ImageSearchResponse.xsd 来解析返回的内容。 </li></ul><ul><li>  </li></ul><ul><li>testBossSearch() 运行的结果如下: </li></ul><ul><li>nextpage Url : /ysearch/images/v1/%22ice%20cream%22%20-apple%20%20Chocolate?count=10&dimensions=small&appid=nkl8kwzV34FPuapz_cGP3QiOU7jvOZB2kuWEBq0CoGBvRfirCtgnIMP6mVYNHRuFWBHn&format=xml&start=10 </li></ul><ul><li>search result 1 url : http://www.soya.be/pictures/market/chocolate-ice-cream.jpg </li></ul><ul><li>search result 2 url : http://www.icecreampark.com/images/Chocolate%20ice%20cream%202.jpg </li></ul><ul><li>…… </li></ul><ul><li>测试运行的结果是已经经过 XPath 初步处理的结果,提供了下一页的入口 URL 地址,以及本次搜索出来的结果集。 </li></ul>
  23. 23. Open API 的实践 <ul><li>用户授权类服务的开发 (Flickr API) </li></ul><ul><li>@SuppressWarnings(&quot;unchecked&quot;) // 认证和授权流程,后面正式测试代码中会使用 </li></ul><ul><li>protected String auth() throws IOException </li></ul><ul><li>{ </li></ul><ul><li>…… </li></ul><ul><li>logicmap.put(&quot;method&quot;, &quot;flickr.auth.getFrob&quot;); // 授权服务名称作为参数 </li></ul><ul><li>logicmap.put(&quot;api_key&quot;, flickr_appkey ); // 置入应用 ID </li></ul><ul><li>// 发起服务请求,获取授权 Token </li></ul><ul><li>result = flickrCommonServiceRequest (TestUtil. HTTP_METHOD_GET , flickr_service ,logicmap, null ); </li></ul><ul><li>// 分析返回结果获取授权 Token </li></ul><ul><li>frob = TestUtil. getTagContent (result,&quot;<frob>&quot;,&quot;</frob>&quot;); </li></ul><ul><li>…… </li></ul><ul><li>// 根据服务地址, apikey, 授权 Token, 操作权限和参数签名,拼装用户授权 URL </li></ul><ul><li>…… </li></ul><ul><li>// 模拟弹出 IE ,展现给用户授权登录的界面 </li></ul><ul><li>String cmd = new StringBuilder(&quot;rundll32 url.dll,FileProtocolHandler &quot;).append(authStr).toString(); </li></ul><ul><li>Runtime. getRuntime ().exec(cmd); </li></ul><ul><li>…… </li></ul><ul><li>// 当用户在弹出 IE 中授权完成以后,需要在控制台中输入 ok 回车表示确认,程序才能继续 </li></ul><ul><li>String passcommand = TestUtil. readLineFromConsole (); </li></ul><ul><li> …… …… </li></ul><ul><li>result = flickrCommonServiceRequest (TestUtil. HTTP_METHOD_GET , flickr_service ,logicmap, null ); </li></ul><ul><li>token = TestUtil. getTagContent (result,&quot;<token>&quot;,&quot;</token>&quot;); // 获得用户 Token </li></ul><ul><li>return token; </li></ul><ul><li>} </li></ul>
  24. 24. Open API 的实践 <ul><li>@Test // 测试上传图片 </li></ul><ul><li>public void uploadPhotoTest() throws IOException </li></ul><ul><li>{ </li></ul><ul><li>String token = auth(); / / 授权 </li></ul><ul><li>if (token != null ) </li></ul><ul><li>{ </li></ul><ul><li>// 访问个人上传图片各种状态信息,可以不作,这里只是确认还有多少图片可以上传 </li></ul><ul><li>//logicmap 中放入请求的方法名, apiKey,token </li></ul><ul><li>String result = flickrCommonServiceRequest (TestUtil. HTTP_METHOD_GET , </li></ul><ul><li>flickr_service ,logicmap, null ); </li></ul><ul><li>…… </li></ul><ul><li>// 输入需要上传图片的地址,可以是本地的图片也可以是网络图片 </li></ul><ul><li>System. out .println(&quot;please input photo location you want to upload!&quot;); </li></ul><ul><li>String file = TestUtil. readLineFromConsole (); </li></ul><ul><li>…… </li></ul><ul><li>//logicmap 中是必要的业务参数, files 是需要上传的文件地址 </li></ul><ul><li>result = flickrCommonServiceRequest (TestUtil. HTTP_METHOD_POST , </li></ul><ul><li>flickr_uploadphoto_service ,logicmap,files); </li></ul><ul><li>// 如果上传成功将会获得图片 id </li></ul><ul><li>String photoid = TestUtil. getTagContent (result,&quot;<photoid>&quot;,&quot;</photoid>&quot;); </li></ul><ul><li>// 根据返回的图片 id 拼装成资源访问地址 , Flickr 对于图片内容的定位还是采用标准的 REST 风格,地址如下: </li></ul><ul><li>http://www.flickr.com/photos/ 用户名 / photoid </li></ul><ul><li>…… </li></ul><ul><li>} </li></ul>
  25. 25. Open API 的实践
  26. 26. Open API 的实践
  27. 27. Open API 的实践
  28. 28. Open API 的实践
  29. 29. Open API 的实践 <ul><li>Mash up (Taobao API + Yahoo Boss API) </li></ul><ul><li>淘宝更新商品信息 +Boss 搜索相关图片 </li></ul>
  30. 30. Open API 的实践
  31. 31. Open API 的实践
  32. 32. Open API 的实践 <ul><li>Mash up ( Google Gadget ) </li></ul>
  33. 33. 服务集成平台( SIP ) <ul><li>服务集成平台( SIP )的角色和作用 </li></ul>
  34. 34. Open API 的实践
  35. 35. 服务集成平台( SIP ) <ul><li>ISV (独立软件开发商)最关心什么? </li></ul><ul><li>服务资源是否丰富 , 关系创新。 </li></ul><ul><li>服务质量是否有保证 , 关系应用商业化最基本需求 . </li></ul><ul><li>开发集成是否便利 , 关系着开发、维护成本。 </li></ul><ul><li>  </li></ul><ul><li>  </li></ul>
  36. 36. 服务集成平台( SIP ) <ul><li>ISP (独立服务提供商)最关心什么? </li></ul><ul><li>服务安全性。如果损害到自身或者用户利益,则就失去了原来开放的初衷。 </li></ul><ul><li>是否有足够多的应用开发者使用服务。 </li></ul><ul><li>服务的非业务性需求是否可以满足。(服务监控告警,计费,统计分析等) </li></ul>
  37. 37. 服务集成平台( SIP ) <ul><li>SIP 是连接 ISV 和 ISP 的“桥梁”。 </li></ul><ul><li>丰富的 ISV 资源以及丰富的 ISP 资源。 </li></ul><ul><li>统一安全标准和多种控制策略,即保证了 ISP 的安全,又能够让 ISV 开发起来方便。 </li></ul><ul><li>让 ISP 专注于业务服务的开发,提升服务质量,对非业务性的需求,如安全,服务监控预警,日志分析统计,计费等提供一揽子解决方案。 </li></ul>
  38. 38. 服务集成平台( SIP )
  39. 39. 服务集成平台( SIP )
  40. 40. 服务集成平台( SIP )
  41. 41. Open API 发展趋势 <ul><li>数据集成到流程集成 </li></ul><ul><ul><li>GData :数据规范化 </li></ul></ul><ul><ul><li>Pipes :基于数据规范化的流程定制 </li></ul></ul><ul><li>OpenID 到 Connect </li></ul><ul><li>服务集成层次化,框架化 </li></ul><ul><ul><li>Data  Service  UI </li></ul></ul><ul><ul><li>Service SDK  JavaScript FrameWork  Widgets </li></ul></ul>
  42. 42. Open API 发展趋势
  43. 43. Open API 发展趋势
  44. 44. 一点感想 <ul><li>机遇和挑战: ISV 、 ISP 、 SIP </li></ul><ul><li>多一些理解和包容 </li></ul><ul><li>不断的学习,思考,创新 </li></ul><ul><li>站在别人的肩膀上看未来 </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×