以API驅動的開發流程:選擇一個出色的API規範可以幫你節省時間和省去麻煩

APEMESH發表於2019-04-04

在API開發的實踐中有一項重要的過程就是規劃API規範。API規範通常包含一組API(通常我們稱之為服務)的定義,就像房子的藍圖一樣。一份API規範中應該包含一個微服務應用提供了哪些API,這些API上承載的資料的定義。API規範可以幫助提前做好應用的結構設計,所以API規範的編寫是開發前的關鍵步驟,它可以幫助你在編寫程式碼之前降低設計缺陷或問題。 API驅動的開發流程 在以API驅動的開發過程中,開發者首先建立某一種機器和人都能識別,並且長期存在的API規範。遵循API規範,可以讓你在開發API時提前捕獲任何小故障或不一致之地方。雖然這個過程將使開發工作增加少量開銷,但這項工作必不可少,因為它可以大大加速後面應用開發和測試維護的時間。預先規劃好的API規範可以為你的開發節省數月甚至數年的時間,並且提高已開發好的API的複用性。否則,除了要在API設計上多花時間,有時候甚至必須從頭構建一個新的API。 API驅動的開發流程鼓勵將設計階段與開發階段分開,並迭代地進行處理。API的實現快速演進,但API規範保持穩定,可以確保API的使用者不會受到變化帶來的影響。這也意味著使用標準化規範構建設計時,就可以通過模擬並獲得使用者反饋資訊來測試該規範。 API規範有很多型別,對於REST API,較為流行的API規範有Swagger, RAML等。對於SOAP,通常使用基於W3C標準的,XML格式的WSDL規範。 對於REST和SOAP區別感興趣的讀者可以參考我的另一篇文章比較REST和SOAP之間的差別。 作為國內API管理領域的領導者,靈長科技開發的通用企業應用介面管理系統(CEAMS)為Node.js開發者提供了包括Web IDE在內的全套微服務應用開發以及API管理工具,以及相應的後臺微服務框架:CDIF的支援。在CEAMS上,系統也為開發者提供了一份創新的內建API規範模型。這份API規範模型可以看作是一個JSON版本的WSDL規範,可以被用來描述在CEAMS系統上執行的雲端微服務應用提供的JSON API介面,以及在這些API上傳輸的JSON資料的定義。在CEAMS系統上,系統將要求開發者從規劃API開始,通過系統提供的JSON編輯器建立和編輯這份API規範:使用者首先為自己的API起一個名字,同時為它自由地建立符合JSON Schema標準的,任意巢狀複雜度的API請求和返回的JSON資料結構定義。從這份API規範出發,系統將自動為開發者建立應用的框架JavaScript程式碼、API文件、API呼叫方的接入程式碼(目前支援Java)、以及線上的API測試工具等等。這些工具可以幫助開發者在很大程度上減少編寫程式碼、文件和手動測試的精力,保持文件和程式碼永遠一致,減輕對接和同步的工作量。同時,系統將根據開發者編寫的API規範中提供的JSON schema資料定義,在執行時自動對輸入的API請求資料做資料驗證,並過濾掉不合法的請求,幫助提高微服務應用的資料安全性和穩定性。 API設計背後的邏輯思路很簡單:保持足夠的靈活性和複用能力。這也就意味著當你構建API時要提前計劃——不僅僅是規劃專案路線圖以縮短開發週期,而是為未來一兩年可能存在的需求做出安排,好的API應該支援多種內容型別並保持靈活性開發者要保持一顆正確的心態——因為你將長期關注你所構建的API。選擇一個出色的API規範可以節省時間以及省去開發過程中不必要的麻煩,同時,選擇一個全面專業的開發平臺,同樣也會提升開發運維效率。 靈長科技自主開發的智慧連線和資料整合平臺CEAMS,是為Node.js技術生態中的API和微服務應用開發者量身定做的微服務應用開發和以及API運維管理系統。將系統連線、資料整合、業務邏輯全部通過鬆耦合整合於一體的開發平臺。系統的目標客戶主要是系統和資料整合開發者。開發者利用CEAMS系統,可以通過統一的規範模式,快速地與各類IT系統,資料庫,雲端計算服務和智慧裝置高效對接,平臺不僅幫助開發者簡化了許多與底層裝置對接的複雜操作,並基於提供大量的自動化工具。CEAMS系統已在國內包括長沙警務雲等多個IT專案中得到成功應用,並在單個專案中成功支援數十位開發者同時線上開發和管理自身的後臺微服務應用。目前,CEAMS系統已開放免費下載使用,感興趣的使用者可以和我們聯絡或加入靈長科技技術支援QQ群:618450152 獲取關於產品的進一步資訊。

相關文章