CN113805870B - 一种基于bff架构的服务接口编排方法和系统 - Google Patents

一种基于bff架构的服务接口编排方法和系统 Download PDF

Info

Publication number
CN113805870B
CN113805870B CN202111104479.XA CN202111104479A CN113805870B CN 113805870 B CN113805870 B CN 113805870B CN 202111104479 A CN202111104479 A CN 202111104479A CN 113805870 B CN113805870 B CN 113805870B
Authority
CN
China
Prior art keywords
service
interface
binding
parameter
definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111104479.XA
Other languages
English (en)
Other versions
CN113805870A (zh
Inventor
李超
王海东
崔琛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Sailing Information Technology Co ltd
Original Assignee
Shanghai Sailing Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Sailing Information Technology Co ltd filed Critical Shanghai Sailing Information Technology Co ltd
Priority to CN202111104479.XA priority Critical patent/CN113805870B/zh
Publication of CN113805870A publication Critical patent/CN113805870A/zh
Application granted granted Critical
Publication of CN113805870B publication Critical patent/CN113805870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种一种基于BFF架构的服务接口编排方法和系统,涉及信息交互技术领域。在微服务架构下,通过可视化配置方式的编排定义,完成服务接口编排定义后的响应式的服务接口编排引擎;可视化配置方式的编排定义包括:业务接口定义、第三方服务定义、查询映射定义;第三方服务定义用于完成第三方服务配置、领域配置、被调用方接口配置;查询映射定义用于完成业务接口参数和被调用方服务接口参数的映射、编排处理过程;响应式的服务接口编排引擎包括注册中心、网关、执行引擎。本发明的响应式的服务接口编排引擎结合可视化的配置定义,不用预先定义编排流程,配置的调整,实时生效,架构简单,执行效率高,能够快速应对需求变化。

Description

一种基于BFF架构的服务接口编排方法和系统
技术领域
本发明涉及信息交互技术领域,尤其涉及一种基于BFF架构的服务接口编排方法和系统。
背景技术
近些年来,随着IT系统的发展,多终端、多平台、多业务形态、多技术选型等各方面的都加快了发展,这使得前后端的数据交互日益复杂。同一份数据,可能以多种不同的形态和结构,在多种场景下被消费。因此面向领域模型的后端需求跟面向页面呈现的前端需求之间的矛盾日益显著。
需要将面向领域模型的后端服务接口按照前端呈现需求进行接口数据的组合、拼接、裁剪、转换,快速将前端需求变现,提升前端开发效率。
现有处理方式有两种:第一种方式,后端开发人员调整现有接口满足需求,开发全新接口提供给前端,新增和调整完成后需要重新部署服务或者增加部署服务,提供给前端使用;第二种方式,引入流程式的服务接口编排引擎,开发人员通过编码方式完成服务接口的编排定义,之后发布部署新服务,提供给前端使用。
但是,第一种方式需要调整原有部署服务或者部署新的服务来满足,造成实施成本较高,同时前端需求变化的快速解决效率较低;第二种方式的服务接口编排引擎架构架构过于复杂,服务接口编排定义过程较复杂,需要开发人员才能完成,并且通过编码方式完成,造成开发成本较高。
总之,现有处理方式均需要开发人员参与,处理方式不够灵活,不能满足前端需求快速解决,应对需求变化的效率较低。
因此,本领域的技术人员致力于开发一种基于BFF架构的服务接口编排方法和系统,能够快速实现前端需求,增加处理方式的灵活度,减少开发人员介入。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何快速实现前端需求,如何在不要增加和调整服务的情况下快速实现前端业务创新,如何简化服务接口编排引擎架构。
为实现上述目的,本发明提供了一种基于BFF架构的服务接口编排方法,其特征在于,在微服务架构下,通过可视化配置方式的编排定义,完成服务接口编排定义后的响应式的服务接口编排引擎;
所述可视化配置方式的编排定义包括:业务接口定义、第三方服务定义、查询映射定义;
所述业务接口指的是前端调用方根据页面呈现需求定义的接口需要的请求入参、响应返回值;
所述第三方服务定义用于完成第三方服务配置、领域配置、被调用方接口配置;
所述查询映射定义用于完成业务接口参数和被调用方服务接口参数的映射、编排处理过程;
所述响应式的服务接口编排引擎包括注册中心、网关、执行引擎。
进一步地,所述第三方服务配置用于完成服务请求地址和服务健康检查地址的维护,设置服务保活规则;所述第三方服务配置完成后,将所述服务请求地址和所述服务健康检查地址的信息以及服务保活规则同步到所述注册中心,所述注册中心定期根据所述服务保活规则检查服务状态,对于离线或者下线服务下接口的调用,自动触发熔断。
所述领域配置用于完成对第三方服务接口的分类管理,配置领域标识和名称,用于所述查询映射定义时快速筛选被调用方接口;
所述被调用方接口配置用于完成第三方服务接口的接口定义、前置依赖关联、关联接口关联。
进一步地,所述第三方服务接口的接口定义包括:head位置参数、Path位置参数、Query位置参数、Body位置参数、响应参数;
所述前置依赖关联包括:选择需要绑定的服务接口的入参,选择依赖的服务接口,设置依赖的服务接口的响应结果参数与服务接口入参的绑定关系和处理函数;
所述关联接口关联包括:选择第三方服务接口的响应结果参数,选择其他有关系的第三方服务接口,设置接口响应结果参数和关联关系服务接口的入参绑定关系和处理函数。
进一步地,所述查询映射定义包括接口关系绑定、前置处理与入参绑定、后置处理与响应结果参数绑定、查询语句自动生成、缓存限流访问控制策略设置。
进一步地,所述接口关系绑定包括:选择业务接口,设置依赖的被调用方服务接口,根据第三方服务和领域筛选,完成绑定;所述接口关系绑定能够选择多个被调用方的服务接口组合,支持并行结果返回,前置查询依赖,关联接口。
进一步地,所述前置处理与入参绑定用于将被调用方接口的入参与业务接口的入参进行绑定,通过之前绑定过的接口进行智能推荐和参数名相同的参数自动绑定,限定词相同的自动绑定,最大限度的完成自动绑定过程;
所述前置处理与入参绑定支持手动设置绑定关系;
前置处理对于参数绑定能够增加处理函数,完成参数绑定后自动生成处理脚本;
所述后置处理与响应结果参数绑定用于将业务接口的响应参数与被调用方接口的响应参数进行绑定,通过之前绑定过的接口进行智能推荐和参数名相同的参数自动绑定,限定词相同的自动绑定,最大限度的完成自动绑定过程;
响应结果映射能够设置和筛选,对于业务接口不必要的字段,不设置映射关系,实现服务接口按需裁剪;
所述后置处理与响应结果参数绑定支持手动设置绑定关系;
后置处理对于参数绑定能够增加处理函数,完成参数绑定后自动生成处理脚本。
进一步地,所述查询语句自动生成能够根据接口和参数绑定的配置,自动生成基于GrapHql查询的schema语法的查询语句,同时将查询schema自动发布查询引擎;
所述缓存限流访问控制策略设置用于配置缓存策略,能够配置业务接口是否调试模式;调试模式下需要维护Mock数据,非调试模式下设置响应结果是否缓存、缓存失效策略以及失效时间;限流策略用于设置查询映射编排后接口查询的限流策略,能够配置查询映射编排后接口查询限制的黑白名单。
进一步地,在第三方服务完成配置后,将第三方服务信息注册到所述注册中心,所述注册中心按照保活配置,完成服务健康状态的检查,刷新服务的状态;在业务调用时,所述网关获取服务列表,根据服务信息进行请求转发,对服务状态异常的请求进行熔断处理;
所述网关主要完成服务请求路由、服务接口请求消息缓存、服务接口请求限流、服务接口访问控制;
所述执行引擎基于Graphql协议实现,对Schema构建、DataFetch绑定、任务编排优化做了自动化实现,在可视化查询映射定义完成后,根据配置自动完成Schema构建和DataFetch绑定,根据前置接口和关联接口配置完成执行的任务编排。
一种基于BFF架构的服务接口编排系统,所述系统包括可视化配置方式的编排定义模块和响应式的服务接口编排引擎模块:
所述可视化配置方式的编排定义模块包括业务接口定义模块、第三方服务定义模块、查询映射定义模块;
所述响应式的服务接口编排引擎模块包括注册中心、网关、执行引擎;
所述业务接口定义模块指的是前端调用方根据页面呈现需求定义的接口需要的请求入参、响应返回值;
所述第三方服务定义模块包括第三方服务配置、领域配置、被调用方接口配置;
所述查询映射定义模块包括接口关系绑定、前置处理与入参绑定、后置处理与响应结果参数绑定、查询语句自动生成、缓存限流访问控制策略设置;
所述第三方服务配置包括维护服务请求地址和服务健康检查地址、设置服务保活规则;
所述领域配置包括对进行第三方服务接口的分类管理、配置领域标识和名称、所述查询映射定义时快速筛选被调用方接口;
所述被调用方接口配置包括第三方服务接口的接口定义、前置依赖关联、关联接口关联;
所述前置依赖关联用于第三方服务接口的入参与响应的前置认证接口响应参数进行绑定;
所述关联接口关联用于第三方服务接口有领域或逻辑关系的其他第三方服务接口进行关系绑定,在查询映射定义时,会自动带入有关联关系的服务接口的参数信息;
所述接口关系绑定包括:选择业务接口,设置依赖的被调用方服务接口,根据第三方服务和领域筛选,完成绑定;
所述前置处理与入参绑定用于将被调用方接口的入参与业务接口的入参进行绑定,通过之前绑定过的接口进行智能推荐和参数名相同的参数自动绑定,限定词相同的自动绑定,最大限度的完成自动绑定过程;
所述前置处理与入参绑定支持手动设置绑定关系;
前置处理对于参数绑定能够增加处理函数,完成参数绑定后自动生成处理脚本;
所述后置处理与响应结果参数绑定用于将业务接口的响应参数与被调用方接口的响应参数进行绑定,通过之前绑定过的接口进行智能推荐和参数名相同的参数自动绑定,限定词相同的自动绑定,最大限度的完成自动绑定过程;
响应结果映射能够设置和筛选,对于业务接口不必要的字段,不设置映射关系,实现服务接口按需裁剪;
所述后置处理与响应结果参数绑定支持手动设置绑定关系;
后置处理对于参数绑定能够增加处理函数,完成参数绑定后自动生成处理脚本。
所述查询语句自动生成能够根据接口和参数绑定的配置,自动生成基于GrapHql查询的schema语法的查询语句,同时将查询schema自动发布查询引擎;
所述缓存限流访问控制策略设置用于配置缓存策略,能够配置业务接口是否调试模式;调试模式下需要维护Mock数据,非调试模式下设置响应结果是否缓存、缓存失效策略以及失效时间;限流策略用于设置查询映射编排后接口查询的限流策略,能够配置查询映射编排后接口查询限制的黑白名单。
进一步地,所述注册中心用于按照所述服务保活规则,完成服务健康状态的检查,刷新服务的状态;在业务调用时,所述网关获取服务列表,根据服务信息进行请求转发,对服务状态异常的请求进行熔断处理;
所述网关主要完成服务请求路由、服务接口请求消息缓存、服务接口请求限流、服务接口访问控制;
所述执行引擎基于Graphql协议实现,对Schema构建、DataFetch绑定、任务编排优化做了自动化实现,在可视化查询映射定义完成后,根据配置自动完成Schema构建和DataFetch绑定,根据前置接口和关联接口配置完成执行的任务编排
与现有技术相比,本发明至少具有如下有益技术效果:
本发明的可视化配置方式的编排定义,是以图形化配置方式完成编排定义过程,减少开发接入,方便运维实施人员快速的根据实际业务进行调整,对于接口参数的映射实现自动绑定;同时,本发明方便前端开发人员快速将已有后端领域业务与前端展示需求进行结合,使用户需求快速实现,同时通过配置可实现数据按需获取;本发明的响应式的服务接口编排引擎结合可视化的配置定义,不用预先定义编排流程,配置的调整,实时生效,架构简单,执行效率高,能够快速应对需求变化。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的一个较佳实施例的系统示意图。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
如图1所示,是本发明的一个较佳实施例的系统示意图,采用一种基于BFF架构的服务接口编排方法,在微服务架构下,通过可视化配置方式的编排定义,完成服务接口编排定义后的响应式的服务接口编排引擎。具体如下:
1、可视化配置方式的编排定义主要针对HTTP Restful协议的接口,分为三部分内容包括:业务接口定义、第三方服务定义、查询映射定义;
1.1、业务接口指的是前端调用方根据页面呈现需求定义的接口需要的请求入参、响应返回值;本发明主要针对HTTP Restful协议的接口,因此定义请求参数时至少包含请求头参数名、请求头参数默认值、请求头参数备注描述,请求头参数限定词(可选),请求Body体参数名、请求Body体参数类型、请求Body体参数默认值、请求Body体参数备注描述、请求Body体参数mock数据,是否必须标识,请求Body体参数限定词(可选)。定义响应结果参数包括:响应结果参数名、响应结果参数类型、响应结果参数默认值、响应结果参数备注描述、响应结果参数mock数据、响应结果参数限定词(可选)。本发明针对前端业务调用的接口定义需额外定义查询标识,在请求头参数中为默认必须的参数,前端对于业务调用提供统一的请求路径,不同的业务接口调用只需要在请求头部传入响应的查询标识,前端的请求统一使用POST形式,入参统一使用Body体传输,Body体参数和响应结果统一为JSON格式。响应消息结果请求响应码统一返回200,响应消息最外层结构为code(数字类型,0-正常,非零-异常,标识第三方接口调用状态),data(json格式,返回第三方业务接口调用经过编排处理后的数据),msg(字符型,响应结果描述),error(字符型,只有在code不为0,响应结果才包含此字段,用以体现错误描述)。表1为业务接口定义的具体参数。
表1-业务接口定义的参数
1.2、第三方服务定义用于完成第三方服务配置、领域配置、被调用方接口配置;
1.2.1、第三方服务配置需要服务请求地址的维护和服务健康检查地址,设置服务保活规则;第三方服务配置完成后,会将服务请求地址和服务健康检查地址的信息以及服务保活规则同步到注册中心,注册中心定期根据所述服务保活规则检查服务状态,对于离线或者下线服务下接口的调用,自动触发熔断。
1.2.2、领域配置主要完成对第三方服务接口的分类管理,配置领域标识和名称,用于查询映射定义时快速筛选被调用方接口。
1.2.3、被调用方接口配置主要完成第三方服务接口的接口定义、前置依赖关联、关联接口关联。具体如下:
1)第三方服务接口的接口定义主要维护第三方HTTP Restful协议的接口的请求URI,请求方式,入参信息包括URI Path参数名,URI Path参数默认值,URI Path参数备注,URI Path参数Mock数据,是否必须标识,参数限定词(可选);Url Query参数名,Url Query参数默认值,Url Query参数备注,Url Query参数Mock数据,是否必须标识,参数限定词(可选);Head参数名,Head参数默认值,Head参数备注,Head参数Mock数据,请求Body体参数名、Body参数类型、Body参数默认值、Body参数备注描述、Body参数mock数据,是否必须标识,参数限定词(可选);响应消息参数名、响应消息参数类型、响应消息参数默认值、响应消息参数备注描述、响应消息参数mock数据,参数限定词(可选);表2为第三方服务定义的各种参数。
表2-第三方服务定义的参数
2)前置依赖关联包括主要用于第三方服务接口的入参与响应的前置认证接口响应参数进行绑定。选择需要绑定的服务接口的入参,选择依赖服务接口,设置依赖服务接口响应参数与服务接口入参的绑定关系和处理函数(可选)。
3)关联接口关联主要用于第三方服务接口有领域或逻辑关系的其他第三方服务接口进行关系绑定,在查询映射定义时,会自动带入有关联关系的服务接口的参数信息。选择第三方服务接口的响应结果参数,选择其他有关系的第三方服务接口,设置接口响应结果参数和关联关系服务接口入参绑定关系和处理函数(可选)。
1.3、查询映射定义主要完成业务接口参数和被调用方服务接口参数的映射、编排处理过程;包括接口关系绑定、前置处理与入参绑定、后置处理与响应结果参数绑定、查询语句自动生成、缓存限流访问控制策略设置。
1.3.1、接口关系绑定包括:选择业务接口,设置依赖的被调用方服务接口,可以根据第三方服务和领域筛选,完成绑定;可以选择多个被调用方的服务接口组合,支持并行结果返回,前置查询依赖,关联接口;
1.3.2前置处理与入参绑定将将被调用方接口的入参与业务接口的入参进行绑定,可以通过之前绑定过的接口进行智能推荐和参数名相同的参数自动绑定,限定词相同的自动绑定,最大限度的完成自动绑定过程;也可以手动设置绑定关系。前置处理对于参数绑定可以增加处理函数,完成参数绑定后可自动生成处理脚本。也可以自定义处理函数的脚本,使用自定义javascript的脚本函数处理能够满足复杂场景的绑定处理过程。
1.3.3后置处理与响应结果参数绑定将业务接口的响应参数与被调用方接口的响应参数进行绑定,可以通过之前绑定过的接口进行智能推荐和参数名相同的参数自动绑定,限定词相同的自动绑定,最大限度的完成自动绑定过程;响应结果映射可设置和筛选,对于业务接口不必要的字段,可以不设置映射关系,实现服务接口按需裁剪。也可以手动设置绑定关系。后置处理对于参数绑定可以增加处理函数,完成参数绑定后可自动生成处理脚本。也可以自定义处理函数的脚本,使用自定义javascript的脚本函数处理能够满足复杂场景的绑定处理过程。
1.3.4查询语句自动生成能够根据接口和参数绑定的配置,自动生成基于GrapHql查询的schema语法的查询语句,同时将查询schema自动发布查询引擎;复杂场景下可自定义编写查询语句。
1.3.5缓存限流访问控制策略设置用于配置缓存策略,能够配置业务接口是否调试模式;调试模式下需要维护Mock数据,非调试模式下设置响应结果是否缓存、缓存失效策略以及失效时间;限流策略用于设置查询映射编排后接口查询的限流策略,能够配置查询映射编排后接口查询限制的黑白名单。
2、响应式的服务接口编排引擎包括注册中心、网关、执行引擎三个构件。
2.1、在第三方服务完成配置后,将第三方服务信息注册到注册中心,注册中心按照保活配置,完成服务健康状态的检查,刷新服务的状态(正常、离线、下线);在业务调用时,所述网关获取服务列表,根据服务信息进行请求转发,对服务状态异常的请求进行熔断处理。
2.2、网关主要完成服务请求路由、服务接口请求消息缓存、服务接口请求限流、服务接口访问控制。
2.3、执行引擎基于Graphql协议实现,对Schema构建、DataFetch绑定、任务编排优化做了自动化实现,在可视化查询映射定义完成后,根据配置自动完成Schema构建和DataFetch绑定,根据前置接口和关联接口配置完成执行的任务编排。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (6)

