(文章来宾与北美红帽公司高级中间件顾问约翰·赫洛克 ( John Hurlocker)合着)
在本周的技巧中,我们将放慢速度,并仔细研究可能的Red Hat JBoss BRMS部署体系结构。
当我们谈论部署架构时,我们指的是在企业中部署规则和/或事件项目所需的选项。
这是您在设计阶段开始时就需要规划的实际运行时体系结构,以确定企业和基础架构的最佳方法是部署即将到来的应用程序。 它还很可能会影响您如何设计要构建的实际应用程序,因此,了解您的选择将有助于使您的项目成功。
这将是一个由多个部分组成的系列,它将分阶段介绍部署架构,从本周开始的前两个架构开始。
可能性
规则管理员或架构师与应用程序团队合作,为规则设计运行时体系结构,并且根据组织的需要,该体系结构可以是以下任何一种体系结构或以下设计的混合体。
在本系列中,我们将介绍四种不同的部署架构,并讨论一种设计时架构,同时提供每种架构的优缺点,以便根据自己的需要评估每种架构。
随附插图中显示的这些体系结构的基本组件是:
- JBoss BRMS服务器
- 规则开发人员/业务分析师
- 版本控制(GIT)
- 部署服务器(JBoss EAP)
- 客户使用您的应用程序
图1:应用规则 |
在应用程序中部署的规则
在企业架构中部署规则和事件所需的所有选项中,第一个架构本质上是最基本和最静态的。
应用程序的可部署工件(例如EAR,WAR)中包含一个可部署规则包(例如JAR)。
在这种体系结构中,JBoss BRMS服务器充当存储规则和设计时工具的存储库。
图1显示了JBoss BRMS服务器如何保持与部署或运行时环境的完全断开。
优点
- 通常,与使用规则执行服务器相比,性能更好,因为规则执行与应用程序在同一JVM中
缺点
- 没有能力将规则更新推送到生产应用程序
- 需要完全重建应用程序
图2: KieScanner部署 |
从应用程序扫描的规则
您可以使用第二种架构来稍微修改前一种架构,
是将扫描仪添加到您的应用程序,然后监视新规则
和事件更新,将它们部署到您的企业体系结构中。
JBoss BRMS API包含一个KieScanner ,用于监视规则存储库
用于新的规则包版本。 一旦有新版本可用 它会被KieScanner拾取并加载到您的应用程序中, 如图2所示。
Cool Store演示项目提供了一个示例,演示了JBoss BRMS KieScanner的用法,并提供了一个示例实现 ,该示例实现显示了如何扫描规则存储库中的最新构建的软件包。
优点
- 无需重启应用服务器
- 在某些组织中,应用程序的部署过程可能非常漫长
缺点
- 需要创建一个部署过程来测试应用程序的规则更新
- 如果上述过程未经过全面测试,就有将错误逻辑推入应用程序的风险
接下来
下次,我们将深入探讨剩下的两个部署架构,这些架构为您提供了Execution Server部署和混合部署模型,以在单个架构中利用多个元素。 最后,我们将介绍设计时架构,供您的团队在制定和维护企业中的规则和事件时使用。
翻译自: https://www.javacodegeeks.com/2014/07/examining-red-hat-jboss-brms-deployment-architectures-for-rules-and-events-part-i.html