随著(zhe)技術和(hé)合作共享思維的(de)發展,矽谷率先推出了(le)開放平台,比如谷歌(gē)開放了(le)map api,将自己的(de)地圖能力進行開放;twitter開放了(le)社交api,其他(tā)廠商,比如遊戲等就可(kě)以直接調用(yòng)twitter賬戶進行登錄,同時(shí)關聯好友關系。随後中國也(yě)對(duì)外開放地圖、新聞門戶、電子商務、支付等多(duō)個(gè)行業的(de)核心能力。
我們主要集中在從0到1的(de)設計過程中的(de)開放平台。我們需要考慮哪些鏈接、我們需要構建的(de)基本功能以及我們如何進行業務管理(lǐ)。
一、爲何搭建開放平台
軟件平台設計開發者通(tōng)過打開自己的(de)平台産品服務的(de)各種API接口,在開發應用(yòng)時(shí),如微博登錄、支付寶支付、微信支付、酒店(diàn)查詢預約等,使其他(tā)第三方開發者直接呼叫。
事實上,一些智能硬件設備制造商在我的(de)工作經驗中更多(duō)地使用(yòng)這(zhè)種方法。它們向合作夥伴和(hé)客戶開放了(le)管理(lǐ)設備的(de)能力,以幫助客戶或合作夥伴在自己的(de)系統中快(kuài)速集成相應的(de)能力。
例如,我在物(wù)業集團作爲一個(gè)智能社區(qū)工作,涉及智能停車、智能接入、智能安全和(hé)智慧,如果我們自己建設,當然很費時(shí),如果我們利用(yòng)硬件供應商的(de)開放平台,它可(kě)以快(kuài)速地在我們自己的(de)系統中建立相應的(de)能力,作爲一個(gè)制造商,他(tā)們成功地爲我們提供了(le)自己的(de)服務能力,促進了(le)他(tā)們的(de)品牌有效性,增強了(le)産品的(de)競争力。
注意:在某些情況下(xià),H5也(yě)可(kě)以向第三方開放。在這(zhè)種情況下(xià),第三方不需要進行頁面和(hé)後台開發,隻需要根據平台方的(de)要求傳入相應的(de)參數。
二、開放平台服務形式
開放平台主要是軟件平台設計開發人(rén)員(yuán),以API、H5的(de)形式向第三方合作夥伴或客戶開放自己的(de)資源或服務,幫助他(tā)們快(kuài)速構建自己的(de)應用(yòng)程序。
從形式上來(lái)說,大(dà)緻分(fēn)爲兩類:
1、當開發者請求時(shí),開放平台返回相應的(de)H5鏈接。在這(zhè)種形式下(xià),開發者通(tōng)常會傳入自己系統的(de)用(yòng)戶賬号信息,然後直接在開放平台的(de)H5鏈接内執行服務。這(zhè)種開放形式是爲支付寶服務,如社保公積金查詢、汽車服務等。
優點:對(duì)于開發商來(lái)說開發成本很低,開發量少,上線時(shí)間快(kuài),不需要詳細了(le)解相應業務的(de)邏輯和(hé)規則。對(duì)于平台來(lái)說,與不同的(de)開發人(rén)員(yuán)接口更簡單。
缺點:開發人(rén)員(yuán)無法直接獲取本系統用(yòng)戶的(de)實際業務情況,與以下(xià)單筆交易量、訂單量等相比,完全依賴于平台提供的(de)數據;相應頁面的(de)風格無法改變,可(kě)能存在不符合自身制度風格的(de)風險;
2、開發人(rén)員(yuán)請求時(shí),根據API的(de)功能傳入相應的(de)參數,平台返回相應的(de)數據内容,内容集成後,開發人(rén)員(yuán)再按照(zhào)樣式執行演示..
優點:對(duì)于具有交易類型和(hé)共享的(de)業務,開發人(rén)員(yuán)可(kě)以自己掌握相關的(de)訂單數據,而不受平台提供的(de)數據的(de)限制。
缺點:開發成本相對(duì)較高(gāo),開發人(rén)員(yuán)需要詳細了(le)解業務規則和(hé)邏輯,同時(shí)要進行前端頁面的(de)設計和(hé)開發。平台技術方面需要連接開發人(rén)員(yuán)的(de)界面并對(duì)問題進行解釋,這(zhè)對(duì)于人(rén)力資源投資來(lái)說是相對(duì)較高(gāo)的(de)。
總的(de)來(lái)說,不一定是哪種形式更好。我們需要結合實際情況來(lái)決定哪種形式的(de)開放平台是開放的(de)。合作關系、業務模式、團隊情況、業務發展階段、系統穩定性等都是需要考慮的(de)因素。最後,詳細提出了(le)采用(yòng)何種或多(duō)種形式;
三、開放平台設計
這(zhè)一次,我們主要討(tǎo)論的(de)是屬于企業服務類型的(de)API模式開放平台的(de)設計與開發。主要要求符合智能硬件制造商開放式平台的(de)設計要求。支付寶和(hé)微信類型的(de)标準訪問類型開放平台是有區(qū)别的(de)。産品需求主要來(lái)自分(fēn)析的(de)水(shuǐ)平,從需求到功能擴展,不涉及具體的(de)技術方面。
開放平台主要解決以下(xià)幾個(gè)層面的(de)需求:
1.開發者身份注冊與數據權限範圍授權
2.開發人(rén)員(yuán)獲取相關信息(接口文檔、使用(yòng)說明(míng)、對(duì)接聯系人(rén)信息等)。
3.平台端内部管理(lǐ)、應用(yòng)審核流程、服務、業務交易管理(lǐ)、參數、人(rén)員(yuán)等業務流程參數配置。
4.商業交易管理(lǐ)和(hé)統計報告分(fēn)析(涉及雙方要求的(de)結算(suàn)類型)。
5.安全級别需求、加密、應用(yòng)密鑰、應用(yòng)接口權限控制、對(duì)黑(hēi)白名單的(de)訪問、現場(chǎng)減敏、恢複等。
結合需求分(fēn)析,對(duì)開放平台的(de)基本功能進行了(le)排序,主要針對(duì)開發人(rén)員(yuán)、内部管理(lǐ)員(yuán)以及基于安全級别的(de)一些功能要求。
1. 開發者門戶
通(tōng)常,開放平台會挂在公司官方網站的(de)某個(gè)入口,當然,有時(shí)也(yě)會放在特定的(de)門戶網站地址。開發人(rén)員(yuán)門戶主要是幫助用(yòng)戶在平台注冊、申請訪問、查詢和(hé)查看進度、查看相關訪問參數、下(xià)載文件等。訪問成功後,在線查看一些操作數據,便于與平台方進行協調。
注冊接入申請:開發者可(kě)以通(tōng)過公司名稱、手機号碼或電子郵件地址注冊賬号,注冊後填寫接入申請。申請表一般包括準入需求說明(míng)、關聯項目、聯系人(rén)(平台方、一般業務人(rén)員(yuán))、申請人(rén)聯系人(rén)及聯系方式、準入方式、費用(yòng)、申請類型等;
注:收費問題必須明(míng)确說明(míng),一些合作夥伴需要定制開發,通(tōng)常收費,一般标準API訪問免費,定制系統開發需要收費(一些合作夥伴會有開發要求);
進度視圖及參數獲取:提交申請後,開發者可(kě)以在線查看申請進度。審批成功後,開發人(rén)員(yuán)可(kě)以查看相關的(de)訪問參數。如果審批不成功,開發商可(kě)以修改并重新提交;
下(xià)載相關文件:開發人(rén)員(yuán)可(kě)以将接口下(xià)載到自己的(de)文件和(hé)其他(tā)相關文件;
業務往來(lái)管理(lǐ):針對(duì)不同開放業務涉及的(de)不同内容,對(duì)于有訂單業務或支付服務的(de)業務,需要進行往來(lái)管理(lǐ),主要包括業務查看、對(duì)賬、結算(suàn)等基本功能;
統計報表:主要根據開發商的(de)業務類型,提供一些相關服務的(de)數據報表,如訂單數量、變化(huà)趨勢、用(yòng)戶數據等,并與開放業務發展相結合;
2. 開放平台内管系統
開放平台内部管理(lǐ)系統主要解決内部業務人(rén)員(yuán)的(de)需求、相關部門負責人(rén)對(duì)訪問需求的(de)審核、系統管理(lǐ)員(yuán)對(duì)參數配置和(hé)服務管理(lǐ)等問題,以及相關對(duì)接人(rén)員(yuán)的(de)配置和(hé)視圖開發和(hé)運行管理(lǐ)。
接入申請審核和(hé)參數配置:内部相關人(rén)員(yuán)審批開發者的(de)應用(yòng)要求,審批成功後執行的(de)人(rén)員(yuán)應配置參數,并制定接口人(rén)的(de)聯合調試及相關問題。
操作管理(lǐ):主要用(yòng)于交易類型訂單的(de)管理(lǐ)與對(duì)賬,以及相關報表數據的(de)管理(lǐ)要求與配置;
3. 安全機制
安全機制主要管理(lǐ)開發人(rén)員(yuán)的(de)帳戶和(hé)權限、訪問次數、IP地址的(de)控制、黑(hēi)白列表的(de)控制等。并且重要的(de)是控制訪問服務器的(de)地址以改變公司的(de)人(rén)員(yuán)。
四、接口設計
開放平台功能基本明(míng)确。另外還(hái)有一個(gè)細分(fēn),我們會分(fēn)别拉出來(lái),就是界面的(de)設計。
一般情況下(xià),開放相關服務已由自己的(de)系統引用(yòng),具有相應的(de)接口功能,但不能直接使用(yòng),因爲作爲軟件平台設計和(hé)開發服務,由于版本問題和(hé)一些曆史原因,我們可(kě)能有一些曆史遺留問題。作爲開放平台外部輸出的(de)接口,我們應注意和(hé)處理(lǐ)幾個(gè)方面:
1. 對(duì)接口的(de)整合
對(duì)于一些複雜(zá)無用(yòng)的(de)字段,必須删除,以免給開發人(rén)員(yuán)帶來(lái)不必要的(de)麻煩
2. 對(duì)各版本系統兼容性
主要目标是一些廠商和(hé)設備前端軟件版本不同,因此參數内容範圍統計不完美(měi),雲平台必須完全兼容。
例如,在停車場(chǎng)景中,前端停車管理(lǐ)軟件的(de)曆史版本中返回雲平台的(de)車輛狀态碼有20個(gè),但雲平台對(duì)外開放時(shí)隻考慮10個(gè)狀态碼(可(kě)能原來(lái)隻有10個(gè)狀态)。在實際操作中,如果雲平台隻是做(zuò)一個(gè)透明(míng)的(de)傳輸而不兼容,那麽第三方系統可(kě)能獲得(de)未知的(de)狀态碼(不在接口文檔上),從而導緻第三方開發者設計的(de)系統出現缺陷。
3. 協議(yì)适配
服務可(kě)以是舊(jiù)系統,消息格式可(kě)以是XML、固定長(cháng)度消息等。在這(zhè)種情況下(xià),有必要修改和(hé)變換不同協議(yì)的(de)消息,以形成統一的(de)協議(yì)。
五、開放平台管理(lǐ)
開放平台的(de)設計開發完成後,需要良好的(de)運營管理(lǐ),才能充分(fēn)發揮開放平台的(de)應有作用(yòng),提升公司的(de)品牌實力和(hé)核心競争力。
首先,讓我們看看一個(gè)案例,在這(zhè)個(gè)案例中我将梳理(lǐ)一個(gè)開放平台的(de)對(duì)接流程圖:
進出對(duì)接各環節的(de)流程基本如上圖所示。以下(xià)主要介紹以下(xià)注意事項:
1、開發人(rén)員(yuán)提交申請後,通(tōng)常建議(yì)由售前或業務人(rén)員(yuán)進行審核和(hé)補充,包括客戶價值、項目價值、成本核算(suàn)等,因爲客戶填寫的(de)要求通(tōng)常隻在功能和(hé)使用(yòng)級别上設計。公司前端銷售人(rén)員(yuán)填寫的(de)信息有助于審批。公司的(de)項目管理(lǐ)和(hé)控制必須以銷售情況爲基礎,如訂單優先、高(gāo)價值客戶優先等
2、審計負責人(rén)一般由兩部分(fēn)組成,一是對(duì)市場(chǎng)側負責的(de)人(rén)進行審計,便于後期在公司内部進行結算(suàn)管理(lǐ),二是對(duì)技術支持方負責人(rén)的(de)審計,主要原因是要求明(míng)确,工作量大(dà),費用(yòng)高(gāo)。
注:在審核方面,前端銷售很容易滿足任何需求,也(yě)不太考慮相關成本。因此,平台公司最好建立一個(gè)良好的(de)成本控制意識和(hé)機制,而審計所涉及的(de)工作量必須反饋到前端,否則很容易造成任何需求都得(de)滿足。審計後,對(duì)公司整體業務或技術支持價值不大(dà)的(de)人(rén)都厭倦了(le)第三方對(duì)接。
3、在配置參數後,通(tōng)常可(kě)以将相關技術直接連接到平台上的(de)開發人(rén)員(yuán),并對(duì)相關問題進行直接溝通(tōng)。項目啓動時(shí),平台前端人(rén)員(yuán)還(hái)可(kě)以将雙方相關人(rén)員(yuán)拉到一起,進行分(fēn)組溝通(tōng)。平台側技術人(rén)員(yuán)也(yě)需要有客戶的(de)意識,尊重和(hé)滿足客戶的(de)需要盡可(kě)能多(duō)。
4,通(tōng)過測試環境,開發者可(kě)以開始正式的(de)環境在線應用(yòng),平台端的(de)配置參數,發布生産環境中的(de)開發人(rén)員(yuán)
5、發布後,開發商的(de)運營和(hé)财務需要參與數據審核、訂單對(duì)賬和(hé)結算(suàn)等
6、後記
在這(zhè)一點上,我基本上總結了(le)一個(gè)面向智能硬件制造商的(de)開放平台的(de)設計、開發和(hé)管理(lǐ)。當然,這(zhè)個(gè)方案也(yě)适用(yòng)于其他(tā)一些行業或系統。希望能給同齡人(rén)一些啓發。如果有任何錯誤,請改正和(hé)溝通(tōng)!