1.一种基于BFF架构的服务接口编排方法,其特征在于,在微服务架构下,通过可视化配置方式的编排定义,完成服务接口编排定义后的响应式的服务接口编排引擎;
所述可视化配置方式的编排定义包括:业务接口定义、第三方服务定义、查询映射定义;
所述业务接口指的是前端调用方根据页面呈现需求定义的接口需要的请求入参、响应返回值;
所述第三方服务定义用于完成第三方服务配置、领域配置、被调用方接口配置;
所述查询映射定义用于完成业务接口参数和被调用方服务接口参数的映射、编排处理过程;
所述响应式的服务接口编排引擎包括注册中心、网关、执行引擎;
所述第三方服务配置用于完成服务请求地址和服务健康检查地址的维护,设置服务保活规则;所述第三方服务配置完成后,将所述服务请求地址和所述服务健康检查地址的信息以及服务保活规则同步到所述注册中心,所述注册中心定期根据所述服务保活规则检查服务状态,对于离线或者下线服务下接口的调用,自动触发熔断;
所述领域配置用于完成对第三方服务接口的分类管理,配置领域标识和名称,用于所述查询映射定义时快速筛选被调用方接口;
所述被调用方接口配置用于完成第三方服务接口的接口定义、前置依赖关联、关联接口关联;
所述第三方服务接口的接口定义包括:head位置参数、Path位置参数、Query位置参数、Body位置参数、响应参数;
所述前置依赖关联包括:选择需要绑定的服务接口的入参,选择依赖的服务接口,设置依赖的服务接口的响应结果参数与服务接口入参的绑定关系和处理函数;
所述关联接口关联包括:选择第三方服务接口的响应结果参数,选择其他有关系的第三方服务接口,设置接口响应结果参数和关联关系服务接口的入参绑定关系和处理函数;
所述查询映射定义包括接口关系绑定、前置处理与入参绑定、后置处理与响应结果参数绑定、查询语句自动生成、缓存限流访问控制策略设置;
所述接口关系绑定包括:选择业务接口,设置依赖的被调用方服务接口,根据第三方服务和领域筛选,完成绑定;所述接口关系绑定能够选择多个被调用方的服务接口组合,支持并行结果返回,前置查询依赖,关联接口。
2.如权利要求1所述的基于BFF架构的服务接口编排方法,其特征在于,所述前置处理与入参绑定用于将被调用方接口的入参与业务接口的入参进行绑定,通过之前绑定过的接口进行智能推荐和参数名相同的参数自动绑定,限定词相同的自动绑定,最大限度的完成自动绑定过程;
所述前置处理与入参绑定支持手动设置绑定关系;
前置处理对于参数绑定能够增加处理函数,完成参数绑定后自动生成处理脚本;
所述后置处理与响应结果参数绑定用于将业务接口的响应参数与被调用方接口的响应参数进行绑定,通过之前绑定过的接口进行智能推荐和参数名相同的参数自动绑定,限定词相同的自动绑定,最大限度的完成自动绑定过程;
响应结果映射能够设置和筛选,对于业务接口不必要的字段,不设置映射关系,实现服务接口按需裁剪;
所述后置处理与响应结果参数绑定支持手动设置绑定关系;
后置处理对于参数绑定能够增加处理函数,完成参数绑定后自动生成处理脚本。
3.如权利要求2所述的基于BFF架构的服务接口编排方法,其特征在于,所述查询语句自动生成能够根据接口和参数绑定的配置,自动生成基于GrapHql查询的schema语法的查询语句,同时将查询schema自动发布查询引擎;
所述缓存限流访问控制策略设置用于配置缓存策略,能够配置业务接口是否调试模式;调试模式下需要维护Mock数据,非调试模式下设置响应结果是否缓存、缓存失效策略以及失效时间;限流策略用于设置查询映射编排后接口查询的限流策略,能够配置查询映射编排后接口查询限制的黑白名单。
4.如权利要求3所述的基于BFF架构的服务接口编排方法,其特征在于,在第三方服务完成配置后,将第三方服务信息注册到所述注册中心,所述注册中心按照保活配置,完成服务健康状态的检查,刷新服务的状态;在业务调用时,所述网关获取服务列表,根据服务信息进行请求转发,对服务状态异常的请求进行熔断处理;
所述网关主要完成服务请求路由、服务接口请求消息缓存、服务接口请求限流、服务接口访问控制;
所述执行引擎基于Graphql协议实现,对Schema构建、DataFetch绑定、任务编排优化做了自动化实现,在可视化查询映射定义完成后,根据配置自动完成Schema构建和DataFetch绑定,根据前置接口和关联接口配置完成执行的任务编排。
5.一种基于BFF架构的服务接口编排系统,其特征在于,所述系统包括可视化配置方式的编排定义模块和响应式的服务接口编排引擎模块:
所述可视化配置方式的编排定义模块包括业务接口定义模块、第三方服务定义模块、查询映射定义模块;
所述响应式的服务接口编排引擎模块包括注册中心、网关、执行引擎;
所述业务接口定义模块指的是前端调用方根据页面呈现需求定义的接口需要的请求入参、响应返回值;
所述第三方服务定义模块包括第三方服务配置、领域配置、被调用方接口配置;
所述查询映射定义模块包括接口关系绑定、前置处理与入参绑定、后置处理与响应结果参数绑定、查询语句自动生成、缓存限流访问控制策略设置;
所述第三方服务配置包括维护服务请求地址和服务健康检查地址、设置服务保活规则;
所述领域配置包括对进行第三方服务接口的分类管理、配置领域标识和名称、所述查询映射定义时快速筛选被调用方接口;
所述被调用方接口配置包括第三方服务接口的接口定义、前置依赖关联、关联接口关联;
所述前置依赖关联用于第三方服务接口的入参与响应的前置认证接口响应参数进行绑定;
所述关联接口关联用于第三方服务接口有领域或逻辑关系的其他第三方服务接口进行关系绑定,在查询映射定义时,会自动带入有关联关系的服务接口的参数信息;
所述接口关系绑定包括:选择业务接口,设置依赖的被调用方服务接口,根据第三方服务和领域筛选,完成绑定;
所述前置处理与入参绑定用于将被调用方接口的入参与业务接口的入参进行绑定,通过之前绑定过的接口进行智能推荐和参数名相同的参数自动绑定,限定词相同的自动绑定,最大限度的完成自动绑定过程;
所述前置处理与入参绑定支持手动设置绑定关系;
前置处理对于参数绑定能够增加处理函数,完成参数绑定后自动生成处理脚本;
所述后置处理与响应结果参数绑定用于将业务接口的响应参数与被调用方接口的响应参数进行绑定,通过之前绑定过的接口进行智能推荐和参数名相同的参数自动绑定,限定词相同的自动绑定,最大限度的完成自动绑定过程;
响应结果映射能够设置和筛选,对于业务接口不必要的字段,不设置映射关系,实现服务接口按需裁剪;
所述后置处理与响应结果参数绑定支持手动设置绑定关系;
后置处理对于参数绑定能够增加处理函数,完成参数绑定后自动生成处理脚本;
所述查询语句自动生成能够根据接口和参数绑定的配置,自动生成基于GrapHql查询的schema语法的查询语句,同时将查询schema自动发布查询引擎;
所述缓存限流访问控制策略设置用于配置缓存策略,能够配置业务接口是否调试模式;调试模式下需要维护Mock数据,非调试模式下设置响应结果是否缓存、缓存失效策略以及失效时间;限流策略用于设置查询映射编排后接口查询的限流策略,能够配置查询映射编排后接口查询限制的黑白名单。
6.如权利要求5所述的基于BFF架构的服务接口编排系统,其特征在于,所述注册中心用于按照所述服务保活规则,完成服务健康状态的检查,刷新服务的状态;在业务调用时,所述网关获取服务列表,根据服务信息进行请求转发,对服务状态异常的请求进行熔断处理;
所述网关主要完成服务请求路由、服务接口请求消息缓存、服务接口请求限流、服务接口访问控制;
所述执行引擎基于Graphql协议实现,对Schema构建、DataFetch绑定、任务编排优化做了自动化实现,在可视化查询映射定义完成后,根据配置自动完成Schema构建和DataFetch绑定,根据前置接口和关联接口配置完成执行的任务编排。
CN202111104479.XA 2021-09-18 2021-09-18 一种基于bff架构的服务接口编排方法和系统 Active CN113805870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111104479.XA CN113805870B (zh) 2021-09-18 2021-09-18 一种基于bff架构的服务接口编排方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111104479.XA CN113805870B (zh) 2021-09-18 2021-09-18 一种基于bff架构的服务接口编排方法和系统

