jboss架构_检查Red Hat JBoss BRMS部署架构的规则和事件(第二部分)

jboss架构

技巧和窍门

(文章来宾与北美红帽公司高级中间件顾问约翰·赫洛克 ( John Hurlocker)合着)

在这周的技巧中,我们将放慢速度,并仔细研究可能的Red Hat JBoss BRMS部署体系结构。

在谈论部署体系结构时,我们指的是在企业中部署规则和/或事件项目所必需的选项。

这是您在设计阶段开始时就需要规划的实际运行时体系结构,以确定对企业和基础架构而言,最佳的方法是部署即将到来的应用程序。 它还很可能会影响您如何设计要构建的实际应用程序,因此,了解您的选择将有助于使您的项目成功。

这将是一个由多个部分组成的系列,将分阶段介绍部署架构。 您可以继续阅读上几周的文章,然后继续阅读本周的以下两种架构。

可能性

规则管理员或架构师与应用程序团队一起设计规则的运行时体系结构,并且根据组织的需要,该体系结构可以是以下任何一种体系结构或以下设计的混合体。

在本系列中,我们将介绍四种不同的部署架构,并讨论一种设计时架构,同时提供每种架构的优缺点,以便根据自己的需求评估每种架构。

随附插图中显示的这些体系结构的基本组件是:

  • JBoss BRMS服务器
  • 规则开发人员/业务分析师
  • 版本控制(GIT)
  • 部署服务器(JBoss EAP)
  • 客户使用您的应用程序

规则执行服务器

在这种体系结构场景中,您正在做的就是将JBoss BRMS作为应用程序部署在其自己的环境中。 然后,您可以将其公开为服务(例如JMS,SOAP等),以便企业体系结构中的任何应用程序都可以远程执行规则和事件。

image3
图1:规则执行服务器

如图1所示,这种部署体系结构完全将应用程序开发过程中的整个JBoss BRMS规则和事件组件外部化。然后,仅需要应用程序对规则或事件决策进行外部调用。

优点

  • 完全解耦的架构
  • 设置和执行规则的常见实现
  • 通过企业中的单点关注,升级到BRMS版本变得更加容易

缺点

  • 由于外部组件相对于您的应用程序可能会影响性能
  • 执行服务器可以被多个应用程序使用。
    • 一个团队将需要拥有此应用程序的所有权并对其进行维护

规则执行服务器的混合

作为最后一个示例,我们提供了一种混合架构,该架构利用了以前的基本规则执行服务器架构,并添加了先前讨论的(第I部分) KieScanner组件。

图4
插图2:混合架构。

使用此体系结构,您可以开发仅利用远程调用来执行规则和事件决策的应用程序,而且还可以在不更改执行服务器服务结构的情况下更新规则和事件包。

作为回顾 ,请记住,JBoss BRMS API包含一个KieScanner。
监视规则存储库中的新规则包版本。 一旦
新版本可用,它将由KieScanner提取并加载 进入您的应用程序。

Cool Store演示项目提供了一个示例,演示了JBoss BRMS KieScanner的用法,并提供了一个示例实现 ,该实现显示了如何扫描规则存储库中的最新构建的软件包。

图2显示了规则执行服务器现在是如何托管KieScanner实现的组件的,以监视规则和事件包的更新,然后自动为下一个调用的应用程序选择更新。

优点

  • 完全解耦的架构
  • 设置和执行规则的常见实现
  • 通过企业中的单点关注,升级到BRMS版本变得更加容易
  • 减少执行服务器组件的维护

缺点

  • 由于外部组件相对于您的应用程序可能会影响性能

接下来

下次,我们将研究设计时架构以及将规则和事件部署到架构中的选项。

翻译自: https://www.javacodegeeks.com/2014/07/examining-red-hat-jboss-brms-deployment-architectures-for-rules-and-events-part-ii.html

jboss架构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/340769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 关于休眠得脚本,linux – 如果条件为true,请将cron作业休眠5分钟

你有两个选择来获得这个.通常,cron与前一个作业实例是否仍在运行无关.选项1:在脚本的开头写一个锁文件,并在完成后将其删除.然后在脚本开头检查文件是否存在,如果是,则脚本结束而不做任何事情.例如,这可能是这样的:# if the file exists (-e) end the sc…

TestNG中的参数化– DataProvider和TestNG XML(带有示例)

测试自动化,或所谓的自动化测试,并不像听起来那样容易。 必须考虑所有可能的用户交互的所有排列和组合,并且在此基础上,您将必须创建测试脚本以通过多种浏览器和OS组合来验证Web应用程序。 这就是参数化在Selenium自动化测试中起关…

java与python多态的区别_如果未调用父构造函数(与Java不同),多态性在Python中如何工作? - java...

