在2013红帽峰会上,红帽提出了红帽生态系统的理念。作为中间件平台,JBoss的生态系统格外吸引人的目光, JBoss企业SOA平台无疑成为了一颗璀璨明星,而最新JBoss 企业版 BRMS平台与JBoss企业SOA平台的整合更是一大亮点。全新的JBoss 企业版 BRMS平台可以帮助企业全自动化控制关键任务程序、策略并且实时检测、响应业务事件,获得自动的、实时的、基于规则的决策优化运营。 JBoss 企业级 BRMS 平台的概念 JBoss 企业版 BRMS 是一个商业规则管理系统(Business Rules Management System)。一方面,JBoss 企业版 BRMS 可以作为独立的基于 JBoss Rules服务器端的解决方案,用于管理、存储、编辑和部署规则和其他 JBoss Rules 资产。另一方面,JBoss 企业版 BRMS平台也提供了和 JBoss Developer Studio 等 Eclipse 集成开发环境集成的基于 web 的用户界面。 JBoss 企业级 BRMS 平台允许为同的用户分配不同的角色,从而控制开发资产和功能。这些角色包括:商业分析员、规则专家、开发人员、规则管理员等。 JBoss 企业级 BRMS 平台的架构 JBoss 企业版 BRMS 平台本身作为WAR 形式部署在应用服务器内部,如图所示。可以看到,JBoss 企业级 BRMS 平台的核心是业务规则引擎——Drools(也即JBoss Rules ),其特点是实现解析速度快,效率高,学习成本低。 按照模块划分,Drools主要分为drools-core, drools compiler和drools-repository。其中drools-core是核心引擎,包含了RETE引擎和LEAPS 引擎两种;drools compiler包含编译器/构建器组件,用于获取规则资源,以及构建可执行规则库;drools-repository的目标是将资产的版本和数据一起存储在JCR库里。所谓JCR和Jackrabbit指的是一个开源内容存储库,提供了如版本控制、全文检索,访问控制,内容分类、内容事件监视等内容服务。 JBoss 企业级 BRMS 平台的使用 这里,我们将假设 BRMS 平台和库已经完成了正确地安装和配置。然后,我们可以通过Web浏览器查看JBoss 企业级 BRMS 平台的主要界面,如下:
左侧的导航面板提供对 BRMS Web UI 的主要区域的访问。这些区域包括: • Info:初始页面,内含资源的链接。 • Rules:类别和商业用户视图。 • Package:配置和管理知识软件包。 • Deployment:管理部署快照。 • Admin:管理性功能(归类、状态、导入和导出)。 这里我们可以通过Create New -> Asset创建资产。所谓资产(Asset)是可以以某个版本存储在库里的任何东西。它包括规则、决策表、模型、测试和 DSL。 而资产则可以通过By Category按照类别视图归类。同一个资产可以归属于不同的类别,这取决于业务需要。当然,使用者可以随时创建、编辑、删除各种类别。
同样,资产也可以通过By Status按照状态归类。所不同的是,不像类别,资产在某个时刻只有一个状态。
JBoss 企业版 BRMS提供了Inbox功能,实现了对用户最近操作的快速访问以及对用户过去曾编辑的变动通知。
接下来,我们创建资产编辑器Guided Editor并编辑商业规则语言(BRL)规则。 当编辑规则时,资产编辑器也称为 ”Guided Editor“。Guided Editor 用于编辑商业规则语言(BRL)格式的规则。假如以下使用场景:如果一个 21 岁以下的申请者有贷款申请的担保人,银行可能决定批准它的贷款申请。
在 Guided Editor里模型化,需要修改担保人的条件约束。
当然,根据业务的需要,可以指定各种规则。对于通用的规则,JBoss 企业版 BRMS还提供了规则模版,从而简化规则的创建速度。 除了Guided Editor之外,规则属性、元数据、条件和行为都能以Guided 决策表格式定义,从而有助于大量相关规则的快速输入。Guided 决策表上面的部分允许定义表的列来代表规则属性、元数、条件和行为;下面的部分包含实际的表,而每一行都定义单独的规则。其中,定义为使用等号 == 或等号 != 操作符的 literal 值的条件列可以利用一个特殊决策表的单元格值 ——otherwise。 除了Guided Editor、决策表之外,用户 还可以采用DSL指定规则:
在完成规则编辑后,使用者可以点击“Package”功能,打开软件包并进行构建。待构建过程成功完成,就可以下载二进制软件包文件并将其部署到运行系统里。当然,也可选择固定时刻的软件包部署,即快照部署,其对应的访问URL为:http:///jboss-brms/org.drools.guvnor.Guvnor/packages//。 总之,红帽生态系统的核心是整合。JBoss 企业版 BRMS平台的目标就是要为业务流程,业务事件,与业务决策管理提供强大的整合能力。 |