Publications (2)

Publication Number Publication Date
CN113805870A CN113805870A (zh) 2021-12-17
CN113805870B true CN113805870B (zh) 2024-01-30

Family

ID=78896152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111104479.XA Active CN113805870B (zh) 2021-09-18 2021-09-18 一种基于bff架构的服务接口编排方法和系统

Country Status (1)

Country Link
CN (1) CN113805870B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118525264A (zh) * 2022-02-28 2024-08-20 西门子股份公司 接口映射方法、装置、电子设备和计算机可读介质
CN114666386B (zh) * 2022-03-24 2024-05-10 深圳前海环融联易信息科技服务有限公司 业务编排系统中的流程界面调试方法
CN115113860B (zh) * 2022-08-31 2022-11-18 北京云枢创新软件技术有限公司 基于Python的EDA软件二次开发系统
CN115941772A (zh) * 2022-11-07 2023-04-07 平安国际融资租赁有限公司 一种第三方服务接入方法、装置、设备及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1860761A (zh) * 2003-06-05 2006-11-08 英特特拉斯特技术公司 用于对等服务编排的可互操作系统和方法
CN108228149A (zh) * 2016-12-19 2018-06-29 北京京东尚科信息技术有限公司 一种可动态装配服务的app接口适配方法及装置
CN110286884A (zh) * 2019-06-21 2019-09-27 北京百度网讯科技有限公司 微服务编排方法、装置、设备及计算机可读存储介质
CN110764752A (zh) * 2019-11-08 2020-02-07 普元信息技术股份有限公司 基于微服务架构实现Restful服务图形化服务编排的系统及其方法
CN111142867A (zh) * 2019-12-31 2020-05-12 谷云科技(广州)有限责任公司 微服务架构下的服务可视化编排系统及方法
CN111258772A (zh) * 2018-12-01 2020-06-09 阿里巴巴集团控股有限公司 服务调用信息处理方法、装置及系统
CN112243032A (zh) * 2020-10-15 2021-01-19 江苏云坤信息科技有限公司 基于访问网关的服务调用方法及其系统
CN112506498A (zh) * 2020-11-30 2021-03-16 广东电网有限责任公司 一种智慧型可视化api编排方法、存储介质及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209392A1 (en) * 2007-02-26 2008-08-28 Able Steve L Systems and Methods for Definition and Execution of Batch Processing Services
US9977670B2 (en) * 2016-08-10 2018-05-22 Bank Of America Corporation Application programming interface for providing access to computing platform definitions

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1860761A (zh) * 2003-06-05 2006-11-08 英特特拉斯特技术公司 用于对等服务编排的可互操作系统和方法
CN108228149A (zh) * 2016-12-19 2018-06-29 北京京东尚科信息技术有限公司 一种可动态装配服务的app接口适配方法及装置
CN111258772A (zh) * 2018-12-01 2020-06-09 阿里巴巴集团控股有限公司 服务调用信息处理方法、装置及系统
CN110286884A (zh) * 2019-06-21 2019-09-27 北京百度网讯科技有限公司 微服务编排方法、装置、设备及计算机可读存储介质
CN110764752A (zh) * 2019-11-08 2020-02-07 普元信息技术股份有限公司 基于微服务架构实现Restful服务图形化服务编排的系统及其方法
CN111142867A (zh) * 2019-12-31 2020-05-12 谷云科技(广州)有限责任公司 微服务架构下的服务可视化编排系统及方法
CN112243032A (zh) * 2020-10-15 2021-01-19 江苏云坤信息科技有限公司 基于访问网关的服务调用方法及其系统
CN112506498A (zh) * 2020-11-30 2021-03-16 广东电网有限责任公司 一种智慧型可视化api编排方法、存储介质及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Web services orchestration and choreography;C. Peltz;Computer;第36卷(第10期);第46-52页 *
基于微服务架构的新一代调控系统服务编排技术;万书鹏等;电力系统自动化;第43卷(第22期);第116-121页 *

