CN114816483A - 一种业务***的开发方法和装置 - Google Patents

一种业务***的开发方法和装置 Download PDF

Info

Publication number
CN114816483A
CN114816483A CN202210485727.8A CN202210485727A CN114816483A CN 114816483 A CN114816483 A CN 114816483A CN 202210485727 A CN202210485727 A CN 202210485727A CN 114816483 A CN114816483 A CN 114816483A
Authority
CN
China
Prior art keywords
model
development
target
interface
script
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.)
Pending
Application number
CN202210485727.8A
Other languages
English (en)
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.)
Beijing Jingdong Qianshi Technology Co Ltd
Original Assignee
Beijing Jingdong Qianshi 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 Beijing Jingdong Qianshi Technology Co Ltd filed Critical Beijing Jingdong Qianshi Technology Co Ltd
Priority to CN202210485727.8A priority Critical patent/CN114816483A/zh
Publication of CN114816483A publication Critical patent/CN114816483A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种业务***的开发方法和装置,涉及大数据技术领域。该方法的具体实施方式包括:接收请求方发送的开发请求;根据请求功能,在业务***中确定与开发请求对应的目标领域模型、以及目标领域模型的目标模型接口;将目标模型接口对应的脚本发送给请求方,使得请求方对目标模型接口对应的脚本进行修改,生成与请求功能对应的开发脚本;接收开发脚本,并根据开发脚本更新目标领域模型,以实现目标领域模型的功能重定制。该实施方式能够实现平台***软件架构的灵活扩展、以及领域模型的主流程标准化、接口可自由扩展,支持客户对平台***进行自主化的二次开发,缩短二次开发的开发周期、降低开发成本,开发便捷易上手,提升客户体验。

Description

