鲸品堂|灵犀平台—API的全可视化开发

2021-10-27 864
作为一个程序猿,接手一个老项目时,经常遇到无文档无注释,此时不提有多崩溃;作为一个设计人员,只能等功能验收时才能知道逻辑是否符合设计,若错误会造成大量返工和资源浪费;作为业务人员,只能等软件交付后才能验证业务需求是否正确实现,若错误又要大大延长需求交付周期;作为一个新人,要学习很多技术栈和编程知识才能加入到项目开发中,加上技术迭代这么快,开发门槛就更高了。

那我们是继续这样负重前行,还是寻求改变?能否寻求一种大家都更简单更高效的模式,让大家都可以成为开发者。

API开发的痛点分析


浩鲸科技每年要交付几百个项目,根据项目不同,会涉及到多个产品研发和集成,过程中我们经常遇到API开发的一些问题,主要如下:


API无具体规范:导致沟通、联调、接入成本巨大;


API开发无法很好的衔接,开发是把设计文档转译为代码;


API文档不全,导致后期开发维护工作量巨大;


API技术栈很难标准化,多模块集成时经常遇到技术栈版本冲突;


API开发门槛高,需要懂语言、微服务、分布式技术;


API的质量不受控,基本依赖于开发人员技术能力。


总体上,API开发体验还是比较差,开发门槛较高、效率较低、质量偏低。这种模式下,业务开发无法聚焦于业务逻辑开发,很大精力要关注技术问题,导致业务开发效率大打折扣。

随研发精进,浩鲸科技逐步沉淀了自己的技术框架、业务框架和云原生技术底座,解决了API开发部分技术栈的问题,无需从0开始研发;今年又发布了灵犀平台,解决了API研发主要痛点。

API全可视化开发


浩鲸科技经过长期研发沉淀和抽象,最终形成了灵犀快速开发平台。灵犀快速开发平台是一个面向“公民开发者”的开发平台,通过标准化资产库+技术开放体系+可视化开发工具快速构建软件应用。“公民开发者”可以让更多人参与到开发中,可以让没有编程经验或者少量编程经验的人参与开发,可以让业务咨询师、产品经理、业务架构师、测试人员、项目经理、运维人员都可以成为开发人员。
图片关键词
图片关键词

上图是灵犀平台的一个逻辑功能架构图。灵犀快速开发平台底层基于云原生技术框架,开发出的应用天然具备云原生特性,平台提供了设计开发平台、运行引擎平台、基础管理平台、资产管理平台。

灵犀平台提供了API的全程可视化研发,从API契约设计、API业务建模、API编程、API调测、API连接外部能力,助力API开发实现高效、低门槛、高质量的API开发,业务开发可以聚焦业务逻辑开发。

1
API契约可视化管理

由于API缺乏规范,导致沟通、联调和接入成本很高。尤其是涉及众多子系统、子模块进行集成联调时候,经常由于个别模块接口的变化导致集成失败,很多模块重复返工,浪费了大量资源。

灵犀平台提供API的契约管理,提供了API契约设计、API契约查询、API在线拨测。通过API契约化,研发有了共同语言,免去沟通、联调和接入的痛点。


API契约设计:灵犀平台提供API契约设计,设计人员可以通过可视化设计工具定义API契约,可以定义好API访问路径 、出入参数、调用样例等。后续开发时候遵循契约进行开发。


图片关键词



API契约查询:灵犀平台提供了API市场,所有发布的API都在市场中,在API市场中可以查询到所有开放的API契约,联调、接入时候可以按API市场定义契约。


API在线拨测:灵犀平台API市场还提供了API拨测功能,提供样例直接调用API,可以清晰看到出入参结果,清晰知道入参填写是否正确,免去沟通、联调,让接入者、使用者有更直接的体验。


图片关键词


2
API可视化业务建模

灵犀平台提供了API的可视化业务建模,可以创建业务模型,而后在业务模型基础上创建业务对象。


业务建模:灵犀平台提供灵活多样的业务建模能力,可以根据实际场景选择不同的建模方式。若是新项目,可以直接在灵犀平台上手工建模,或者通过SQL自动创建模型;若是老项目,可以把模型批量导入。


行业模型库:浩鲸还沉淀了系列行业模型,业务建模时可以直接复用已有的行业模型,减少建模工作量。


图片关键词



业务对象设计:业务建模主要是完成数据的物理存储,业务对象提供模型如何跟页面、服务的对接。业务对象设计时候可以定义相关对象关系、对象属性显示规则、对象脱敏设置、对象属性值设置等能力。


3
API可视化编程

传统开发方式,对于需求分析和设计后,再由开发编码转换为实现。在编码阶段,由于编程知识和技术门槛,多数需求和设计都很难接入;对于API开发人员来说,要熟悉业务逻辑,还要熟悉各种技术栈,门槛比较高,而且代码质量完全随开发人员技能和心情。

灵犀平台对常用的程序控制逻辑、数据访问、API集成、规则集成、业务流程集成、代码段或函数复用进行了抽象和封装,形成了几十个常用组件,实现了API的可视编程。

灵犀平台提供API可视化编程、API处理逻辑,按流程可视化展示、API处理逻辑浏览和查看、丰富的API组件供对接数据库、链接外部能力、自定义代码。
图片关键词
图片关键词


API处理逻辑可视化:编排出的API处理逻辑是一个可视化的流程图,整个API的处理逻辑一目了然。从需求人员和设计人员维度,通过流程图很容易知道需求在开发落地中业务处理逻辑是否有问题。从客户角度,通过流程图可以掌握业务的实际处理逻辑,清晰了解到业务逻辑是否正确,实现知识的自主掌控。对于后续接手人员来说,代码即文档,能够快速上手,免去钻研代码的痛苦。