因此,父类构造函数是在Java中调用的,而在Python中则不是。如果这意味着未创建父对象,那么如何在Python中成功调用def function-这是怎么回事? Python代码 class Parent: def __new__(self): print(f"I am the real parent co…

linux中统计java数量,linux 统计当前目录下文件数

查看当前目录下文件的个数ls -l | grep "^-" | wc -l查看当前目录下文件的个数,包括子目录里的。ls -lR| grep "^-" | wc -l查看某目录下文件夹(目录)的个数,包括子目录里的。ls -lR| grep "^d" | wc -l某目录下以.js结尾…

zbrush 添加纹理贴图_想学习3D游戏模型,3Dmax、MAYA和ZBrush都需要掌握吗?

想从事游戏行业的建模的话,模型和贴图的知识都得学,MAYA和3DMAX只能说是基本要学的,Zbrush能够提升个人价值,之后能给你建好的模型做出好看的贴图,才能算是一个游戏建模方面能干活的合格从业人员。新手入门的话&#x…

linux 连接wifi不稳定,rtl8188ce 无线网不稳定终极解决方案 - 哆啦比猫的技术瞎扯 - Arch Linux · ドラえもん · 实时绘制...

先容我废话据说 realtek 的无线网卡就这个系列问题多多。以前连接不太稳定,但不会频繁掉线就凑活用了。自从不知哪次升级以来,掉线越来越频繁,最后已经发展到 10秒必掉 了,以至于要上网就得拼命到终端里重连网络。网上也有各种解决…

file.getpath_Java中File的getPath(),getCanonicalPath()和getAbsolutePath()之间的区别...

file.getpathFile API在Java中非常重要,因为它使文件系统可以访问Java程序。 尽管Java的文件API丰富,但是使用它们时仍需要了解很多细节。 关于文件路径的常见查询程序员之一是getPath() , getCanonicalPath()和getAbsolutePath()方法之间的区…

为什么python代码运行不了_为什么Python代码能运行但是PyCharm给我画红线?

PyCharm在遇到模块找不到时,会使用红色波浪线提醒开发者。这本来是一个非常好的功能,但却由于另外一个问题,会给一些Python初学者造成困扰。 这一篇文章,我们讲讲工作区导致的这个问题。 首先我们创建一个login.py文件&#xff0c…

linux 在线帮助,linux获取在线帮助

Linux系统的帮助文档非常丰富。帮助手册提供命令的使用说明。比如你若是想了解ls命令的用法,只需运行:$ man ls帮助手册旨在提供基础知识和参考信息,有时会有一些实例和交叉索引,但是基本没有那种教程式的文档。帮助手册会按系统排…

python的计算_python 计算方位角实例(根据两点的坐标计算)

知道两点坐标,怎么计算两点方向的方位角? 答:首先计算坐标增量dx,dy(两个对应坐标分量相减,终点的减始点的)。 若dx,dy中有一个为零时,根据另一个的正负决定方位角(0,90,…

linux中samba详解,详解linux系列之samba的安装及配置

上篇博文中我介绍了FTP,今天我们来介绍一下samba实现文件共享。这个比FTP更好点,因为对用户的权限可以通过samba权限和系统权限交叉使用,取最严格的。可以让windows更容易的从linux系统上存取文件,还有samba也可以让linux上面的打…

saml2_向SAML响应中添加自定义声明–(如何为WSO2 Identity Server编写自定义声明处理程序)...

saml2总览 最新版本的WSO2 Identity Server(版本5.0.0)配备了“应用程序身份验证框架”,该框架提供了很大的灵活性,可以对使用异构协议的各种服务提供商的用户进行身份验证。 它具有几个扩展点,可用于满足企业系统中常…

python做股票分析_利用Python进行股票投资组合分析(调试)

pythonsp500-robo-advisor-edition Python for Financial Analyses 需要的镜像文件和数据--Robo Advisor edition. 小结 "Python for Finance: Robo Advisor Edition" 这一版本的镜像包括Jupyter notebook和Python脚本,以及用pandas通过Jupyter notebook构…

c语言程序求一一组数平均值,编写求一组整数的和与平均值的程序

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼-----------------------------------------------------[习题6-1]编写求一组整数的和与平均值的程序。-----------------------------------------------------[分析]循序渐进,从易到难,分解为下列问题群。…

使用Apache Kafka,Kubernetes和Envoy,Istio,Linkerd的服务网格和云原生微服务

微服务架构不是免费的午餐 ! 微服务需要解耦,灵活,操作透明,数据感知和弹性。 过去几年的大多数材料仅讨论具有紧密耦合且不可扩展的技术(如REST / HTTP)的点对点体系结构。 这篇博客文章介绍了Apache Kafk…

python缩写词_如果连这10个Python缩写都不知道,那你一定是Python新手!

在本文中,我将告诉大家一些容易忽视的Python编程原理、规则和一些有趣的事实。 简介 对于许多开始学习编程的人来说,Python已经成为他们的首选。Python有非常直观的语法和支持动态类型的灵活性。此外,它是一种解释语言,这使得使用…

单片机控制三相异步电动机正反转c语言程序,请用PLC控制一台普通三相异步电动机的正反转控制,设计其控制程序梯形图及主电路...

PLC的编程方法及步骤。总的步骤主要有三步:一、根据电路图选择电器元件及PLC的型号,其中包括确定PLC的输入输出点位、确定PLC的输出类型,也需考虑某些功能是否能扩展、价格等;二、设计好PLC控制的外围元器件的原理图。这里面包括有…

0x80070003系统找不到指定路径_Win7系统中gpedit.msc找不到应该如何解决?

Win7x系统gpedit.msc找不到怎么办?最近有用户反映,电脑当中的gpedit.msc找不到了,gpedit.msc就是我们的策略组,对于我们的电脑来说是非常重要的,那么gpedit.msc找不到应该如何解决呢?接下来就为大家分享win…

c语言回文数递归,c语言问题~~~回文数!!急,拜托高人指点!!

满意答案wyhjjq12014.01.27采纳率:53% 等级:12已帮助:10413人添加上满足你补充要求的C程序:#includeint palindrome(unsigned int x){unsigned int y;unsigned int s0;yx;while(y>0){ss*10y%10;yy/10;}if(sx)return 1;elsereturn 0;}vo…

jboss架构_检查Red Hat JBoss BRMS部署架构的规则和事件(第一部分)

jboss架构(文章来宾与北美红帽公司高级中间件顾问约翰赫洛克 ( John Hurlocker)合着) 在这周的技巧中,我们将放慢速度,并仔细研究可能的Red Hat JBoss BRMS部署体系结构。 在谈论部署体系结构时&#xf…