一种业务***的开发方法和装置
技术领域
本发明涉及大数据技术领域,尤其涉及一种业务***的开发方法和装置。
背景技术
二次开发是指用户可以在现有平台的业务***的软件上进行定制修改,实现对应的扩展,满足用户需要的功能。
现有的业务***通常包括多个领域模型,平台的客户在使用时,一些模型的功能可能与客户期望并不匹配,比如,客户在使用仓储管理***时,***的运单模型的合单规则为同一用户标识,而客户期望按照同一收货地址进行合单。
因此,由于现有的平台***无法支持客户进行独立二次开发,需要开发人员挨个分析客户的开发需求,编写需求脚本等,面对海量的开发需求,不仅耗费的开发周期过长导致客户体验较差,而且对应的开发成本极高,进一步地,根本无法满足客户的紧急需求。
发明内容
有鉴于此,本发明实施例提供一种业务***的开发方法和装置,能够实现平台***软件架构的灵活扩展、以及***各个领域模型的主流程标准化、接口可自由扩展的目标,支持客户对平台***进行自主化的二次开发,极大地缩短了二次开发的开发周期、降低了开发成本,开发简便,容易上手,大大地提高了客户满意度,提升客户体验。
为实现上述目的,根据本发明实施例的一个方面,提供了一种业务***的开发方法,包括:
接收请求方发送的开发请求;其中,所述开发请求指示了待重定制的请求功能;
根据所述请求功能,在业务***中确定与所述开发请求对应的目标领域模型、以及所述目标领域模型的目标模型接口;其中,所述业务***包括一个或多个领域模型,所述领域模型的一个或多个模型接口是根据历史模型数据确定的;
将所述目标模型接口对应的脚本发送给请求方,使得所述请求方对所述目标模型接口对应的脚本进行修改,生成与所述请求功能对应的开发脚本;
接收所述开发脚本,并根据所述开发脚本更新所述目标领域模型,以实现所述目标领域模型的功能重定制。
可选地,所述根据所述请求功能,在业务***中确定与所述开发请求对应的目标领域模型、以及所述目标领域模型的目标模型接口,包括:
根据所述请求功能,在所述业务***中确定所述目标领域模型是否还包括除所述目标模型接口以外的其它模型接口;
如果是,所述根据所述开发脚本更新所述目标领域模型,包括:
获取所述目标领域模型的除所述目标模型接口以外的其它模型接口对应的脚本;
根据所述其它模型接口对应的脚本和所述开发脚本,更新所述目标领域模型。
可选地,所述根据所述其它模型接口对应的脚本和所述开发脚本,更新所述目标领域模型,包括:
根据所述其它模型接口对应的脚本和所述开发脚本,生成与所述目标领域模型对应的多个模型对象和/或模型步骤;
将多个所述模型对象和/或模型步骤按序组合,生成模型流程;
根据所述模型流程,确定更新后的所述目标领域模型。
可选地,还包括:
获取所述业务***的历史业务数据;其中,所述历史业务数据指示了所述业务***包括的一个或多个历史领域模型、以及与所述历史领域模型对应的历史模型数据;
根据所述历史模型数据,确定所述业务***包括的历史领域模型的一个或多个模型接口。
可选地,所述根据所述历史模型数据,确定所述业务***包括的历史领域模型的一个或多个模型接口,包括:
确定所述历史领域模型包括的历史模型流程;其中,所述历史模型流程包括一个或多个历史模型对象和/或历史模型步骤;
确定每一个所述历史模型对象和/或历史模型步骤的历史模型脚本;
根据所述历史模型脚本,生成与所述历史领域模型对应的一个或多个模型接口。
可选地,所述开发请求还指示了请求方标识;在所述确定对应的领域模型的目标模型接口之前,还包括:
根据所述请求方标识,确定所述开发请求是否具备与所述待重定制的请求功能对应的开发权限;
如果是,确定所述目标模型接口,使得所述请求方根据所述请求数据修改所述目标模型接口的脚本。
可选地,所述目标领域模型为运单模型,所述运单模型包括运单获取接口、合单属性接口和拆单属性接口,所述目标模型接口为合单属性接口。
根据本发明实施例的再一个方面,提供了一种业务***的开发装置,包括:
接收模块,用于接收请求方发送的开发请求;其中,所述开发请求指示了待重定制的请求功能;
接口确定模块,用于根据所述请求功能,在业务***中确定与所述开发请求对应的目标领域模型、以及所述目标领域模型的目标模型接口;其中,所述业务***包括一个或多个领域模型,所述领域模型的一个或多个模型接口是根据历史模型数据确定的;
发送模块,用于将所述目标模型接口对应的脚本发送给请求方,使得所述请求方对所述目标模型接口对应的脚本进行修改,生成与所述请求功能对应的开发脚本;
更新模块,用于接收所述开发脚本,并根据所述开发脚本更新所述目标领域模型,以实现所述目标领域模型的功能重定制。
根据本发明实施例的另一个方面,提供了一种业务***的开发的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明提供的业务***的开发方法。
根据本发明实施例的还一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明提供的业务***的开发方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用对历史领域模型进行拆分梳理,确定历史领域模型的历史模型流程包括的各个模型接口,并从中确定可对外进行二次开发的模型接口,根据请求方的请求,确定对应的目标领域模型的目标模型接口,并将目标模型接口的脚本提供给请求方,使得请求方进行修改,根据请求方修改的开发脚本更新目标领域模型并发布,以实现请求方的请求功能重定制的技术手段,所以克服了由于现有的平台***无法支持客户进行独立二次开发,面对海量的开发需求,不仅耗费的开发周期过长导致客户体验较差,而且对应的开发成本极高,根本无法满足客户的紧急需求的技术问题,进而达到能够实现平台***软件架构的灵活扩展、以及***各个领域模型的主流程标准化、接口可自由扩展的目标,支持客户对平台***进行自主化的二次开发,极大地缩短了二次开发的开发周期、降低了开发成本,开发简便,容易上手,大大地提高了客户满意度,提升客户体验的技术效果。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的业务***的开发方法的主要流程的示意图;
图2是根据本发明实施例的业务***的领域模型的确定方法的主要流程的示意图;
图3是根据本发明实施例的目标领域模型的更新方法的主要流程的示意图;
图4是根据本发明实施例的业务***的开发装置的主要模块的示意图;
图5是根据本发明实施例的业务***的开发***的示意图;
图6示出了适于应用于本发明实施例的业务***的开发方法或业务***的开发装置的示例性***架构图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机***的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
AOP:Aspect Oriented Programming,即面向切面编程,属于软件中通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。
WMS:Warehouse Management System,仓储管理***,是一种仓库的入库、出库、调拨、盘点等业务的管理***,可以有效控制并跟踪仓库业务的物流和成本管理全过程。
图1是根据本发明实施例的业务***的开发方法的主要流程的示意图,如图1所示,本发明的业务***的开发方法包括如下步骤:
现有的客户在使用平台开发的业务***软件过程中,在软件整体架构符合使用要求、但是部分细节需要变更或者增加新的功能时,通常需要再次委托平台进行修改、开发,不仅消耗的时间周期长,而且成本也高。因此,如何能够实现软件的自定义修改,使得客户可以独立进行软件开发以实现其需要的定制化功能,从而降低平台的开发压力,提升用户体验,就成为了平台的主要目标。
通过本发明的业务***的开发方法,能够实现平台的业务***软件架构的灵活扩展,将业务***的各个领域模型的主流程标准化,模型接口可自由扩展,从而支持客户的自主化二次开发,以实现其需要的定制化功能,使得平台的业务***软件架构可以灵活扩展,极大地缩短开发周期、降低开发成本,而且通过自由扩展的模型接口进行细节化配置,使得二次开发简便易上手,大大提高了客户二次开发的便利性,提升了客户体验。
步骤S101,接收请求方发送的开发请求;其中,所述开发请求指示了待重定制的请求功能。
在本发明实施例中,本发明的业务***的开发方法通过***服务器执行,请求方可以是平台的业务***软件的使用方或者客户。比如,业务***为WMS仓储管理***,开发请求为请求修改运单的合单属性,请求将原始的“根据用户标识进行合单”的合单属性修改为“根据收货地址进行合单”,相应地,开发请求指示的待重定制的请求功能为合单属性功能。其中,合单是指将多个运单合并为一个运单。
在本发明实施例中,开发请求还指示了请求方标识,***服务器接收到请求方发送的开发请求后,根据开发请求指示的请求方标识,在预置的开发数据库中进行查找,确定请求方是否具备与待重定制的请求功能对应的开发权限。在请求方具备与待重定制的请求功能对应的开发权限的情况下,执行步骤S102;在请求方不具备与待重定制的请求功能对应的开发权限的情况下,拒绝请求方的开发请求。其中,开发数据库存储有请求方标识、请求方使用软件标识、软件开发权限之间的对应关系。
步骤S102,根据所述请求功能,在业务***中确定与所述开发请求对应的目标领域模型、以及所述目标领域模型的目标模型接口;其中,所述业务***包括一个或多个领域模型,所述领域模型的一个或多个模型接口是根据历史模型数据确定的。
在本发明实施例中,比如,WMS仓储管理***可以包括基础数据领域的基础数据模型、库存领域的库存模型、入库领域的入库模型、出库领域的出库模型、盘点领域的盘点模型、运单领域的运单模型等多个领域模型。运单模型可以包括运单获取接口、合单属性接口、聚合单接口、拆单属性接口和子运单接口等模型接口。
进一步地,并非领域模型的各个模型接口都可以对外开放以进行二次开发,业务***软件的开发人员可以预先设置模型接口的开发属性,比如,或者不可对外进行二开。
更进一步地,比如,运单模型的合单属性接口和拆单属性接口的开发属性为可对外进行二开,运单获取接口、聚合单接口和子运单接口的开发属性为不可对外进行二开,相应地,***服务器在接收到针对合单属性接口和拆单属性接口的开发请求时,可以根据请求方标识判断是否允许请求方进行二次开发;在接收到针对运单获取接口、聚合单接口和子运单接口的开发请求时,直接拒绝开发请求即可。
在本发明实施例中,***服务器根据合单属性功能,在业务***中确定与“请求修改运单的合单属性”对应的目标领域模型为运单模型,运单模型的目标模型接口为合单属性接口。
在本发明实施例中,如图2所示,本发明的业务***的领域模型的确定方法包括如下步骤:
步骤S201,获取所述业务***的历史业务数据;其中,所述历史业务数据指示了所述业务***包括的一个或多个历史领域模型、以及与所述历史领域模型对应的历史模型数据。
在本发明实施例中,对WMS仓储管理***进行分析,WMS仓储管理***包括基础数据、库存、入库、出库、盘点、运单等模块,相应地,获取WMS仓储管理***的历史业务数据,包括历史基础数据模型、历史库存模型、历史入库模型、历史出库模型、历史盘点模型、历史运单模型、以及与各个历史领域模型对应的历史模型数据。历史模型数据包括历史领域模型的历史模型流程、历史模型对象和/或历史模型步骤等。
步骤S202,根据所述历史模型数据,确定所述业务***包括的历史领域模型的一个或多个模型接口。
步骤S2021,确定所述历史领域模型包括的历史模型流程;其中,所述历史模型流程包括一个或多个历史模型对象和/或历史模型步骤。
在本发明实施例中,通过历史模型数据,对历史领域模型进行梳理,分析其对应的历史模型流程,并非每一个历史领域模型皆包括执行方法,也即,并非每一个历史领域模型皆包括历史模型步骤。故而历史领域模型的历史模型流程可能仅包括历史模型对象,或者仅包括历史模型步骤,或者既包括历史模型对象也包括历史模型步骤。比如,基础数据模型包括物品、仓库、承运商等对象,运单模型包括获取运单标识、根据合单属性进行合单、确定合单后的聚合单等步骤,库存模型中包括物理仓库库存、渠道库存、库存流水等对象和获取仓库标识和物品标识、根据与物品标识对应的物理仓库库存和渠道库存确定物品未来某一天的总库存、根据总库存接收用户下单等步骤。
步骤S2022,确定每一个所述历史模型对象和/或历史模型步骤的历史模型脚本。
在本发明实施例中,***服务器利用***已有的脚本生成工具生成历史模型对象和/或历史模型步骤对应的脚本/业务代码。或者,***服务器可以安装其它脚本生成工具用以生成脚本。
步骤S2023,根据所述历史模型脚本,生成与所述历史领域模型对应的一个或多个模型接口。
在本发明实施例中,***服务器利用***已有的编译工具对历史模型脚本进行编译,以部署与历史领域模型对应的一个或多个模型接口。或者,***服务器可以安装其它编译工具用以编译脚本。
在本发明实施例中,一个历史模型对象对应一个模型接口,和/或,一个历史模型步骤对应一个模型接口,比如,模型接口可以是运单模型的增加、删除、修改合单属性等较为简单的接口,还可以是库存模型的预占库存等业务性很强的接口。
在本发明实施例中,可以仅生成可对外进行二开的模型接口,或者,也可以既生成可对外进行二开的模型接口,也生成不可对外进行二开的模型接口。
在本发明实施例中,通过本发明的业务***的领域模型的确定方法,能够对历史领域模型的历史领域流程包括历史领域对象、历史领域步骤等进行梳理,确定其中需要对外开放的二次开发模型接口并进行设计,生成对应的业务代码并编译为模型接口,从而形成可灵活扩展的业务***软件架构,使得请求方可根据需要进行接口扩展,以实现需要的功能,开发简单容易上手,为客户提供了极高的开发便利性。
步骤S103,将所述目标模型接口对应的脚本发送给请求方,使得所述请求方对所述目标模型接口对应的脚本进行修改,生成与所述请求功能对应的开发脚本。
在本发明实施例中,***服务器将目标模型接口对应的脚本发送给请求方,请求方可以通过AOP等方式修改目标模型接口的脚本,生成与请求功能对应的开发脚本以符合自身的开发需求,实现请求功能的重定制。
步骤S104,接收所述开发脚本,并根据所述开发脚本更新所述目标领域模型,以实现所述目标领域模型的功能重定制。
在本发明实施例中,***服务器根据请求方发送的开发脚本,替换原来的目标模型接口的脚本,根据替换后的脚本进行编译,更新目标领域模型,更新后的目标领域模型可以实现请求方发送的开发请求对应的请求功能。
进一步地,***服务器重新发布更新后的目标领域模型,请求方在使用更新后的业务***软件时,可以按照自定义的内容实现需要的功能,比如,按照自定义的合单属性进行运单处理。
在本发明实施例中,如图3所示,本发明的目标领域模型的更新方法包括如下步骤:
步骤S301,确定目标领域模型包括的全部模型接口。
步骤S302,确定目标领域模型除目标模型接口外是否还包括其它模型接口,如果是,转至步骤S303;如果否,转至步骤S305。
在本发明实施例中,***服务器根据目标领域模型是否还包括其它模型接口,确定目标领域模型的不同更新方式。
步骤S303,获取所述目标领域模型中除所述目标模型接口以外的其它模型接口对应的脚本。
在本发明实施例中,在目标领域模型还包括除目标模型接口以外的其它模型接口的情况下,需要将目标模型接口的开发脚本和其它模型接口的脚本组合起来,以重新生成目标领域模型。
步骤S304,根据所述其它模型接口对应的脚本和所述开发脚本,更新所述目标领域模型。
在本发明实施例中,***服务器在更新目标领域模型时,需要确定其它模型接口对应的脚本,将目标模型接口的开发脚本和其它模型接口的脚本进行组合,以确定更新后的目标领域模型对应的全部脚本,进而根据更新后的全部脚本对目标领域模型进行更新。具体地:
步骤S3041,根据所述其它模型接口对应的脚本和所述开发脚本,生成与所述目标领域模型对应的多个模型对象和/或模型步骤。
步骤S3042,将多个所述模型对象和/或模型步骤按序组合,生成模型流程。
步骤S3043,根据所述模型流程,确定更新后的所述目标领域模型。
在本发明实施例中,***服务器根据目标领域模型的开发脚本,生成目标模型接口对应的模型对象和/或模型步骤;***服务器根据其它领域模型的脚本,生成其它模型接口对应的模型对象和/或模型步骤;将目标模型接口和其它模型接口对应的模型对象和/或模型步骤,按照目标领域模型的原始的模型流程对应的接口顺序进行组合,生成与更新后的目标领域模型对应的模型流程,得到更新后的目标领域模型。
步骤S305,根据开发脚本生成与目标领域模型对应的模型流程。
在本发明实施例中,在目标领域模型不包括除目标模型接口以外的其它模型接口的情况下,直接根据开发脚本生成与目标领域模型对应的模型流程即可。
步骤S306,根据模型流程,确定更新后的目标领域模型。
在本发明实施例中,在目标领域模型仅包括目标模型接口的情况下,***服务器在更新目标领域模型时,直接根据开发脚本生成目标模型接口对应的模型对象和/或模型步骤,即对应的与更新后的目标领域模型对应的模型流程,得到更新后的目标领域模型。
在本发明实施例中,通过本发明的目标领域模型的更新方法,能够对目标领域模型包括的模型接口进行梳理,从而根据目标模型接口的开发脚本、或者目标模型接口的开发脚本和其它模型接口的脚本更新目标领域模型,以实现请求方发送的开发请求对应的请求功能。
在本发明实施例中,通过接收请求方发送的开发请求;其中,所述开发请求指示了待重定制的请求功能;根据所述请求功能,在业务***中确定与所述开发请求对应的目标领域模型、以及所述目标领域模型的目标模型接口;其中,所述业务***包括一个或多个领域模型,所述领域模型的一个或多个模型接口是根据历史模型数据确定的;将所述目标模型接口对应的脚本发送给请求方,使得所述请求方对所述目标模型接口对应的脚本进行修改,生成与所述请求功能对应的开发脚本;接收所述开发脚本,并根据所述开发脚本更新所述目标领域模型,以实现所述目标领域模型的功能重定制等步骤,能够实现平台***软件架构的灵活扩展、以及***各个领域模型的主流程标准化、接口可自由扩展的目标,支持客户对平台***进行自主化的二次开发,极大地缩短了二次开发的开发周期、降低了开发成本,开发简便,容易上手,大大地提高了客户满意度,提升客户体验。
图4是根据本发明实施例的业务***的开发装置的主要模块的示意图,如图4所示,本发明的业务***的开发装置400包括:
接收模块401,用于接收请求方发送的开发请求;其中,所述开发请求指示了待重定制的请求功能。
在本发明实施例中,请求方可以是平台的业务***软件的使用方或者客户,所述接收模块401用于接收请求方发送的开发请求。
接口确定模块402,用于根据所述请求功能,在业务***中确定与所述开发请求对应的目标领域模型、以及所述目标领域模型的目标模型接口;其中,所述业务***包括一个或多个领域模型,所述领域模型的一个或多个模型接口是根据历史模型数据确定的。
在本发明实施例中,所述接口确定模块402用于根据请求功能,在业务***中确定与开发请求对应的目标领域模型、以及目标领域模型的目标模型接口。比如,所述接口确定模块402根据合单属性功能,在业务***中确定与“请求修改运单的合单属性”对应的目标领域模型为运单模型,运单模型的目标模型接口为合单属性接口。
发送模块403,用于将所述目标模型接口对应的脚本发送给请求方,使得所述请求方对所述目标模型接口对应的脚本进行修改,生成与所述请求功能对应的开发脚本。
在本发明实施例中,所述发送模块403将目标模型接口对应的脚本发送给请求方,请求方可以通过AOP等方式修改目标模型接口的脚本,生成与请求功能对应的开发脚本以符合自身的开发需求,实现请求功能的重定制。
更新模块404,用于接收所述开发脚本,并根据所述开发脚本更新所述目标领域模型,以实现所述目标领域模型的功能重定制。
在本发明实施例中,所述更新模块404根据请求方发送的开发脚本,替换原来的目标模型接口的脚本,根据替换后的脚本进行编译,更新目标领域模型,更新后的目标领域模型可以实现请求方发送的开发请求对应的请求功能。
进一步地,***服务器重新发布更新后的目标领域模型,请求方在使用更新后的业务***软件时,可以按照自定义的内容实现需要的功能,比如,按照自定义的合单属性进行运单处理。
在本发明实施例中,通过接收模块、接口确定模块、发送模块和更新模块等模块,能够实现平台***软件架构的灵活扩展、以及***各个领域模型的主流程标准化、接口可自由扩展的目标,支持客户对平台***进行自主化的二次开发,极大地缩短了二次开发的开发周期、降低了开发成本,开发简便,容易上手,大大地提高了客户满意度,提升客户体验。
图5是根据本发明实施例的业务***的开发模型的示意图,如图4所示,本发明的业务***的开发模型500包括:领域模型层501、服务接口层502、流程编排层503和代码生成层504。
领域模型层501作为基础层,用于定义业务***的领域模型,包括模型参数、参数属性、模型数据库结构、交互方式、前端展示等。
服务接口层502,描述各个领域模型可对外进行二开的模型接口,请求方可以通过服务接口层502进行自定义修改,以实现功能重定制。
流程编排层503,根据修改后的目标模型接口的脚本,对目标领域模型的各个接口的脚本按序组合(或称,按序串联),确定更新后的目标领域模型的模型流程,使得模型流程以一组服务接口的组合呈现。
代码生成层504,根据领域模型层501的领域模型、服务接口层502的模型接口、流程编排层503确定的模型流程,导出更新后的目标领域模型的脚本/业务代码,从而实现目标领域模型的重发布。
图6示出了适于应用于本发明实施例的业务***的开发方法或业务***的开发装置的示例性***架构图,如图6所示,本发明实施例的业务***的开发方法或业务***的开发装置的示例性***架构包括:
如图6所示,***架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器105之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
请求方可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如二次开发类应用、购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对请求方利用终端设备601、602、603所浏览的二次开发类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的开发请求等数据进行分析等处理,并将处理结果(例如目标模型接口)反馈给终端设备601、602、603,使得请求方对目标模型接口对应的脚本进行修改,生成与开发请求对应的开发脚本。后台管理服务器接收到开发脚本后,根据开发脚本更新目标领域模型并发布,使得请求方可以使用功能重定制后的业务***软件。
需要说明的是,本发明实施例所提供的业务***的开发方法一般由服务器605执行,相应地,业务***的开发装置一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图7是适于用来实现本发明实施例的终端设备或服务器的计算机***的结构示意图,如图7所示,本发明实施例的终端设备或服务器的计算机***700包括:
中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有***700操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、接口确定模块、发送模块和更新模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,更新模块还可以被描述为“根据接收到的开发脚本更新目标领域模型,以实现目标领域模型的功能重定制的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收请求方发送的开发请求;其中,所述开发请求指示了待重定制的请求功能;根据所述请求功能,在业务***中确定与所述开发请求对应的目标领域模型、以及所述目标领域模型的目标模型接口;其中,所述业务***包括一个或多个领域模型,所述领域模型的一个或多个模型接口是根据历史模型数据确定的;将所述目标模型接口对应的脚本发送给请求方,使得所述请求方对所述目标模型接口对应的脚本进行修改,生成与所述请求功能对应的开发脚本;接收所述开发脚本,并根据所述开发脚本更新所述目标领域模型,以实现所述目标领域模型的功能重定制。
现有的平台业务***软件要不无法支持客户进行独立的二次开发,要不支持二次开发但需要客户对整个业务***的全部模型进行学习方可进行独立的二次开发。
根据本发明实施例的技术方案,能够实现平台***软件架构的灵活扩展、以及***各个领域模型的主流程标准化、接口自由扩展,并且,开发模型的模型接口的使用文档和详细说明展示于API网关页面,比如,利用Swagger生成接口文档,从而客户只需要对请求功能对应的模型接口进行学习,而无需学习整个业务***的各个模型,大大降低了客户的学习成本。
根据本发明实施例的技术方案,对现有领域模型进行拆分梳理,确定各个可以对外服务以进行二次开发的扩展接口的节点并设置对应的对外服务接口,通过领域模型和流程编排方式实现***代码生成和接口动态替换,对允许扩展的接口进行逻辑重写,更新目标领域模型,使得更新后的目标领域模型可以实现请求方的开发请求的请求功能重定制。
根据本发明实施例的技术方案,能够实现平台***软件架构的灵活扩展,实现***各个领域模型的主流程标准化、接口可自由扩展的目标,支持客户对平台***进行自主化的二次开发,极大地缩短了二次开发的开发周期、降低了开发成本,开发简便,容易上手,大大地提高了客户满意度,提升客户体验。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种业务***的开发方法,其特征在于,包括:
接收请求方发送的开发请求;其中,所述开发请求指示了待重定制的请求功能;
根据所述请求功能,在业务***中确定与所述开发请求对应的目标领域模型、以及所述目标领域模型的目标模型接口;其中,所述业务***包括一个或多个领域模型,所述领域模型的一个或多个模型接口是根据历史模型数据确定的;
将所述目标模型接口对应的脚本发送给请求方,使得所述请求方对所述目标模型接口对应的脚本进行修改,生成与所述请求功能对应的开发脚本;
接收所述开发脚本,并根据所述开发脚本更新所述目标领域模型,以实现所述目标领域模型的功能重定制。
2.根据权利要求1所述的方法,其特征在于,所述根据所述请求功能,在业务***中确定与所述开发请求对应的目标领域模型、以及所述目标领域模型的目标模型接口,包括:
根据所述请求功能,在所述业务***中确定所述目标领域模型是否还包括除所述目标模型接口以外的其它模型接口;
如果是,
所述根据所述开发脚本更新所述目标领域模型,包括:
获取所述目标领域模型中除所述目标模型接口以外的其它模型接口对应的脚本;
根据所述其它模型接口对应的脚本和所述开发脚本,更新所述目标领域模型。
3.根据权利要求2所述的方法,其特征在于,所述根据所述其它模型接口对应的脚本和所述开发脚本,更新所述目标领域模型,包括:
根据所述其它模型接口对应的脚本和所述开发脚本,生成与所述目标领域模型对应的多个模型对象和/或模型步骤;
将多个所述模型对象和/或模型步骤按序组合,生成模型流程;
根据所述模型流程,确定更新后的所述目标领域模型。
4.根据权利要求1所述的方法,其特征在于,还包括:
获取所述业务***的历史业务数据;其中,所述历史业务数据指示了所述业务***包括的一个或多个历史领域模型、以及与所述历史领域模型对应的历史模型数据;
根据所述历史模型数据,确定所述业务***包括的历史领域模型的一个或多个模型接口。
5.根据权利要求4述的方法,其特征在于,所述根据所述历史模型数据,确定所述业务***包括的历史领域模型的一个或多个模型接口,包括:
确定所述历史领域模型包括的历史模型流程;其中,所述历史模型流程包括一个或多个历史模型对象和/或历史模型步骤;
确定每一个所述历史模型对象和/或历史模型步骤的历史模型脚本;
根据所述历史模型脚本,生成与所述历史领域模型对应的一个或多个模型接口。
6.根据权利要求1所述的方法,其特征在于,所述开发请求还指示了请求方标识;在所述确定对应的领域模型的目标模型接口之前,还包括:
根据所述请求方标识,确定所述开发请求是否具备与所述待重定制的请求功能对应的开发权限;
如果是,确定所述目标模型接口,使得所述请求方根据所述请求数据修改所述目标模型接口的脚本。
7.根据权利要求1所述的方法,其特征在于,所述目标领域模型为运单模型,所述运单模型包括运单获取接口、合单属性接口和拆单属性接口,所述目标模型接口为合单属性接口。
8.一种业务***的开发装置,其特征在于,包括:
接收模块,用于接收请求方发送的开发请求;其中,所述开发请求指示了待重定制的请求功能;
接口确定模块,用于根据所述请求功能,在业务***中确定与所述开发请求对应的目标领域模型、以及所述目标领域模型的目标模型接口;其中,所述业务***包括一个或多个领域模型,所述领域模型的一个或多个模型接口是根据历史模型数据确定的;
发送模块,用于将所述目标模型接口对应的脚本发送给请求方,使得所述请求方对所述目标模型接口对应的脚本进行修改,生成与所述请求功能对应的开发脚本;
更新模块,用于接收所述开发脚本,并根据所述开发脚本更新所述目标领域模型,以实现所述目标领域模型的功能重定制。
9.一种业务***的开发的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202210485727.8A 2022-05-06 2022-05-06 一种业务***的开发方法和装置 Pending CN114816483A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210485727.8A CN114816483A (zh) 2022-05-06 2022-05-06 一种业务***的开发方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210485727.8A CN114816483A (zh) 2022-05-06 2022-05-06 一种业务***的开发方法和装置

