在SAPABAPOn-Premises产品工作过的ABAP开发人员,可能都接触或者听说过BusinessRuleFramework(简称BRF,后面还有升级版BRF+)这个框架。
SAPBRF+主要包含实现存储功能的规则仓库(RulesRepository),以及根据用户输入,分析并执行规则,返回给用户处理结果的规则处理器(RulesProcessor)两部分。前台提供的是基于ABAPWebdynpro界面的规则编辑器,支持决策表,决策树和公式等多种方式的规则建模方式。规则仓库和规则处理器位于ABAP系统后台。
了解SAPABAPBRF+,有助于我们学习其他的业务规则解决方案。比如SAPCommerceCloud,选择的是支持JavaRulesEngineAPI标准的开源业务规则引擎和企业框架Drools.
无论是SAPABAPBRF+还是Drools,尽管其技术实现细节不同,但工作场景和实现的需求都一致:
业务规则制定者,在系统里根据建模工具维护业务规则
业务规则解决方案暴露出接口,消费者调用该接口,传入输入,得到业务规则处理器执行后返回的输出。
本文简要介绍SAPBusinessTechnologyPlatform(下文简称SAPBTP)上的BusinessRulesService.
登录SAPBTPCockpit,在ServiceMarketplace里找到BusinessRulesService,其描述信息强调,这是一个基于云的业务规则解决方案。
Jerry经历了从SAPHANACloudPlatform,到SAPCloudPlatform,再到如今SAPBusinessTechnologyPlatform的变迁史,切身感受到,随着时间的推移,开发人员消费这些云端服务的步骤越来越简捷了。
以前应用开发人员在ServiceMarketplace选择一个服务后,在使用之前,需要手动配置Entitlements和进行用户角色分配等工作。而如今使用SAPBTP提供的Boosters,能将这些繁琐的人工配置自动化。
点击Boosters面板里的SetupaccountforWorkflowManagement,可以一键完成SAPBTP上使用BusinessRules的准备工作。这个辅助器同样也是完成使用SAPBTPWorkflow(工作流)所需配置的入口,后续Jerry介绍如何使用SAPBTPWorkflow服务的文章里还会提到。
该Boosters帮助我们自动完成了如下配置工作:
(1)分配服务限额
(2)订阅BusinessRules管理的SaaS应用
(3)创建BusinessRules服务实例
(4)创建消费BusinessRules所需的Destination
(5)给当前用户分配必要的用户角色等权限
下图是Boosters为我们分配好的Entitlements里包含的BusinessRulesServicePlan:
当前登录用户已经被自动分配上了使用BusinessRules服务所必须的用户角色组:
WorkflowManagementAdmin
WorkflowManagementBusinessExpert
WorkflowManagementDeveloper
WorkflowManagementEndUser
SAPBTP编辑BusinessRules的入口,从Subscriptions面板里的WorkflowManagement订阅超链接进入:
a49cetrial.cockpit.workflowmanagement.cfapps.ap21.hana.ondemand.