<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    放翁(文初)的一畝三分地

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      210 隨筆 :: 1 文章 :: 320 評論 :: 0 Trackbacks

    該文前半部分在程序員1月刊上,由于雜志篇幅有限,因此后半部分沒有被刊登,這里就在blog上增加一下:

     

    服務集成平臺

    經過前面的介紹和實踐兩部分,在Open API在概念和實際操作上都有了一定的理解和認識,這里就再談談服務集成平臺的作用、角色和定位。這里大致描述一下集成平臺當前的實現點,這些實現點也就是服務集成平臺的價值所在。

    服務集成平臺(SIP)的角色和作用



    3 SIP Role

    ISV(獨立軟件開發商)最關心什么?

    1.       服務資源是否豐富。這關系著是否能夠創新。

    2.       服務質量是否有保證。這關系著是否能夠滿足用戶最基本的需求。

    3.       開發集成是否便利。這關系著開發成本。

    ISP(獨立服務提供商)最關心什么?

    1.       服務安全性是否可靠。如果損害到自身或者用戶利益,則就失去了原來開放的初衷。

    2.       是否有足夠多的應用開發者使用服務。

    3.       服務的非業務性需求是否可以滿足。(服務監控告警,計費,統計分析等)

    SIP是連接ISVISP的“橋梁”。它能解決什么雙方最關心的什么問題?

    1.       豐富的ISV資源以及豐富的ISP資源。這其實是一個良性循環的過程,就好比一個建材市場,買家和賣家數量遠遠要比在單獨一家實體店中多,從淘寶的B2C模式就可以看出,市場大了以后傳統的“大鱷”都要聚集人氣。

    2.       統一安全標準和多種控制策略,即保證了ISP的安全,又能夠讓ISV開發起來方便。在前面實踐過程中可以很明顯的看到,眾多的應用id,各自的安全流程,讓開發者Mash up無形中增加了很大的開發成本和維護成本。

    3.       SIP目的就是讓ISP專注于業務服務的開發,而將非業務性的需求,如安全,服務監控預警,日志分析統計,計費,社區等都一攬子解決。這樣既解決了ISP的第三個問題,同時也為ISV關心的服務質量無形中作了促進。

    在年初的時候,分析和研究國外的Open API時,感覺類似于SIP形態的產品在國外還沒有,大家都是各做各的,但這陣子回過頭來看,YouTubeGoogle開放平臺,FlickrYahoo開放平臺,這些平臺都屬于SIP形態的產品,而且Google要比當前我們做的SIP還要更進一步,那就是數據格式規范化(GData),而SIP當前僅僅只是做到流程規范化。

    那是否任何公司都適合去做SIP這類形態的平臺呢,這不僅僅是技術問題,還是一個資源的問題。阿里巴巴每一家子公司都有實力去做一個這樣的開放平臺,但各自獨做一套的結果就是資源浪費,同時技術沒有得到積累(SIP技術積累是在ISV和不同形態的ISP接入中逐漸產生的),最重要的是這些子公司其實真正需要關注的是如何將業務和數據開放給開發者,吸引更多的開發者來構建出圍繞Open API的創新應用,最大化數據和服務的商業價值。

    服務集成平臺功能特性

    服務路由

             服務集成平臺就好比硬件里面的“路由器”,服務調用者只需要提供服務注冊的名稱,就可以調用到某一個服務提供商提供的服務,對于調用者來說無需關心此服務的地址以及提供者。

             根據現階段的服務集成來看,主要分成四類的服務路由,同步服務路由,異步服務路由,訂閱服務路由,大數據量上傳服務。同步服務路由就是普通的Http無狀態單次請求和響應。異步服務路由應用于服務提供商提供的服務無法在當時處理完畢,先返回一個請求響應,當服務處理結束以后再將服務處理結果返回給服務調用者(短信業務就是一種異步服務)。訂閱服務和互聯網上RSS之類的訂閱十分相似,服務調用者只需要訂閱服務即可獲得服務提供商推送的服務內容。大數據量上傳服務其實也是屬于同步服務,但是由于消耗資源和性能壓力不同,因此被單獨作優化處理。

             對于服務形態不同,服務路由需要支持REST風格的服務路由和類REST風格服務的路由,但對于開發者來說,調用的方式都是用服務名稱來路由。

    正式環境和測試環境的隔離和切換

             對于服務開發者來說,在應用開發期間需要有外部測試環境的支持,在商用以后需要有正式環境支持,同時兩個環境的切換需要盡量的簡單。

             服務集成平臺支持服務提供商提供測試環境和正式環境的不同服務路由,同時兩套環境切換成本低。當服務提供商只有一套環境的時候可以根據策略配置的不同,對調用者訪問的范圍,頻度,次數作限制,保證測試服務不影響正式服務。

    安全

             提供對應用身份認證以及服務提供商身份認證的支持,采用多種數字簽名算法實現基本的身份認證,支持IP白名單和動態算法更新后端插件提供更高級別的服務安全保證。

             細化了用戶授權流程。對于用戶Token細分為請求級別和會話級別,同時對于會話級別的權限操作,失效時間可根據服務提供商的配置自定義。同時平臺托管維護每個應用每個用戶的多身份綁定Token,降低服務提供商開發維護成本。

             服務提供商可配置服務訪問量控制和頻率控制(所有應用或者單個應用)。也支持配置需要訂購才可以使用的服務(有限次數訂購,無限次數訂購)。

             支持多級服務安全策略配置,為服務配置(無授權,應用授權,用戶授權,可選用戶授權)等多種級別的安全策略。注:可選用戶授權是指如果沒有被用戶授權的情況下使用接口將返回部分公開數據,而在用戶授權情況下使用則返回全部的私有和公開數據。

             對服務提供商多級分類,提供不同的安全策略組合。

    監控與告警

             服務使用者服務使用出錯監控和告警。

    服務提供商提供的服務可用性,超時狀況的監控和告警。

    服務集成平臺服務處理狀況,內部模塊運行狀況監控和告警。

    日志采集與統計分析

             高并發下日志采集異步處理,采集服務正常訪問和異常訪問日志,采集用戶綁定類,異步服務類,平臺內部服務類等特殊日志。

             每日,每周,每月訪問日志統計分析,基礎報表和趨勢分析圖的創建。

             支持分析結果預警配置。

             歷史統計數據管理和歸檔。

     

    平臺內置服務

             平臺為服務提供商以及服務調用者提供了平臺級別的服務,為開發商和服務提供者獲取平臺業務數據以及運行期配置安全策略提供方便。

             平臺提供一系列平臺模塊監控、配置、重置服務,支持在線問題查找、定位、解決的一套機制。

    非功能性需求(當前情況)

             性能:壓力測試單機500并發用戶1600+tps,多機處理能力線性增長。

             模塊化:內部處理模塊化結構,支持運行期配置、裝載、卸載。

    容錯:服務集成平臺核心數據都緩存在Memcache中,因此Memcache集群以及容錯策略的擴展都為平臺穩定和容錯作了基礎保證。

    配套支持

             通過ISV,ISP,Admin三個Portal,使開發者,服務提供商以及后臺維護人員能夠自主維護基本信息和查看相關數據。

             為開發者提供社區,測試區的支持,并且提供開發工具包和文檔,方便開發。

    擴展集成

             支持不同平臺的服務集成。支持Google,Flickr,Yahoo等等不同的服務平臺的服務集成,當前還沒有完全將安全體系集成,只能夠支持安全流程透傳,消息數據完整過濾。

    服務集成平臺的一些發展趨勢

    1.       數據集成和流程集成

    當前很多服務都是基礎的數據型服務,使用者通過數據篩選獲取相應的數據,然后展現給用戶,這些服務的集成相對來說功能比較單一,流程也不復雜。但隨著服務提供商的發展,數據類型服務將會作為基礎服務的一部分,而越來越多業務處理型服務會成為使用者的首選,此時,如何讓服務和服務之間數據互通,服務可以通過一定的描述編排,就會變得越來越有價值,就如前面提到的,Google采用GData作為數據規范格式,同時對于安全流程的統一制定,為第二階段的集成打下了基礎。

    2.       服務基礎平臺間的互通

    最近Open ID也再次由于各大網站的支持而被人們廣泛關注,在未來Open API體系中,伴隨著Open ID的發展,服務基礎平臺之間的服務互通也將會變得越來越容易,但是數據的安全性也會對每個服務平臺要求更高。

    3.       服務集成平臺的層次化

    在這篇文章的介紹中僅僅介紹的是最基礎的Open APIMash up,其實當前已經有更高層次的Mash up被廣為使用,JavaScriptActionScriptFlash/Flex這些技術使得展現更為靈活和豐富。因此未來的服務集成平臺將會層次化,從數據集成到流程集成到UI集成,會成為一套自下而上的解決方案,適合各種場景的裁剪選擇。

    Open API的一些思索和感觸

    不同角色,不同收獲

    平臺開發者:

             這是我的本職工作和角色。當淘寶等服務提供商的服務接上來以后我就要為它的安全和穩定負責。當SIP一旦出現問題,那么服務提供商和軟件開發商將都無法再正常工作,套用蜘蛛俠的一句話:“能力越大,責任越大”。作平臺的尤為如此。

    服務提供商:

    服務提供商接觸的最多的就是淘寶的同學,首先看到的就是做一個服務提供商很不容易,要把原有系統中復雜的邏輯抽象出來并不是抽象一個公用函數那么簡單,同時對于模塊化,邊界性,容錯性方面的要求要遠遠高于封閉系統開發本身,因為你現在要面對的是倍于原有訪問量上百甚至上千的調用者,對任何一個小疏漏都可能帶來災難性的影響。

    軟件開發商:

             在寫這個文檔以前,最多也就是寫幾個測試的Demo來測試SIP環境中的服務,在淘寶API討論群中會看到很多新的或者老的ISV在抱怨或者詢問一些自己覺得很簡單的問題(例如簽名等等),同時在監控中也看到很多及其簡單錯誤統計數都會有很高的比例。但是經歷過這次對于各種各樣國內國外的API的開發,讓我深刻體會到了開發者的一些痛苦(當然我沒有去使用各個開發社區的第三方語言開發包,這也增加部分的開發難度),我也曾因為簽名問題在豆瓣API測試的時候折騰了半天,在調試Google Calendar的時候不得不跟蹤開發包代碼才找到了一些隱晦的設置通過測試。其實Open API在國內國外都沒有完全可以稱得上成熟,因此開發者其實是最容易受到影響的。同時他們面對著最難應付的客戶,平臺或者服務提供商出現問題,客戶最先抱怨的也是服務開發商,因此作為平臺開發者和ISP其實都要給與一定的支持和幫助,這樣才會走向更好的良性循環。

    其實上面說的那些無非都是大家最長說的換位思考,一個新興的開發模式需要各方合作才會走向良好的發展方向。

    創意就是財富

             記得前一陣子支付寶能夠在上海交水電費引起了很多人關注,杭州本地論壇中都有很多人在問:“什么時候杭州能夠也用支付寶交水電費就好了”。其實如果開放了支付服務和水電繳費服務,這種Mash up的應用又有什么難的呢?你都可以直接每個自然月通過Google Calendar設置好日程安排,自動繳完所有的費用,然后短信提示一下即可。未來當各行各業發現了自身資源的潛在價值以后,以服務的方式通過平臺互通,那么創意就是財富。

    posted on 2009-01-11 21:22 岑文初 閱讀(2250) 評論(1)  編輯  收藏

    評論

    # re: Open API分析、實踐和思索(后半篇) 2009-02-27 15:47 linkyou
    個人覺得如何引導開發者通過平臺來調用各種isp 的api也是平臺開發者要考慮的問題。  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 午夜免费不卡毛片完整版| 18禁男女爽爽爽午夜网站免费| 欧美好看的免费电影在线观看| 亚洲国产精久久久久久久| 亚洲国产综合人成综合网站| 亚洲综合欧美色五月俺也去| 大学生一级毛片免费看| 国产精品亚洲精品观看不卡| 久久久久久99av无码免费网站| 亚洲男人的天堂久久精品| 欧美日韩国产免费一区二区三区| 亚洲熟女精品中文字幕| 日韩免费a级在线观看| 边摸边吃奶边做爽免费视频99| 亚洲&#228;v永久无码精品天堂久久| 在线亚洲v日韩v| 色噜噜亚洲精品中文字幕| 亚洲日本国产综合高清| 毛片网站免费在线观看| 亚洲AV无码专区国产乱码不卡| 免费国产真实迷j在线观看| 国产精品美女免费视频观看| 亚洲国产精品无码av| 免费人成大片在线观看播放电影| 成年人视频免费在线观看| 精品亚洲成A人无码成A在线观看| 国产线视频精品免费观看视频| 亚洲VA中文字幕无码毛片 | 国产午夜亚洲精品| 日本黄色免费观看| 中国精品一级毛片免费播放| 亚洲尹人香蕉网在线视颅| 鲁丝片一区二区三区免费| 亚洲狠狠ady亚洲精品大秀| 日本人护士免费xxxx视频| 91视频免费网站| 亚洲一区二区三区在线网站| 久久久久亚洲AV综合波多野结衣| 四虎国产精品永久免费网址| 亚洲av色香蕉一区二区三区| 久久综合九九亚洲一区|