API拖拽式开发:点击API处理流程,可以在流程上增加处理环节,提供20+的组件供选择。包括我们编程中使用的程序控制逻辑、数据操作、访问外部服务、集成规则、集成业务流程、集成函数或自定义代码段、通知等组件。可以满足我们绝大部分API的开发诉求。


API处理逻辑查看:API业务处理逻辑开发完后,提供查询回看功能。可以再查询整体处理逻辑是否正确,每个环节的出入参映射是否正确。


丰富的组件:

    • 逻辑组件:提供了我们编程常用的程序控制结构,有条件结构、循环结构;条件结构提供单条件(if )组件、分支判断组件(if … else )两种;循环结构提供循环组件(loop )和循环跳出组件(break);还提供了过程变量的定定义。

    • 数据组件:数据组件提供了对数据库操作的封装,可以对查询、更新、自定义查询等关键逻辑进行封装。提供了API编程中要对数据库可视化能力。通过数数据访问组件,可以根据业务要求快捷对数据进行操作。

      图片关键词


    • 服务组件:编程过程免不了要调用外部系统或其他模块的服务,外部服务组件提供了外部服务访问的封装,拖拽外部服务组件就可以一键访问外部服务,无无需任何代码。

    • 规则组件:规则组件实现跟规则中心对接,针对一些复杂业务逻辑需要通过业业务规则来控制时,可以使用规则组件来调用规则中心的能力,复用规则的扩扩展能力实现业务逻辑的规则化。

    • 流程组件:流程组件实现了调用流程平台已有流程的能力,若在API逻辑中要引用流程,可以使用流程组件调用流程平台的流程启动、流程流转等能力实现现对业务流程的控制,满足业务处理中跟业务流程的关联互动。

    • 工具箱组件:若API处理逻辑中还需要需要做一些特殊处理,需要单独写代码实现,工具箱组件提供一些自定义函数库供复用,可以直接使用工具箱的函数数库进行开发,也可以开发自己编写扩展的函数直接集成到API处理环节中。


4
API在线调测

可视化开发可以有效降低API开发门槛,API开发完后,如何验证API处理逻辑是否正确?灵犀平台提供在线调测功能,提供可视化调测,轻松搞定API处理逻辑的正确性。


API在线调测:API开发完后,点击服务调测功能,调测功能提供API各环节处理链,提供每个环节的出入参、处理耗时、处理详细日志信息。通过调测结果,可以清晰明了看到每个环节的出入参值,可以知道对于环节参数映射是否存在问题。


图片关键词



图片关键词函数调测:API开发过程的工具箱组件可以提供自定义函数管理,对于自定义的函数也提供在线测试功能。可以输入函数入参对函数进行测试,验证函数返回是否符合开发人员预期。


5
API能力连接器

API开发中,我们可能要与很多外部平台、外部模块对接,而由于各种历史原因,各个平台的API的技术栈还会存在差异,对于比较老些的系统,比如WebService,对于较新的系统,基本采用微服务架构,常用的微服务技术栈有Dubbo、SpringCloud、gRPC等,若每个API编程都需要去对接不同的技术栈,工作量会很大,对开发人员要求也会很高。

灵犀平台提供API能力连接器,可以接入丰富的服务类型,面向开发者可以统一转换为HTTP/HTTPS服务,免去开发集成复杂多样的痛苦。

目前灵犀平台API能力连接器可以接入SOAP、Dubbo、NACOS、HTTP、gRPC、数据库等不同类型的API能力。

总结和展望


我们回顾下,通过犀平台进行API开发跟通过其他模式开发比对:


从0开始开发使用框架开发使用灵犀平台开发
API设计第三方工具全可视化(契约、业务建模、业务逻辑)
API编程直接编码直接编码可视化编程
API技术难度高(要关注引入的所有技术)中(框架解决了部分技术栈)低(20+组件,开发聚焦业务)
API调测难度复杂中等简单(在线调测)
API集成难(协调、沟通)简单(API市场上订阅使用)
开发者门槛高(全编码)中偏高(绝大部分编码)低(极少编码)
开发效率
代码质量偏低(完全依赖开发)中等偏低(大部分依赖开发)高(代码绝大部分自动生成)

我们总结下,通过灵犀平台开发API的好处:


高效率:业务开发聚焦业务逻辑,无需关注技术;


低成本:通过复用组件和能力,交付周期更短成本更低;通过API处理逻辑可视化展示,降低了后续开发维护成本;


低门槛:无需编程经验,可以全民开发;


高质量:代码基本是自动生成,质量内建;


全程可视化:设计、编码、调测都提供可视化工具;


自主掌控:API处理逻辑以流程图可视化展示,对客户可以实现自主掌控。


灵犀平台今年才发布,在整个平台上,在API开发上还有很长的路要走,在API开发能力上还需继续演进:


API开发的架构:API开发发布后,采用Serverless架构承载;API开发只关注业务,不用关注资源、运行和运维;


API的能力连接器丰富:需要进一步丰富API的能力连接器,提供更多标准化能力,实现更丰富的API业务场景开发;包括消息服务、缓存服务、云能力服务等;


API组件丰富:提供更丰富的API组件,满足更丰富的API业务场景;包括文件处理类、协议转换等。


官方微信公众号

九州官方网站 版权所有 2003-2023

苏ICP备10224443号-6       苏公网安备 32011402011374号