Also Published As

Publication number Publication date
CN113805870A (zh) 2021-12-17

Similar Documents

Publication Publication Date Title
CN113805870B (zh) 一种基于bff架构的服务接口编排方法和系统
WO2020029375A1 (zh) 接口测试方法、系统、计算机设备和存储介质
US7984162B2 (en) Methods, systems, and software for providing service integration framework
US8769101B2 (en) Method, apparatus and system for processing composite service and replacing service and invoking service
CN110955534A (zh) 一种基于中间件的业务流程自动化系统及方法
CN110399107B (zh) 日志打印方法、装置、存储介质及设备
CN105740137A (zh) 分桶测试方法和提供配置信息的方法、装置及系统
CN113315750B (zh) 一种Kafka消息发布方法、装置及存储介质
CN110213163B (zh) 一种基于nginx和zuul的路由转发方法及装置
CN111181865A (zh) 一种基于业务的流量分发方法及系统、存储介质及终端
US20150040063A1 (en) Method, device and terminal for generating logic service for embedded terminal
CN106686021A (zh) 一种服务调用方法和网关
EP2538708A1 (en) Method and system for processing value-added service
CN114205191A (zh) 一种api网关系统及运行方法
CN105516269B (zh) 应用的配置方法和应用的配置装置
CN112217845B (zh) 一种基于Netconf协议的数据传输方法及相关设备
CN111309691A (zh) 基于总线架构的数据共享交换系统和交换方法
CN109784859A (zh) 一种无需配置驳回节点的工作流流程配置方法
CN106598870B (zh) 一种跨组件交易一致性测试方法及系统
CN116088855B (zh) 开发方法、装置、电子设备和存储介质
CN102194152A (zh) 一种审核业务流程中的权限控制方法和装置
CN111580998A (zh) SaaS服务模式下多租户的RPC调用方法
CN106126663A (zh) 页面聚合方法及装置
CN105260179A (zh) 一种实现flex与servlet交互的方法
US20120136747A1 (en) Service creation system and implementing method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant