首页> 中国专利> 一种基于基础与逻辑功能分离的业务实现方法与系统

一种基于基础与逻辑功能分离的业务实现方法与系统

摘要

本发明公开了一种基于基础与逻辑功能分离的业务实现方法与系统,该方法通过接收传入的逻辑功能标识ID,根据所述逻辑功能标识ID获取预先保存的实现对应业务逻辑功能的动态JavaScript代码;将根据逻辑功能ID获取到的动态JavaScript代码进行数据注入,并执行代码;该动态JavaScript代码中包含对实现基础功能的本地服务接口或云端微服务接口的调用。本发明采用动态JavaScript与本地服务、微服务相结合的方式,能够有效将业务逻辑功能与基础功能进行分离,可以将逻辑功能部分进行页面化编辑,清晰了业务思路,统一了业务方法实现模式,能够降低开发难度的同时保证开发的灵活度。

著录项

  • 公开/公告号CN113076095A

    专利类型发明专利

  • 公开/公告日2021-07-06

    原文格式PDF

  • 申请/专利权人 南京始云网络科技有限公司;

    申请/专利号CN202110439674.1

  • 发明设计人 施海明;

    申请日2021-04-23

  • 分类号G06F8/34(20180101);G06F8/38(20180101);G06F8/30(20180101);

  • 代理机构32204 南京苏高专利商标事务所(普通合伙);

  • 代理人孟红梅

  • 地址 211100 江苏省南京市江宁区秣陵街道龙眠大道688号

  • 入库时间 2023-06-19 11:44:10

说明书

技术领域

本发明涉及一种基于基础与逻辑功能分离的业务实现方法与系统,属于网络技术领域。

背景技术

目前在业务网站平台的建设过程中,业务的实现方式是通过开发特定的后台方法以实现特定的业务逻辑功能。该实现方式存在如下问题:1、直接后台实现业务会使得后台需要开发很多接口以实现业务需求,而且由于不同的开发者使用的开发语言、技术架构、编写规范等不同,使得业务实现代码维护较为困难,甚至难以阅读。2、将业务逻辑功能实现完全放在后台就会增加后台的BUG,而后台出现BUG将会对平台的正常运行产生较大影响,用户体验不好。3、此外,将业务逻辑功能放在后台实现,想要扩展或升级业务功能,必须要在后台进行操作,使得开发或升级耗时长,升级、维护费用高。此外,现有技术中也有一些集成性较高的平台,用户可以通过功能配置的方式满足一些简单的业务需求,但这样的开发平台受限于平台自身提供的功能,扩展性较差,且难以满足特定的业务需求。

发明内容

发明目的:针对上述现有技术存在的问题,本发明目的在于提供一种基于基础与逻辑功能分离的业务实现方法与系统,将逻辑功能部分进行页面化编辑,能够降低开发难度的同时保证开发的灵活度。

技术方案:为实现上述发明目的,本发明采用如下技术方案:

一种基于基础与逻辑功能分离的业务实现方法,包括如下步骤:

接收传入的逻辑功能标识ID,根据所述逻辑功能标识ID获取实现对应业务逻辑功能的动态JavaScript代码;所述动态JavaScript代码由二次开发用户在管理页面动态编辑并保存;

将根据逻辑功能ID获取到的动态JavaScript代码进行数据注入,并执行代码;所述动态JavaScript代码中包含对实现基础功能的本地服务接口或云端微服务接口的调用。

具体地,所述基础功能由开发平台提供或由二次开发用户上传的服务提供,以服务接口的形式实现相应的功能,包括邮件功能、文件上传下载功能、认证功能、工作流功能、数据库访问功能中的一种或多种。

作为优选,所述逻辑功能标识ID从客户端的访问请求参数中获取,或者从客户端的访问请求参数中传入的请求标识ID所关联的请求参数规则中获取;所述请求标识ID及关联的请求参数规则由开发人员在开发时通过后台管理页面预先配置并保存。

作为优选,在客户端的访问请求参数中配置与逻辑功能标识ID对应的后台分离功能实现接口,或在请求参数规则中预先配置与逻辑功能标识ID对应的后台分离功能实现接口;所述后台分离功能实现接口用于加载并执行逻辑功能标识ID对应的动态JavaScript代码。

作为优选,所述动态JavaScript代码中支持嵌套调用后台分离功能实现接口,调用后台分离功能实现接口时,传入逻辑功能标识ID。

作为优选,所述动态JavaScript代码采用无参数调用服务接口、有字符串参数调用服务接口、有文件参数调用服务接口三种中的一种方式调用本地服务接口或云端微服务接口。

作为优选,实现业务逻辑功能的动态JavaScript代码,二次开发用户在创建时采用新建空白代码或引入代码模板的方式。

作为优选,所述本地服务接口或云端微服务接口为平台提供的接口或二次开发人员上传的服务接口;所有微服务接口在微服务API网关上进行路由配置。

基于相同的发明构思,本发明提供的一种基于基础与逻辑功能分离的业务实现系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的基于基础与逻辑功能分离的业务实现方法。

有益效果:与现有技术相比,本发明具有如下优点:

1、本发明采用动态JavaScript与本地服务、微服务相结合的方式,能够有效将业务逻辑功能与基础功能进行分离,从而将逻辑功能部分进行页面化编辑。页面化编辑实现了业务的动态创建和修改,与传统后台代码相比,不用进入后台服务器,能够清晰业务思路,统一业务方法实现模式。

2、传统后台各个不同的方法的调用,复杂度比较高。本发明统一全部交由动态JavaScript代码控制整个业务,清晰了编辑思路也使得其他开发人员阅读起来思路明确。并且对二次开发人员的要求不高,只需要掌握JavaScript编程即可进行业务功能的二次开发。

3、在保证后台服务无BUG的情况下,查询业务BUG只是查看动态JavaScript代码就可以排查出。并且由于都是动态的,JavaScript代码修改完可以直接进行调试或者直接进入BUG页面查看是否正常,使得BUG的处理变得简单。

4、业务逻辑功能不用在后台实现,使得后台代码保持稳定不变。

5、采用本发明的架构,二次开发用户也可以不局限于开发平台自身提供的基础服务,自行拓展基础功能服务,使得开发方式更为灵活。

6、实现业务逻辑功能的JavaScript代码是保存在数据库的,基础功能也是以单个服务的形式,使得模块迁移就变得非常容易。

附图说明

图1为本发明实施例中的业务逻辑功能的代码片段示例图。

图2为本发明实施例的方法流程图。

具体实施方式

下面将结合附图和具体实施例,对本发明的技术方案进行清楚、完整的描述。

本发明实施例公开的一种基于基础与逻辑功能分离的业务实现方法,采用基础功能与逻辑功能分离的理念,逻辑功能采用后台动态执行JavaScript代码方式实现,在逻辑功能中调用基础功能的方式来实现复杂的业务功能。逻辑功能在线代码编辑和调试,基础功能采用上传微服务到服务器的方式。

如图1所示,二次开发用户在页面编辑好实现特定业务逻辑功能的代码,该代码对应一个逻辑功能标识ID,编辑好后这段代码会在后台被执行。

具体地,本发明基于基础与逻辑功能分离的业务实现方法,如图2所示,主要步骤是:首先,接收传入的逻辑功能标识ID(该逻辑功能标识ID可以是从客户端的访问请求参数中获取,或者从客户端的访问请求参数中传入的请求标识ID所关联的请求参数规则中获取;请求标识ID及关联的请求参数规则也是由开发人员在开发时通过后台管理页面预先配置并保存),根据逻辑功能标识ID从内存或数据库获取实现对应业务逻辑功能的动态JavaScript代码;然后将代码中EL表达式等进行数据注入,并采用后台动态执行JavaScript的工具(如ScriptEngine)执行代码,动态JavaScript代码中包含对实现基础功能的本地服务接口或云端微服务接口的调用。

本发明所述的基础功能即由开发平台提供或由二次开发用户上传的服务提供,以服务接口的形式实现相应的功能,包括邮件功能、文件上传下载功能、认证功能、工作流功能、数据库访问功能等等,基础功能一般不涉及具体业务应用平台的业务逻辑(如业务数据规范性检查、业务逻辑判断等)。与应用相关的业务逻辑由二次开发用户通过动态JavaScript代码在页面进行编辑,当然二次开发人员也可以对基础功能进行扩展,提供的功能服务采用微服务的方式,直接将jar包通过平台页面上传到指定服务器并启动项目就可以增加功能服务(在微服务API网关,如zuul进行相关配置),使用方式和平台原有的功能服务是一样的。

逻辑功能标识ID可以从客户端浏览器的访问请求参数中获取,为了提高安全性,防止恶意篡改和攻击,推荐从客户端的访问请求参数中传入的请求标识ID,该请求标识ID关联请求参数规则,请求参数规则配有逻辑功能标识ID,这里的请求标识ID及关联的请求参数规则也由开发人员在开发时通过后台管理页面预先配置并保存。

在具体的开发平台中,请求参数规则中预先配置的项目还可以包括访问权限设定、数据库事务管理、对参数参与情况进行限制(如不能多参数,不能少参数,参数名规定下来可以根据不同业务传入不同值,是否允许额外参数,参数的键和值都固定不允许改变等)、对本地服务接口或云端微服务接口的调用、获取全局变量等等。

若请求参数规则中包括权限设定的配置,则进行用户访问权限的校验;若请求参数规则中包括事务设定的配置,则进行动态设置事务;若请求参数规则中包括是否允许额外参数加入的配置,则根据配置情况进行相应的校验;其中配置项的值包括使用、忽略、禁止额外参数;若请求参数规则中包括调用本地服务接口或云端微服务接口的配置,则调用指定的接口并获取相应的执行结果;若请求参数规则中包括获取全局变量的配置,则动态获取指定的全局变量的取值。

在指定了逻辑功能标识ID后,也需要在客户端的访问请求参数或请求参数规则中配置与逻辑功能标识ID对应的后台分离功能实现接口。这里的后台分离功能实现接口即是用于加载并执行逻辑功能标识ID对应的动态JavaScript代码的服务接口。动态JavaScript代码中也可支持嵌套调用后台分离功能实现接口,调用后台分离功能实现接口时,传入逻辑功能标识ID。

例如可以在请求参数规则中配置调用servicePath=base/excBackFun,表示使用后台分离功能实现接口。这个接口将业务逻辑以JavaScript的形式在页面管理端由二次开发人员进行编辑。然后在这里进行调用。同时会要求传入backFunId这个参数(即配置的逻辑功能标识ID),该参数指定了业务用到的动态JavaScript代码。方法调用的时候会根据backFunId获取到这个动态JavaScript代码然后执行,以完成业务。动态JavaScript代码里可以对业务进行逻辑编辑,其中遇到需要调用基础功能服务提供支持的地方可以采用commonFun.*(目前提供以下三种方法可供调用)提供的方法进行调用本地服务接口或者云端微服务接口。

a、commonFun.execute("路径") //不用参数情况

b、commonFun.execute("路径", JSON.stringify(参数)) //用参数情况

c、commonFun.executeNeedFile("路径", JSON.stringify(参数)) //访问接口时候有file文件参数,采用这个方法可以将file文件参数一并给到对应的微服务接口。

参数"路径"可以是本地方法名或者微服务的调用地址(可采用微服务的前缀加微服务方法中间使用“/”间隔开的写法,如:"ftp/uploadFun")。上述服务或接口的名称仅为示例,开发人员可根据偏好进行调整。

实现业务逻辑功能的动态JavaScript代码,可以由二次开发用户采用在线代码编辑器,如CodeMirror,在网页界面编辑,在创建时可采用新建空白代码或引入代码模板的方式。

基于相同的发明构思,本发明实施例提供的一种基于基础与逻辑功能分离的业务实现系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被加载至处理器时实现上述的基于基础与逻辑功能分离的业务实现方法。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号