Publications (1)

Publication Number Publication Date
CN114816483A true CN114816483A (zh) 2022-07-29

Family

ID=82512239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210485727.8A Pending CN114816483A (zh) 2022-05-06 2022-05-06 一种业务***的开发方法和装置

Country Status (1)

Country Link
CN (1) CN114816483A (zh)

Similar Documents

Publication Publication Date Title
CN108920222B (zh) 一种基于规则引擎的业务处理方法和装置
US10521492B2 (en) Systems and methods that utilize contextual vocabularies and customer segmentation to deliver web content
CN109492053B (zh) 用于访问数据的方法和装置
CN109522751B (zh) 访问权限控制方法、装置、电子设备及计算机可读介质
CN111580820A (zh) 一种小程序生成方法和装置
CN112860744A (zh) 一种业务流程处理方法和装置
CN111125064B (zh) 一种生成数据库模式定义语句的方法和装置
US10725795B2 (en) Systems, methods, and apparatuses for dynamic creation of an external code segment within a cloud based computing environment
CN112764751A (zh) 接口生成方法和装置、接口请求方法和装置及存储介质
US10289525B2 (en) Multi-layer design response time calculator
US20120143866A1 (en) Client Performance Optimization by Delay-Loading Application Files with Cache
CN114443076A (zh) 镜像构建方法、装置、设备及存储介质
CN110223179A (zh) 资金的数据处理方法、装置、***、介质
CN113448570A (zh) 数据处理方法、装置、电子设备及存储介质
CN113779004A (zh) 一种数据校验的方法和装置
CN112631563A (zh) 基于框架的***开发方法、装置、计算机设备及存储介质
CN109683992A (zh) 用于管理对象的方法和装置
CN111580733A (zh) 任务处理方法、装置、计算设备以及介质
CN116051031A (zh) 项目调度***、介质及电子设备
CN116151631A (zh) 一种业务决策处理***、一种业务决策处理方法和装置
CN114816483A (zh) 一种业务***的开发方法和装置
CN114399259A (zh) 一种员工数据处理方法和装置
CN111062682B (zh) 一种工单处理方法和装置
CN113312900A (zh) 数据校验的方法和装置
CN113762702A (zh) 工作流部署方法、装置、计算机***和可读存储介质

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