【云駐共創(chuàng)】GDE.ADC API編排介紹及案例演示
1、前言
本次直播由華為ADC平臺專家詹老師分享,老師先對GDE.ADC API編排能力、API編排特點進行了精彩分享,最后通過開發(fā)案例進行講解,加深大家對GDE API編排的理解。
2、概述
2.1、什么是API?
API,全稱Application Programming Interface,即應用程序編程接口。API是一些預先定義函數(shù),目的是用來提供應用程序與開發(fā)人員基于某軟件或者某硬件得以訪問一組例程的能力,并且無需訪問源碼或無需理解內部工作機制細節(jié)。同時也是操作系統(tǒng)給應用程序的調用接口,應用程序通過調用操作系統(tǒng)的 API而使操作系統(tǒng)去執(zhí)行應用程序的命令(動作)。在 Windows 中,系統(tǒng)API是以函數(shù)調用的方式提供的。
2.2、什么是API編排?
API 編排是云平臺解決方案開放接口網(wǎng)關,面向API集成開放、定制開放、能力開放,使能SI/DSV/ISV基于OpenAPI進行系統(tǒng)集成、編排定制和業(yè)務創(chuàng)新。一站式、全在線、低門檻完成開放接口的調研、開發(fā)、測試、運維、治理。
3、API編排優(yōu)勢
API編排擁有如下優(yōu)勢,它讓開發(fā)更簡單:
在線
在開發(fā)平臺一站式“調研?>?開發(fā)?>?測試”工具鏈中,支持全在線開發(fā),目前操作平臺涵蓋了很多操作環(huán)境,后續(xù)也會根據(jù)用戶使用情況,增加不同使用場景。
極速
API 編排具有多形式、多協(xié)議、多引擎、多編排,隨心構建,更多擴展功能,不同場景編排樣式多種多樣,可滿足大量使用場景。
可視
圖形化操作,使用簡單,即使是小白,也非常容易上手,操作界面非常人性化,界面簡潔明了,一看即可上手。
共享
在API編排場景中,所有API資產可以全面復用和廣泛共享,并支持多用戶共享。
4、API編排關鍵特性及應用場景
4.1、API精準調研
4.1.1、功能描述
API編排調研工具承載了從客戶調研階段準確獲取API接口元數(shù)據(jù),接口碼流報文的功能,為后續(xù)接口開發(fā)、測試提供完整的API信息輸入。
4.1.2、應用場景
SA在進行現(xiàn)場接口調研時面臨現(xiàn)網(wǎng)接口定義文檔缺失,或有接口定義文檔但內容年久失修,不準確的情況,使得SA在調研時工作量大,調研準確底低,無接口實例化數(shù)據(jù)等問題。
API調研工具可根據(jù)真實現(xiàn)網(wǎng)的API報文和API定義文件,自動化校準并生成正常的API接口文檔。
4.2、API全在線開發(fā)
4.2.1、功能描述
API 編排是一款可在線化、腳本化、圖形化開發(fā)方式的API開發(fā)工具,支持API提供者通過界面配置化、腳本化的方式開發(fā)API、降低技術門檻,提升開發(fā)效率。
4.2.2、核心價值
API 編排提供API編排功能,通過圖形化、配置化、腳本化方式,實現(xiàn)單個API流程或多個API混合在線編排,使能DSV進行API的定制開放,集成開放和能力開放。
4.2.3、應用場景
在真實業(yè)務系統(tǒng)中,多數(shù)情況下北向和南向的協(xié)議不同,無法對接,使用API 編排工具進行南向和北向的協(xié)議轉換,實現(xiàn)與第三方系統(tǒng)的快速對接、配對。
API 編排r開放套件基線定制能力,提供圖形化、腳本化的API定制、編排、沙箱環(huán)境、基線API等,支撐DSV/合作伙伴獨立定制交付。
4.3、API高效測試
4.3.1、功能描述
API測試工具根據(jù)輸入的API接口定義文件、測試用例及測試樁,自動化、在線化、可視化生成接口測試結果、成功率等,并且用戶可使用API測試工具對測試用例進行有效的管理。
4.3.2、核心價值
可基于無碼化、自動化生成測試用例,且支持場景化測試樁配置,同時可提升接口集成對接效率。
4.3.3、應用場景
典型場景下,套件基線開發(fā)、集成接口開發(fā)、套件定制開發(fā)團隊之間均存在相互進行接口調用情況。
在以上各接口的調用情況下,開發(fā)團隊會遇到以下痛點,通過測試工具可以對各痛點逐個擊破,有效提升接口集成調測效率。
4.4、API編排可視化、智能化運維
4.4.1、API編排動態(tài)生命周期管理
API 編排提供每個API的生態(tài)周期狀態(tài)管理,存儲API的生命周期歷史狀態(tài),決策API配置資產管理導致的生命周期變更。
4.4.2、南向服務端統(tǒng)一管理
API 編排支持DSF、HTTP協(xié)議接入的南向服務端網(wǎng)元的統(tǒng)一管理、配置,在API開發(fā)者進行API設計開發(fā)時,可以直接引用API 編排已管理的南向網(wǎng)元。
4.5、API資產管理與復用
API 編排提供API資產倉庫功能,能夠統(tǒng)一管理Open API相關的資產。API不僅僅是接口,API是一套完整的資產,以API為中心的一套資產包包括:
5、操作實踐
5.1、實踐場景
某局點使用的Billing系統(tǒng)提供的查詢群組狀態(tài)接口(ChangeGroupStatus)和基線不一樣,因此需要重新封裝一個ChangeGroupStatusBOService的DSF接口供Commerce側調用,實現(xiàn)在客戶360視圖上查詢變更群組狀態(tài)的功能。如圖所示,圖中ChangeGroupStatusBOService (DSF)表示待開發(fā)的接口。
在接口調用過程中如下信息需要關注:
DSF服務調用SOAP服務時,涉及到的敏感信息,例如用戶密碼,需要加密處理。(該任務在端點管理中配置)。
由于整個定制項目中需要同時使用到基線接口和定制接口,未發(fā)生變化的接口存放在基線項目中,需要定制或新增的接口放在定制項目中,您需要將兩個項目同時導出并部署到Access Out節(jié)點上,同時兩個項目中的API名稱、端點名稱不能有沖突。
5.2、開發(fā)流程
基于基線完成DSF調SOAP定制示例的開發(fā)流程。
5.3、 添加API
在API 編排調研工具中完成ChangeGroupStatusBOService設計,ChangeGroupStatusBOService是供Commerce調用的API。
操作步驟
登錄API開發(fā)工具界面。
(可選)新建項目。
如果使用已存在的項目,可跳過該步驟,直接進入步驟3目標項目。
本例中,新建名為“Demo”的項目,單擊“創(chuàng)建項目”,填寫相關信息,單擊“確定”,如圖所示。
進入Demo項目。
(可選)如果是基于老的項目且已關聯(lián)公共項目,可直接跳轉到步驟5新建目錄。否則,單擊左上角選擇“API開發(fā)”,進入API開發(fā)界面,單擊“引用包管理”,單擊進行關聯(lián)公共項目。關聯(lián)完成后單擊“確定”。
(可選)新建目錄。
本例中,如果使用已存在的目錄,可跳過該步驟,直接選擇目標目錄。
否則單擊左上角選擇“API調研”,進入API調研工具,在項目“Demo”下新建名為“com.huawei.bes.inf.cust”的目錄,如圖所示。
新建目錄
新增“ChangeGroupStatusBOService”。
在“API管理”頁簽中單擊“新增接口”。
填寫相關參數(shù),如圖所示。
其中“API服務名”為API在zookeeper注冊的服務名,必須唯一。基于Commerce的DSF協(xié)議調用第三方系統(tǒng)調用API時,API 編排通過zookeeper的“IP”、“端口”和“API服務名”找到該API。
新增“ChangeGroupStatusBOService”
單擊“確定”。
進入“ChangeGroupStatusBOService”詳情頁面,如圖所示。
“ChangeGroupStatusBOService”詳情
添加“ChangeGroupStatusBOService”定義文件。
單擊“添加文件>新建文件”。
單擊“確定”擴展全名和短名。
工具自動生成一個全新的SDL文件,包括名為“recommendService”的方法框架,自動生成默認的全名和短名,用戶可修改全名和短名。
全名用于定義接口的命名空間,短名為方法中的結構指定命名空間,例如如下SDL中,先聲明接口全名,struct中使用短名“vo”。
5.4、導入端點
單擊左上角選擇“API開發(fā)”,進入API開發(fā)工具。
單擊“端點管理”,進入“端點管理”頁面。
(可選)如果有目錄直接跳轉到步驟4,否則新建目錄。
本示例中新建“Billing”,詳細步驟同設計API-(可選)新建目錄。
如使用已有的目錄,可跳過該步驟。
上傳Billing系統(tǒng)提供的ChangeGroupStatus描述文件。
選擇目錄“Billing”后單擊“添加端點”。
彈出“添加端點”對話框。
單擊上傳ChangeGroupStatus描述文件。
本例中,Billing系統(tǒng)提供的ChangeGroupStatus文件名為“CBS_BC_Service.zip”,如圖所示。
上傳ChangeGroupStatus定義文件
其中“服務地址”為ChangeGroupStatus所在的“BcServices”服務被調用的地址,即服務器的URL,由服務提供方Billing系統(tǒng)提供。本例中使用測試樁模擬該服務,因此設置為測試樁的地址。
詳細參數(shù)解釋如下表所示,單擊“OK”。
對服務調用過程中的密碼等敏感字段進行脫敏,配置完成后,這些字段的內容在運行態(tài)日志中以***展示。
本示例中,根據(jù)設計要給“BcServices”服務,ChangeGroupStatus方法,請求參數(shù)中的如下字段脫敏:
Body Envelope/Body/ChangeGroupStatusBOServiceRequestMsg/RequestHeader/AccessSecurity/Password
在“端點管理”頁簽中單擊“BcServices”服務的服務名。
單擊下拉箭頭,選擇待添加敏感字段的服務和方法后單擊“確定”。
添加服務和方法
在左側導航樹中單擊ChangeGroupStatus方法。
單擊“請求”頁簽下的“添加字段”。
選擇字段位置并填寫字段值。
配置完成后如圖所示。字段值支持聯(lián)想,選中文本框后可聯(lián)想出第一級參數(shù),多級參數(shù)可輸入“/”聯(lián)想。
配置敏感字段
單擊右上角的“保存”。
5.5、API編排
在開發(fā)工具中單擊“API管理”,進入“API管理”頁面。
單擊接口名稱ChangeGroupStatusBOService,進入ChangeGroupStatusBOService方法的“流程編排”頁面。
根據(jù)業(yè)務流程完成圖元編排。
本示例中:
調用Billing提供的SOAP服務,修改群組狀態(tài)接口。通過圖元指定端點和對應的方法,配置API和端點的方法之間字段的映射關系,實現(xiàn)API對接。
在端點調用出錯時捕獲異常,并按端點的WSDL定義給異常結構賦值。
通過和編排異常信息處理流程。
編排完成后如圖2所示,添加并連接圖元的過程如圖3所示,圖元介紹請參考圖元參考。
5.6、部署和發(fā)布API
通過API Portal導入ChangeGroupStatusBOService。
登錄API Portal。
在“資產管理”頁面上方選擇要部署的Zone和租間名稱。
單擊“接口導入>?升級”,填寫完描述后,拖動“ChangeGroupStatusBOService_v1.0.0.zip”到指定區(qū)域,單擊“開始上傳”,如圖所示。
上傳API包
界面出現(xiàn)類似“鏡像升級成功”信息表示升級成功。升級成功后:
在“API管理”頁面展示,生命周期為“已發(fā)布”。
5.7、??? 驗證API
進入API測試工具。
在API 編排中單擊左上角選擇“API測試”,進入API測試工具。
單擊ChangeGroupStatusBOService進入API測試頁面。
如圖所示。
ChangeGroupStatus測試頁
新建測試用例。
新建的測試用例模擬Commerce調用ChangeGroupStatus。
單擊服務器地址后的“編輯”,填寫相關參數(shù)后單擊“確認”。
填寫說明如下:
標號“1”處需填寫Access Out連接的ZK地址。
對于基于DSF的API,必須注冊到ZK才允許第三方訪問。ZK地址可登錄部署Access Out的主機,查看“webapps/access/WEB-INF/classes/conf/usf.properties”或者“webapps/access/WEB-INF/classes/conf/dsf.properties”中“zk.server.url”的值。
標號“2”處需填寫API服務名。
標號“3”處根據(jù)DSF是否鑒權選擇。
是否鑒權可登錄部署Access Out的主機,查看“webapps/access/WEB-INF/classes/conf/usf.properties”或者“webapps/access/WEB-INF/classes/conf/dsf.properties”中“dsf.authentication.enable”的值
單擊“新建用例”。
如所示,填寫用例名稱,選擇要調用的API,工具根據(jù)API定義自動生成請求報文。報文中未填寫參數(shù)值,為方便測試,可選擇1-2個參數(shù)填寫,如圖所示。
執(zhí)行測試用例。
在新建用例頁面單擊右上角的“執(zhí)行”。查看測試結果。
如果測試結果中返回的消息為您在Mock服務中配置的消息,則說明調測成功。
6、結尾
本文整理自華為云社區(qū)【內容共創(chuàng)】活動第15期。
https://bbs.huaweicloud.com/blogs/345822
任務4:GDE.API編排介紹及案例演示
API TCP/IP
版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。
版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。