CN103164206A - 基于saas的软件定制系统 - Google Patents
基于saas的软件定制系统 Download PDFInfo
- Publication number
- CN103164206A CN103164206A CN 201110422609 CN201110422609A CN103164206A CN 103164206 A CN103164206 A CN 103164206A CN 201110422609 CN201110422609 CN 201110422609 CN 201110422609 A CN201110422609 A CN 201110422609A CN 103164206 A CN103164206 A CN 103164206A
- Authority
- CN
- China
- Prior art keywords
- rule
- business
- tenant
- saas
- software
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提出了一个灵活的基于SAAS的业务定制系统,通过基于领域工程的业务规则模板来表述业务逻辑,并为每个租户配备了业务对象表,在SAAS应用调用规则引擎前,会首先查阅租户的业务对象表,如果此调用点所涉及到的业务对象存在于租户的业务对象表中,则调用规则引擎,否则将不会调用规则引擎,不这样本发明仅兼顾到租户定制业务规则时的操作易用性,而且增加了SAAS系统在多租户使用时的性能。
Description
技术领域
本发明涉及SAAS技术,尤其涉及一种基于SAAS的软件定制系统。
背景技术
SAAS是指企业获取软件服务的一种新形式,它不需要企业将软件产品安装在自己的电脑或服务器上,而是按某种服务水平协议(SLA)直接通过网络向专门的提供商获取自己所需要的、带有相应软件功能的服务,按需使用,按需付费。这一概念真正抓住了人们使用软件的根本目的,指出人们对于软件的需求实质上是对于应用服务的需求。SAAS概念的出现,彻底将软件从产品变成了服务,实现了软件从第二产业向第三产业的跨越,最终完成了对于软件本质的回归。
SAAS在给用户带来利益的同时由于其自身的复杂性向开发技术和方法出了挑战,如何来保证用户数据的安全性,如何满足用户的个性化需求,如何能使系统易于扩展等,这些正是摆在SAAS面前亟待解决的问题,也在某种程度上阻碍了SAAS的发展。
在这些问题中,有一个问题尤为引人关注,这就是用户的个性化需求问题。在越来越重视用户体验的今天,能否满足用户对于软件的个性化需求甚至可以关系到一个软件的成败,毕竟用户总是希望获得更加符合自身需要的软件服务。对于SAAS应用来说,由于其采用多租户的架构,这一问题就更显得尤为突出。SAAS应用一般都力图设计成通用的软件,以便能为尽可能多的用户提供软件服务。然而,由于存在行业专注、客户行为、供应产品、规章制度、运营策略、文化传统等差异,许多用户仍然有自己独特的业务需求。由于SAAS支持多个租户运行同一软件实例,应用提供商无法通过为每一个租户开发并维护一个代码版本来满足租户的独特需求。
在传统应用中,人们想到了通过定制的方法来满足软件不同用户的个性化需求,在SAAS应用中,我们也可以如此做。然而,SAAS应用的定制与传统软件的定制在技术和方法上存在着不少差别,使得现有的针对传统软件的方法无法直接应用到SAAS应用上或不能够满足SAAS应用对于定制的需求。这些差别包括:
1)SAAS应用的定制需要支持多租户。每个租户有着自己不同的定制,而传统软件在整个系统中只需要有一份定制。
2)SAAS应用的定制操作不是在系统运行前静态执行,而是要能够在系统运行过程中动态执行,从而能够根据需求的变化随时做出相应的定制,而且定制的时候不能把系统暂停下来,以免影响其它租户。
3)在SAAS中,大多数定制操作由租户的管理员来执行,而不是由软件供应商的开发人员来配置,这要求定制操作简单易懂。
以上这些差别使得SAAS应用在架构和设计方案上变得更加复杂,同时也使得传统软件定制技术不能完全满足SAAS的需求。SAAS应用的软件定制能力是决定应用能否吸引顾客的重要因素之一。越是复杂、越是通用的SAAS应用,对软件定制能力的要求就越高。因此,如何进一步提高SAAS应用的定制能力,是急待解决的课题之一。
发明内容
为了解决上述技术问题,本发明提出了一种基于SAAS的软件定制系统,包括:
可视化规则定义器:其作为一个面向租户的可视化的规则定义和编辑页面,所述定义器包括业务规则模板以及一些相关的业务对象及其属性,租户可以通过其配置出符合其需求的业务规则;
规则翻译器:其作为一个规则转换工具,所述翻译器中预先定义了几套转换规则,规则翻译器自动将租户定义的业务规则转化为规则引擎可以识别的业务规则;
业务对象表:每个租户拥有一个业务对象表,用来存放与此租户定义的业务规则相关的业务对象;
规则引擎:接受数据输入,解释并定义业务规则,并依据业务规则执行业务决策;
规则文件库:包含一个或多个规则包,它们已经被校验和编译完成以备规则引擎使用;
数据库:用以存放应用数据和规则数据。
所述可视化规则定义器的业务规则模板是采用领域工程方法设计,利用结构化的自然语言来描述。
通过可视化规则定义器,租户可以从业务规则模板中选择他们所需要的模板,并将模板内容填写完整然后进行自由组合,可形成一条完整的业务规则,与此同时,系统会自动将租户定义的业务规则中相关的业务对象加入到租户的业务对象表中。
在业务规则被定义好之后,它将会被送入到规则翻译器中,规则翻译器会按照预先定义好的转换规则自动将业务规则转换成规则引擎可以识别的格式。
转换后的业务规则会按照规则文件的格式进行组装并加入到规则文件库以备规则引擎使用,同时,为了便于规则的查询修改,将业务规则以规则名称、规则属性、规则条件、规则动作等形式存储到数据库中,
在数据库和规则文件库中存储的业务规则是一一对应、相互映射的,在数据库中对某条规则进行了修改,则需要在规则文件库中也进行修改。
当一个租户登录进系统后,系统将会将此租户的规则文件装载到规则引擎的规则库中以供规则引擎使用,当系统运行至规则引擎调用点时,系统将会首先检查租户的业务对象表来决定是否调用规则引擎,如果与当前调用点相关的业务对象存在于租户的业务对象表中,系统将会调用规则引擎以执行租户定义的业务逻辑,否则将不会调用。
通过上述技术方案,本发明提出了一个灵活的面向SAAS应用的业务定制系统,通过基于领域工程的业务规则模板来表述业务逻辑,并为每个租户配备了业务对象表,在SAAS应用调用规则引擎前,会首先查阅租户的业务对象表,如果此调用点所涉及到的业务对象存在于租户的业务对象表中,则调用规则引擎,否则将不会调用规则引擎,不这样本发明仅兼顾到租户定制业务规则时的操作易用性,而且增加了SAAS系统在多租户使用时的性能。
附图说明
附图主要是用于提供对本发明进一步的理解。附图示出了本发明的实施例,并与本说明书一起起到解释本发明原理的作用。附图中:
图1示意性地示出了根据本发明的基于SAAS的软件定制系统的系统框架图。
具体实施方式
以下结合附图详细描述本发明的技术方案。
图1示意性地示出了根据本发明的基于SAAS的软件定制系统10的系统框架图。如图1所示,基于SAAS的软件定制系统10主要包括:
可视化规则定义器11:其作为一个面向租户的可视化的规则定义和编辑页面,所述定义器11包括业务规则模板以及一些相关的业务对象及其属性,租户可以通过编辑界面很方便地配置出符合其需求的业务规则;
规则翻译器12:其作为一个规则转换工具,所述翻译器中预先定义了几套转换规则,规则翻译器12自动将租户定义的业务规则转化为规则引擎14可以识别的业务规则;
业务对象表13:每个租户拥有一个业务对象表13,用来存放与此租户定义的业务规则相关的业务对象;
规则引擎14:接受数据输入,解释并定义业务规则,并依据业务规则执行业务决策;
规则文件库15:包含一个或多个规则包,它们已经被校验和编译完成以备规则引擎14使用;
数据库16:用以存放应用数据和规则数据。
采用现有的业务规则方法存在一个缺点,即需要专业技术人员的参与,去编写复杂的业务规则代码,如何才能既发挥业务规则方法的优点又能最大程度上避开其缺点,本发明选择了采用业务规则模板的方式。由技术人员和业务人员共同对于业务规则进行分析研究,在此基础上,提取出业务规则模板以及一些相关的业务对象、属性等。这样,租户只需要选择并填写模板就可以完成业务逻辑的定制。。
所述业务规则模板设计步骤如下:
a采用领域工程的方法,识别此领域中与业务逻辑相关的所有的共性和可变性,并建立领域分析模型。
b对可变性进行分析,建立领域设计模型,识别出与业务逻辑相关的核心业务对象及其属性,并将可变性以上节中所提出的业务规则的格式进行表述。
c提取出这些业务规则中的共同形式,然后以结构化的自然语言表述出来,形成业务规则模板。
通过可视化规则定义器11,租户可以从业务规则模板中选择他们所需要的模板,并将模板内容填写完整然后进行自由组合,可形成一条完整的业务规则,与此同时,系统会自动将租户定义的业务规则中相关的业务对象加入到租户的业务对象表13中。
通过采用基于领域工程的业务规则模板的方法进行业务逻辑的定制,与现有的业务逻辑定制方法相比,具有如下优点:
a可定制内容丰富:本发明采用领域工程的方法,对某一领域内的可变点进行建模,基本覆盖了租户对于可变性的需求。
b定制操作简单:本发明提供了大量的自然语言描述的业务规则模板,租户无需自己去编写复杂的业务逻辑,只需要选择符合自己需要的模板并将模板内容补充完整即完成了一条业务逻辑的定制。
c错误发生概率低:由于本发明采用规则模板的方式来定义业务逻辑,所以很大程度上可以避免业务逻辑语法错误的发生。
在业务规则被定义好之后,将会被送入到规则翻译器12中,规则翻译器12会按照预先定义好的转换规则自动将业务规则转换成规则引擎14可以识别的格式。作为一个实施例,本发明采用规则引擎14为JBoss旗下的一款开源业务规则引擎——Drools。并建立如下的条件模板:(Assessround)的(assessState)满足(=)(已启动),其对应的Drools规则引擎可识别的业务规则格式为:Assessround(assessState==“已启动”)。当租户定义好一条业务逻辑并经转化后,我们将其加入到租户的规则文件中以备规则引擎14使用。
转换后的业务规则会按照规则文件的格式进行组装并加入到规则文件库15以备规则引擎14使用,同时,为了便于规则的查询修改,将业务规则以规则名称、规则属性、规则条件、规则动作等形式存储到数据库16中,
在数据库16和规则文件库15中存储的业务规则是一一对应、相互映射的,在数据库16中对某条规则进行了修改,则需要在规则文件库15中也进行修改。
当一个租户登录进系统后,系统将会将此租户的规则文件装载到规则引擎14的规则库中以供规则引擎14使用,当系统运行至规则引擎14调用点时,系统将会首先检查租户的业务对象表13来决定是否调用规则引擎14,如果与当前调用点相关的业务对象存在于租户的业务对象表13中,系统将会调用规则引擎14以执行租户定义的业务逻辑,否则将不会调用。
在此框架中,之所以会为每个租户配备一个业务对象表13,是因为每个租户都会有自己独一无二的需求,这将导致所有租户定义的业务逻辑数目可能会极为庞大。大量的业务逻辑可能会涉及到大量的业务对象,也意味着在SAAS应用会预先定义大量的规则引擎14调用点。而对于某一租户来说,其所需的可能只是其中很少一部分,大量多余的规则引擎14调用可能会大大降低系统的执行性能。因此,我们为每位租户建立了业务对象表13,租户在定义业务规则的同时将涉及到的业务对象加入到业务对象表13中,在SAAS应用调用规则引擎14前,会首先查阅租户的业务对象表13,如果此调用点所涉及到的业务对象存在于租户的业务对象表13中,则调用规则引擎14,否则将不会调用规则引擎14。通过此种方法可以很好地优化系统的执行性能。
上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
Claims (7)
1.一种基于SAAS的软件定制系统,其特征在于,包括:
可视化规则定义器:其作为一个面向租户的可视化的规则定义和编辑页面,所述定义器包括业务规则模板以及一些相关的业务对象及其属性,租户可以通过其配置出符合其需求的业务规则;
规则翻译器:其作为一个规则转换工具,所述翻译器中预先定义了几套转换规则,规则翻译器自动将租户定义的业务规则转化为规则引擎可以识别的业务规则;
业务对象表:每个租户拥有一个业务对象表,用来存放与此租户定义的业务规则相关的业务对象;
规则引擎:接受数据输入,解释并定义业务规则,并依据业务规则执行业务决策;
规则文件库:包含一个或多个规则包,它们已经被校验和编译完成以备规则引擎使用;
数据库:用以存放应用数据和规则数据。
2.如权利要求1所述的一种基于SAAS的软件定制系统,其特征在于,所述可视化规则定义器的业务规则模板是采用领域工程方法设计,利用结构化的自然语言来描述。
3.如权利要求2所述的一种基于SAAS的软件定制系统,其特征在于通过可视化规则定义器,租户可以从业务规则模板中选择他们所需要的模板,并将模板内容填写完整然后进行自由组合,形成一条完整的业务规则,与此同时,系统会自动将租户定义的业务规则中相关的业务对象加入到租户的业务对象表中。
4.如权利要求3所述的一种基于SAAS的软件定制系统,其特征在于,在业务规则被定义好之后,它将会被送入到规则翻译器中,规则翻译器会按照预先定义好的转换规则自动将业务规则转换成规则引擎可以识别的格式。
5.如权利要求4所述的一种基于SAAS的软件定制系统,其特征在于转换后的业务规则会按照规则文件的格式进行组装并加入到规则文件库以备规则引擎使用,同时,为了便于规则的查询修改,将业务规则以规则名称、规则属性、规则条件、规则动作等形式存储到数据库中,
6.如权利要求5所述的一种基于SAAS的软件定制系统,其特征在于,在数据库和规则文件库中存储的业务规则是一一对应、相互映射的,在数据库中对某条规则进行了修改,则需要在规则文件库中也进行修改。
7.如权利要求5所述的一种基于SAAS的软件定制系统,其特征在于,当一个租户登录进系统后,系统将会将此租户的规则文件装载到规则引擎的规则库中以供规则引擎使用,当系统运行至规则引擎调用点时,系统将会首先检查租户的业务对象表来决定是否调用规则引擎,如果与当前调用点相关的业务对象存在于租户的业务对象表中,系统将会调用规则引擎以执行租户定义的业务逻辑,否则将不会调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110422609 CN103164206A (zh) | 2011-12-16 | 2011-12-16 | 基于saas的软件定制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110422609 CN103164206A (zh) | 2011-12-16 | 2011-12-16 | 基于saas的软件定制系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103164206A true CN103164206A (zh) | 2013-06-19 |
Family
ID=48587331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110422609 Pending CN103164206A (zh) | 2011-12-16 | 2011-12-16 | 基于saas的软件定制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103164206A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103414705A (zh) * | 2013-07-30 | 2013-11-27 | 电子科技大学 | 一种基于saas模式的移动互联网络异构数据交换方法 |
CN103793223A (zh) * | 2013-12-27 | 2014-05-14 | 远光软件股份有限公司 | 一种规则创建方法及系统 |
CN107423998A (zh) * | 2017-03-27 | 2017-12-01 | 北京二零四八科技有限公司 | 一种基于SaaS平台的可视化销售数据管理方法及系统 |
CN108595276A (zh) * | 2018-03-18 | 2018-09-28 | 平安科技(深圳)有限公司 | 业务逻辑的处理方法、系统、计算机设备和存储介质 |
CN108664519A (zh) * | 2017-04-01 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 业务规则管理的方法、装置、电子设备和存储介质 |
CN108989453A (zh) * | 2018-08-08 | 2018-12-11 | 国云科技股份有限公司 | 一种基于SaaS的APP自助创建管理云平台系统及其实现方法 |
CN109408038A (zh) * | 2018-09-20 | 2019-03-01 | 摩尔元数(厦门)科技有限公司 | 一种开源app个性化定制方法以及系统 |
CN111966342A (zh) * | 2020-08-10 | 2020-11-20 | 上海中通吉网络技术有限公司 | 基于类自然语言的规则配置与解析方法、系统及设备 |
CN112508431A (zh) * | 2020-12-15 | 2021-03-16 | 平安国际智慧城市科技股份有限公司 | 适用于多租户的服务系统的构造方法、框架、设备及介质 |
CN112783485A (zh) * | 2021-01-13 | 2021-05-11 | 厦门熵基科技有限公司 | 一种基于可视化规则策略配置业务规则定制方法及装置 |
CN112801792A (zh) * | 2021-01-29 | 2021-05-14 | 上海微盟企业发展有限公司 | 一种基于SaaS平台的信息核对方法、装置、设备及存储介质 |
CN114996366A (zh) * | 2022-05-31 | 2022-09-02 | 北京千禧维讯科技有限公司 | 一种面向用户的动态变化策略管理方法 |
-
2011
- 2011-12-16 CN CN 201110422609 patent/CN103164206A/zh active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103414705B (zh) * | 2013-07-30 | 2016-03-02 | 电子科技大学 | 一种基于saas模式的移动互联网络异构数据交换方法 |
CN103414705A (zh) * | 2013-07-30 | 2013-11-27 | 电子科技大学 | 一种基于saas模式的移动互联网络异构数据交换方法 |
CN103793223A (zh) * | 2013-12-27 | 2014-05-14 | 远光软件股份有限公司 | 一种规则创建方法及系统 |
CN107423998B (zh) * | 2017-03-27 | 2021-09-17 | 亿景智联(北京)科技有限公司 | 一种基于SaaS平台的可视化销售数据管理方法及系统 |
CN107423998A (zh) * | 2017-03-27 | 2017-12-01 | 北京二零四八科技有限公司 | 一种基于SaaS平台的可视化销售数据管理方法及系统 |
CN108664519A (zh) * | 2017-04-01 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 业务规则管理的方法、装置、电子设备和存储介质 |
CN108664519B (zh) * | 2017-04-01 | 2021-03-30 | 北京京东尚科信息技术有限公司 | 业务规则管理的方法、装置、电子设备和存储介质 |
CN108595276A (zh) * | 2018-03-18 | 2018-09-28 | 平安科技(深圳)有限公司 | 业务逻辑的处理方法、系统、计算机设备和存储介质 |
CN108989453A (zh) * | 2018-08-08 | 2018-12-11 | 国云科技股份有限公司 | 一种基于SaaS的APP自助创建管理云平台系统及其实现方法 |
CN109408038A (zh) * | 2018-09-20 | 2019-03-01 | 摩尔元数(厦门)科技有限公司 | 一种开源app个性化定制方法以及系统 |
CN109408038B (zh) * | 2018-09-20 | 2022-04-08 | 摩尔元数(福建)科技有限公司 | 一种开源app个性化定制方法以及系统 |
CN111966342A (zh) * | 2020-08-10 | 2020-11-20 | 上海中通吉网络技术有限公司 | 基于类自然语言的规则配置与解析方法、系统及设备 |
CN112508431A (zh) * | 2020-12-15 | 2021-03-16 | 平安国际智慧城市科技股份有限公司 | 适用于多租户的服务系统的构造方法、框架、设备及介质 |
CN112783485A (zh) * | 2021-01-13 | 2021-05-11 | 厦门熵基科技有限公司 | 一种基于可视化规则策略配置业务规则定制方法及装置 |
CN112801792A (zh) * | 2021-01-29 | 2021-05-14 | 上海微盟企业发展有限公司 | 一种基于SaaS平台的信息核对方法、装置、设备及存储介质 |
CN114996366A (zh) * | 2022-05-31 | 2022-09-02 | 北京千禧维讯科技有限公司 | 一种面向用户的动态变化策略管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103164206A (zh) | 基于saas的软件定制系统 | |
CN101794226B (zh) | 一种适应多业务抽象层次的服务化软件构造方法和系统 | |
CN110825362A (zh) | 低代码应用软件开发系统及方法 | |
EP2164038A1 (en) | Dynamic extension fields for business objects | |
CN103425778B (zh) | 一种数据库应用系统的智能化开发平台 | |
CN105956830A (zh) | 一种基于j2ee框架的企业级可视化应用开发平台 | |
US8635253B2 (en) | Decorated model architecture for efficient model-driven application development | |
CN101388904B (zh) | Gis服务聚合方法、装置及系统 | |
CN105487864A (zh) | 代码自动生成的方法和装置 | |
CN102968306A (zh) | 一种基于数据模型驱动的代码自动生成方法和系统 | |
US20160057019A1 (en) | Integrated cloud data center management | |
CN104111826A (zh) | 一种软件项目开发方法及装置 | |
CN103685568A (zh) | 云计算环境下paas平台的平台服务应用部署方法和系统 | |
WO2012140564A1 (en) | System and method for mobile application development | |
CN106648587A (zh) | 一种基于注解的Web应用代码生成方法 | |
CN104391701A (zh) | 一种能效评估软件开发方法 | |
US11847509B2 (en) | Infrastructure base model API | |
CN109189380A (zh) | 算法集成框架及方法 | |
CN102223396A (zh) | 计算机系统中云计算业务逻辑与用户界面关联系统与方法 | |
CN104660435A (zh) | 面向智能管道的事务型网管引擎及其网管事务处理方法 | |
CN102375743B (zh) | 一种基于模型和模板开发soa系统的方法 | |
Oliveira Junior et al. | SMartySPEM: a SPEM-based approach for variability management in software process lines | |
Dragoicea et al. | Integrating HLA and service-oriented architecture in a simulation framework | |
CN103995699A (zh) | 基于mda的电力企业信息系统开发方法 | |
CN104063219A (zh) | 一种web系统的表格开发方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C05 | Deemed withdrawal (patent law before 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130619 |