写点什么

灵犀平台—API 的全可视化开发

作者:鲸品堂
  • 2021 年 11 月 23 日
  • 本文字数:3760 字

    阅读完需:约 12 分钟

灵犀平台—API的全可视化开发

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


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


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 开发跟通过其他模式开发比对:



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


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

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

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

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

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

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


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


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

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

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

发布于: 刚刚阅读数: 3
用户头像

鲸品堂

关注

全球领先的数字化转型专家 2021.03.16 加入

鲸品堂专栏,一方面将浩鲸精品产品背后的领先技术,进行总结沉淀,内外传播,用产品和技术助力通信行业的发展;另一方面发表浩鲸专家观点,品读行业、品读市场、品读趋势,脑力激荡,用远见和创新推动通信行业变革。

评论

发布
暂无评论
灵犀平台—API的全可视化开发