【云驻共创】GDE.ADC API编排介绍及案例演示
1、前言
本次直播由华为ADC平台专家詹老师分享,老师先对GDE.ADC API编排能力、API编排特点进行了精彩分享,最后通过开发案例进行讲解,加深大家对GDE API编排的理解。
2、概述
2.1、什么是API?
API,全称Application Programming Interface,即应用程序编程接口。API是一些预先定义函数,目的是用来提供应用程序与开发人员基于某软件或者某硬件得以访问一组例程的能力,并且无需访问源码或无需理解内部工作机制细节。同时也是操作系统给应用程序的调用接口,应用程序通过调用操作系统的 API而使操作系统去执行应用程序的命令(动作)。在 Windows 中,系统API是以函数调用的方式提供的。
2.2、什么是API编排?
API 编排是云平台解决方案开放接口网关,面向API集成开放、定制开放、能力开放,使能SI/DSV/ISV基于OpenAPI进行系统集成、编排定制和业务创新。一站式、全在线、低门槛完成开放接口的调研、开发、测试、运维、治理。
3、API编排优势
API编排拥有如下优势,它让开发更简单:
- 在线
在开发平台一站式“调研 > 开发 > 测试”工具链中,支持全在线开发,目前操作平台涵盖了很多操作环境,后续也会根据用户使用情况,增加不同使用场景。
- 极速
API 编排具有多形式、多协议、多引擎、多编排,随心构建,更多扩展功能,不同场景编排样式多种多样,可满足大量使用场景。
- 可视
图形化操作,使用简单,即使是小白,也非常容易上手,操作界面非常人性化,界面简洁明了,一看即可上手。
- 共享
在API编排场景中,所有API资产可以全面复用和广泛共享,并支持多用户共享。
4、API编排关键特性及应用场景
4.1、API精准调研
4.1.1、功能描述
API编排调研工具承载了从客户调研阶段准确获取API接口元数据,接口码流报文的功能,为后续接口开发、测试提供完整的API信息输入。
4.1.2、应用场景
SA在进行现场接口调研时面临现网接口定义文档缺失,或有接口定义文档但内容年久失修,不准确的情况,使得SA在调研时工作量大,调研准确底低,无接口实例化数据等问题。
API调研工具可根据真实现网的API报文和API定义文件,自动化校准并生成正常的API接口文档。
4.2、API全在线开发
4.2.1、功能描述
API 编排是一款可在线化、脚本化、图形化开发方式的API开发工具,支持API提供者通过界面配置化、脚本化的方式开发API、降低技术门槛,提升开发效率。
4.2.2、核心价值
API 编排提供API编排功能,通过图形化、配置化、脚本化方式,实现单个API流程或多个API混合在线编排,使能DSV进行API的定制开放,集成开放和能力开放。
4.2.3、应用场景
在真实业务系统中,多数情况下北向和南向的协议不同,无法对接,使用API 编排工具进行南向和北向的协议转换,实现与第三方系统的快速对接、配对。
API 编排r开放套件基线定制能力,提供图形化、脚本化的API定制、编排、沙箱环境、基线API等,支撑DSV/合作伙伴独立定制交付。
4.3、API高效测试
4.3.1、功能描述
API测试工具根据输入的API接口定义文件、测试用例及测试桩,自动化、在线化、可视化生成接口测试结果、成功率等,并且用户可使用API测试工具对测试用例进行有效的管理。
4.3.2、核心价值
可基于无码化、自动化生成测试用例,且支持场景化测试桩配置,同时可提升接口集成对接效率。
4.3.3、应用场景
典型场景下,套件基线开发、集成接口开发、套件定制开发团队之间均存在相互进行接口调用情况。
在以上各接口的调用情况下,开发团队会遇到以下痛点,通过测试工具可以对各痛点逐个击破,有效提升接口集成调测效率。
4.4、API编排可视化、智能化运维
4.4.1、API编排动态生命周期管理
API 编排提供每个API的生态周期状态管理,存储API的生命周期历史状态,决策API配置资产管理导致的生命周期变更。
4.4.2、南向服务端统一管理
API 编排支持DSF、HTTP协议接入的南向服务端网元的统一管理、配置,在API开发者进行API设计开发时,可以直接引用API 编排已管理的南向网元。
4.5、API资产管理与复用
API 编排提供API资产仓库功能,能够统一管理Open API相关的资产。API不仅仅是接口,API是一套完整的资产,以API为中心的一套资产包包括:
5、操作实践
5.1、实践场景
某局点使用的Billing系统提供的查询群组状态接口(ChangeGroupStatus)和基线不一样,因此需要重新封装一个ChangeGroupStatusBOService的DSF接口供Commerce侧调用,实现在客户360视图上查询变更群组状态的功能。如图所示,图中ChangeGroupStatusBOService (DSF)表示待开发的接口。
在接口调用过程中如下信息需要关注:
- DSF服务调用SOAP服务时,涉及到的敏感信息,例如用户密码,需要加密处理。(该任务在端点管理中配置)。
- 由于整个定制项目中需要同时使用到基线接口和定制接口,未发生变化的接口存放在基线项目中,需要定制或新增的接口放在定制项目中,您需要将两个项目同时导出并部署到Access Out节点上,同时两个项目中的API名称、端点名称不能有冲突。
5.2、开发流程
基于基线完成DSF调SOAP定制示例的开发流程。
5.3、 添加API
在API 编排调研工具中完成ChangeGroupStatusBOService设计,ChangeGroupStatusBOService是供Commerce调用的API。
操作步骤
登录API开发工具界面。
- (可选)新建项目。
如果使用已存在的项目,可跳过该步骤,直接进入步骤3目标项目。
本例中,新建名为“Demo”的项目,单击“创建项目”,填写相关信息,单击“确定”,如图所示。
- 进入Demo项目。
- (可选)如果是基于老的项目且已关联公共项目,可直接跳转到步骤5新建目录。否则,单击左上角选择“API开发”,进入API开发界面,单击“引用包管理”,单击进行关联公共项目。关联完成后单击“确定”。
- (可选)新建目录。
本例中,如果使用已存在的目录,可跳过该步骤,直接选择目标目录。
否则单击左上角选择“API调研”,进入API调研工具,在项目“Demo”下新建名为“com.huawei.bes.inf.cust”的目录,如图所示。
新建目录
- 新增“ChangeGroupStatusBOService”。
- 在“API管理”页签中单击“新增接口”。
- 填写相关参数,如图所示。
其中“API服务名”为API在zookeeper注册的服务名,必须唯一。基于Commerce的DSF协议调用第三方系统调用API时,API 编排通过zookeeper的“IP”、“端口”和“API服务名”找到该API。
新增“ChangeGroupStatusBOService”
- 单击“确定”。
进入“ChangeGroupStatusBOService”详情页面,如图所示。
“ChangeGroupStatusBOService”详情
- 添加“ChangeGroupStatusBOService”定义文件。
- 单击“添加文件>新建文件”。
- 单击“确定”扩展全名和短名。
工具自动生成一个全新的SDL文件,包括名为“recommendService”的方法框架,自动生成默认的全名和短名,用户可修改全名和短名。
全名用于定义接口的命名空间,短名为方法中的结构指定命名空间,例如如下SDL中,先声明接口全名,struct中使用短名“vo”。
5.4、导入端点
- 单击左上角选择“API开发”,进入API开发工具。
- 单击“端点管理”,进入“端点管理”页面。
- (可选)如果有目录直接跳转到步骤4,否则新建目录。
本示例中新建“Billing”,详细步骤同设计API-(可选)新建目录。
如使用已有的目录,可跳过该步骤。
- 上传Billing系统提供的ChangeGroupStatus描述文件。
- 选择目录“Billing”后单击“添加端点”。
弹出“添加端点”对话框。
- 单击上传ChangeGroupStatus描述文件。
本例中,Billing系统提供的ChangeGroupStatus文件名为“CBS_BC_Service.zip”,如图所示。
上传ChangeGroupStatus定义文件
其中“服务地址”为ChangeGroupStatus所在的“BcServices”服务被调用的地址,即服务器的URL,由服务提供方Billing系统提供。本例中使用测试桩模拟该服务,因此设置为测试桩的地址。
详细参数解释如下表所示,单击“OK”。
对服务调用过程中的密码等敏感字段进行脱敏,配置完成后,这些字段的内容在运行态日志中以***展示。
本示例中,根据设计要给“BcServices”服务,ChangeGroupStatus方法,请求参数中的如下字段脱敏:
Body Envelope/Body/ChangeGroupStatusBOServiceRequestMsg/RequestHeader/AccessSecurity/Password
- 在“端点管理”页签中单击“BcServices”服务的服务名。
- 单击下拉箭头,选择待添加敏感字段的服务和方法后单击“确定”。
添加服务和方法
- 在左侧导航树中单击ChangeGroupStatus方法。
- 单击“请求”页签下的“添加字段”。
- 选择字段位置并填写字段值。
配置完成后如图所示。字段值支持联想,选中文本框后可联想出第一级参数,多级参数可输入“/”联想。
配置敏感字段
单击右上角的“保存”。
5.5、API编排
- 在开发工具中单击“API管理”,进入“API管理”页面。
- 单击接口名称ChangeGroupStatusBOService,进入ChangeGroupStatusBOService方法的“流程编排”页面。
根据业务流程完成图元编排。
本示例中:
- 调用Billing提供的SOAP服务,修改群组状态接口。通过图元指定端点和对应的方法,配置API和端点的方法之间字段的映射关系,实现API对接。
- 在端点调用出错时捕获异常,并按端点的WSDL定义给异常结构赋值。
通过和编排异常信息处理流程。
编排完成后如图2所示,添加并连接图元的过程如图3所示,图元介绍请参考图元参考。
5.6、部署和发布API
通过API Portal导入ChangeGroupStatusBOService。
- 登录API Portal。
- 在“资产管理”页面上方选择要部署的Zone和租间名称。
- 单击“接口导入> 升级”,填写完描述后,拖动“ChangeGroupStatusBOService_v1.0.0.zip”到指定区域,单击“开始上传”,如图所示。
上传API包
界面出现类似“镜像升级成功”信息表示升级成功。升级成功后:
- 在“API管理”页面展示,生命周期为“已发布”。
5.7、 验证API
- 进入API测试工具。
- 在API 编排中单击左上角选择“API测试”,进入API测试工具。
- 单击ChangeGroupStatusBOService进入API测试页面。
如图所示。
ChangeGroupStatus测试页
- 新建测试用例。
新建的测试用例模拟Commerce调用ChangeGroupStatus。
单击服务器地址后的“编辑”,填写相关参数后单击“确认”。
填写说明如下:
- 标号“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”处根据DSF是否鉴权选择。
是否鉴权可登录部署Access Out的主机,查看“webapps/access/WEB-INF/classes/conf/usf.properties”或者“webapps/access/WEB-INF/classes/conf/dsf.properties”中“dsf.authentication.enable”的值
- 单击“新建用例”。
如所示,填写用例名称,选择要调用的API,工具根据API定义自动生成请求报文。报文中未填写参数值,为方便测试,可选择1-2个参数填写,如图所示。
执行测试用例。
在新建用例页面单击右上角的“执行”。查看测试结果。
如果测试结果中返回的消息为您在Mock服务中配置的消息,则说明调测成功。
6、结尾
本文整理自华为云社区【内容共创】活动第15期。
https://bbs.huaweicloud.com/blogs/345822
任务4:GDE.API编排介绍及案例演示
- 点赞
- 收藏
- 关注作者
评论(0)