在API開發的實踐中有一項重要的過程就是規劃API規範。API規範一般包含一組API(一般咱們稱之爲服務)的定義,就像房子的藍圖同樣。一份API規範中應該包含一個微服務應用提供了哪些API,這些API上承載的數據的定義。API規範能夠幫助提早作好應用的結構設計,因此API規範的編寫是開發前的關鍵步驟,它能夠幫助你在編寫代碼以前下降設計缺陷或問題。
git
API驅動的開發流程github
在以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 獲取關於產品的進一步信息。運維