jboss启动初始页面

我过去发布过一些有关迁移策略的文章,仔细研究了流程层,并提供了一些有关jBPM的最佳实践 ,它们都涉及到BPM策略的非常具体的部分。 我想重新讨论最佳实践的主题,然后在智能集成企业级别上,我们讨论使用JBoss BRMS来控制您的业务流程。

介绍

首先,我们需要仔细研究景观,然后像洋葱一样剥开图层,以仔细研究如何提供可扩展的BPM项目。 图1显示了我们需要集中注意力的几个组件层:

  • 流程初始化层
  • 流程实施层
  • 流程资料库
  • 业务用户和开发人员的工具
  • 控制台,报告和BAM仪表板
  • 流程交互层

图1:企业BPM格局。

本文将介绍流程初始化层,在此我将向您介绍一些有关您,您的客户和流程启动方式的最佳实践。

在流程存储库,工具,业务用户和设计流程的开发人员的帮助下,流程实现层是维护流程的地方。 在这里,您还将找到各种实现的详细信息,例如特定于域的扩展,以涵盖我们项目中的特定节点类型。 稍后将介绍这一层的最佳做法。

控制台,报告和BAM仪表板组件是项目中使用的扩展工具,用于提供可用于影响业务决策的业务价值或信息。 稍后将介绍该领域的最佳做法。

最后,在流程交互层中,您的流程将连接到各种旧系统,后台系统,服务层,规则系统甚至第三方系统和服务。 该领域的最佳实践将在以后的文章中介绍。

流程初始化层

图2:入门。

看一下如何初始化流程,我想向您提供一些我多年来在大型企业中看到的最佳实践。

似乎有一个主要主题是收集启动流程所需的客户,用户或系统数据,然后通过startProcess调用将其注入。 可以通过BRMS jBPM API调用,使用RESTful服务或通过标准Java Web服务调用将其嵌入到您的应用程序中。 无论您如何收集数据以初始化流程实例,都可能要考虑从一开始就如何扩展初始化设置。 通常,最初的项目设置时对未来没有太多考虑,因此某些问题没有被考虑在内。

顾客

此处定义的客户可以是提供初始过程启动数据的人员,系统或某些用户。 在图2中,我们对客户如何提供过程数据进行了高层次的研究,然后将这些过程数据打包成一个请求,以放入一个过程队列中。 然后,我们可以从队列中确定优先级,并让不同的机制获取这些流程请求,并使用提供的请求数据启动流程实例。 我们在此处显示了EJB,MDB和云,它们表示可以用来清空进程队列的任何调度方式。

Queue列

这些队列可以像数据库表一样简单,也可以像消息队列一样完善。 可以按照项目需要的任何方式进行设置,例如后进先出(LIFO)或先进先出(FIFO)。 使用消息队列的好处是可以从轮询机制中确定它们的优先级。

此设置的原因有两个。 首先,您通过不直接从客户界面启动流程实例来确保您保留了客户请求。 它将永远不会丢失到流程引擎。 其次,您可以对可能无法满足项目要求的未来流程进行优先级排序,例如必须在客户提交后10秒钟内开始的新流程请求。 如果将它放在队列的底部,需要花费一个小时来处理它,那么您就遇到了问题。 通过对队列进行优先级排序,您可以调整轮询机制以每次以正确的顺序检查适当的队列。

Java /云

图2中的Java图标代表您可能想用来处理进程队列的任何JEE机制。 它可以是EJB,MDB,您自己编写的调度程序,也可以是您想拿起处理请求的任何内容。

云图标旨在表示服务,您的软件可以使用这些服务来实际调用最终的startProcess方法,以初始化所请求的流程实例并将其传递给初始数据。 将与jBPM API的交互集中到一个服务中很重要,这样就可以确保在API更改的情况下进行最少的工作,以便将来进行可能的版本迁移,并且如果您希望在将来的项目中进行扩展,以扩展与jBPM的服务交互。

到目前为止,我们已经遍历了高级BPM体系结构,并安排了交互的各个层次。 在较大的企业BPM体系结构中,交互的第一层是初始化层,以提供对该层内最佳实践的一些见解。 这不是试图推动实现细节的讨论,而是退后一步,介绍了大型BPM体系结构中反复遇到的一些基本元素。 它涵盖了客户最初提交的处理请求,处理请求的排队以及以一致且可扩展的方式处理这些队列。 在以后的文章中,流程实现层,流程交互层,流程存储库,工具,报告和BAM层中还有更多内容需要看。

流程实施层

这一层的重点是业务流程设计,流程中自定义操作的实现以及流程使用方式的扩展。 在流程设计和执行中采用标准BPMN2消除了BPM体系结构这一层的许多麻烦。 流程引擎被迫遵守并支持BPMN2标准,这意味着您在流程设计过程中只能做些限制。

知识会议

在JBoss BRMS BPM组件中,有一个有趣的事情是构建高度可扩展的流程体系结构。 这是知识会话(KS)的概念,特别是有状态知识会话(SKS)的概念。 创建它的目的是为了保存您的过程信息,包括数据和过程规范实例。

当运行基于规则的应用程序时,通常的过程是运行单个KS(注意,不是有状态的!),并且所有规则和数据都将利用该单个KS。 对于一个SKS和流程,我们希望每个流程实例都使用一个SKS。 我们可以将此功能捆绑到单个服务中,以允许并发并简化流程实例生命周期管理。 在此服务中,您还可以根据需要嵌入最终的同步或异步业务活动监视(BAM)事件生成器。
本文简要介绍了高级BPM架构,并列出了交互的各个层次。 对实现层进行了检查,以提供对该层内最佳实践的一些见解。 SKS的主要重点是我们建议如何在单个服务中使用,管理流程实例生命周期的方法。 在此之上,建议这是卸载BAM事件的一个很好的切入点。 在以后的文章中,流程交互层,流程存储库,工具,报告和BAM层中,还有更多内容需要关注。

流程交互层

访问业务逻辑,后端系统,后台系统,用户界面,其他应用程序,第三方服务或您的业务流程需要使用什么来完成工作,一个好的策略可以带来很多好处。 许多企业正在将这些交互与面向服务的体系结构(SOA)中的服务层隔离,该体系结构提供了灵活性,并且可以很好地扩展可能遇到的所有各种工作负载。 在这里看一下BPM层,我们只想提及其中的一些后端系统,作为如何在企业中优化流程项目的示例。

人工任务

JBoss BRMS BPM体系结构包括一个单独的人工任务(HT)服务器,该服务器作为实现WS-HT规范的服务运行。 可插拔没有什么可以通过在服务中公开WS-HT任务生命周期来阻止您在企业中托管另一台服务器的。 然后,应使用同步调用模型,该模型可以大大简化默认情况下利用HornetQ消息传递系统的标准产品实现。

报告中

您可以实施以提供出色的报告可伸缩性的第二项服务,我们称为业务活动监视(BAM)服务。 您将使用此服务来集中BAM事件,并使用它来将这些事件推送到可靠且快速的JMS队列中。 然后,可以使用一台单独的机器来托管这些JMS BAM队列,在不增加BPM引擎本身负载的情况下处理消息,写入一个单独的BAM数据库,通过批量写入进行优化,并且使用BAM信息的任何客户端都不会再次放入BPM引擎本身的任何负载。

结论

本文简要介绍了高级BPM架构,并列出了交互的各个层次。 对交互层进行了检查,以提供对该层内最佳实践的一些见解。 您可以创建几种服务来集中围绕人工任务和报告的活动。 通过集中人工任务交互,您可以为企业提供标准和可扩展的解决方案。 借助BAM服务,您可以将工作卸载到体系结构中的单独实体,从而保证这些事件的传递以及就流程报告活动而言的一致性能。 在以后的文章中,流程交互层,流程存储库,工具,报告和BAM层中,还有更多内容需要关注。

中文译本由Christina Lin提供。

参考: JBoss BRMS最佳实践– BPM流程初始化层的技巧 , JBoss BRMS最佳实践– BPM流程实施层的技巧 , JBoss BRMS最佳实践–来自我们的JCG合作伙伴 Eric D. Schabell的有关 BPM流程交互层的技巧, 有关中间件,Linux,软件,自行车和其他新闻的思想 。

翻译自: https://www.javacodegeeks.com/2012/12/jboss-brms-best-practices-tips-for-your-bpm-process-initialization-layer.html

jboss启动初始页面

jboss启动初始页面_JBoss BRMS最佳实践– BPM流程初始化层的提示相关推荐

  1. JBoss BRMS最佳实践– BPM流程初始化层的提示

    我过去发布过一些有关迁移策略的文章,仔细研究了流程层,并提供了一些有关jBPM的最佳实践 ,它们都涉及到BPM策略的非常具体的部分. 我想重新讨论最佳实践的主题,然后在智能集成企业级别上,我们讨论使用 ...

  2. 表单展示界示例_联系表单页面设计的12个最佳实践(包括示例)

    表单展示界示例 Do you want to improve your contact form page design? A good contact form page design encour ...

  3. DB2 最佳实践: 性能调优和问题诊断最佳实践

    最佳实践的相关文章可见:http://www.ibm.com/developerworks/cn/data/bestpractices/ DB2 最佳实践: 性能调优和问题诊断最佳实践,第 1 部分 ...

  4. 机器学习应用设计阶段的 10 个陷阱和 11 个最佳实践

    本文主要介绍了在机器学习项目的最初设计阶段中,你可能会遇到的陷阱,并详细阐述如何避免这些陷阱的最佳实践. 图 1:机器学习应用的迭代生命周期 你是否成功设计.训练和测试了一个机器学习应用(Machin ...

  5. 如何用深度学习做自然语言处理?这里有份最佳实践清单

    如何用深度学习做自然语言处理?这里有份最佳实践清单 By 机器之心2017年7月26日 14:16 对于如何使用深度学习进行自然语言处理,本文作者 Sebastian Ruder 给出了一份详细的最佳 ...

  6. jboss性能指标_JBoss BRMS复杂事件处理(CEP)性能基准

    jboss性能指标 技术来了又去,但是一件事保持不变. 在设计企业解决方案时,我们喜欢使我们的生活更轻松的复杂组件,作为建筑师和开发人员,我们一直在寻找使我们的生活更轻松的方法. 一种方法是跟上与感兴 ...

  7. 《AngularJS深度剖析与最佳实践》一1.4 实现第一个页面:注册

    本节书摘来自华章出版社<AngularJS深度剖析与最佳实践>一书中的第1章,第1.4节,作者 雪狼 破狼 彭洪伟,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

  8. linux安装jenkins启动卡在初始页面 | 插件下载不了,报SSL错误等问题避坑 | No valid crumb was included in request for /ajaxBuildQ

    我在安装中遇到的问题,分享一下,但愿有帮助 1.安装完成后边登录一直卡在初始页面进不去: 修改/var/lib/jenkins下的 hudson.model.UpdateCenter.xml 文件 将 ...

  9. Docker 启动 MySQL 最佳实践

    Docker 启动 MySQL 最佳实践 本文主要介绍使用 Docker 启动 MySQL 服务的最佳实践,Docker 镜像来自 docker 官方镜像. 启动一个 MySql 5.7 实例 关于版 ...

最新文章

  1. 转载-centos网络配置(手动设置,自动获取)的2种方法
  2. hdu 5311 Hidden String(find,substr)
  3. 用计算机进行资料检索工作是,用计算机进行资料检索工作是属于计算机应用中的什么...
  4. vs 2017 建立 php,程序在VS 2017中输出的结果为什么是这样的?求助大神!谢谢!...
  5. when I enter ZSOCIAL role FM RH_STRUC_GET to get organization units that a given user belongs to
  6. 编译hotspot_从Hotspot JIT编译器打印生成的汇编代码
  7. 数值运算python嵩天_python语法_算数运算+赋值运算符+比较运算符+逻辑运算符
  8. LeetCode443-压缩字符串(双索引)
  9. JavaScript高级程序设计学习总结一
  10. Java学生成绩信息管理系统
  11. jad反编译成java_反编译工具jad的使用(将*.class文件变成*.java文件,附带jad.zip包)[转]...
  12. FeHelper插件安装小结
  13. 持久化配置管理 diamond 使用简介
  14. BCM SIP ALG原理及实现(应用层实现机制)
  15. HihoCoder - 1370 快乐数字
  16. SharePoint 读取选项字段所有Choise
  17. 哪种耳机对耳朵听力伤害较小?不妨试试骨传导耳机
  18. unity, AnimatorCullingMode踩坑
  19. AD 常用快捷键记录
  20. 学术数据库 文献检索

热门文章

  1. Spring JSR-250 注释
  2. HTML列表、表格和媒体元素
  3. 2020蓝桥杯省赛---java---B---2(指数计算)
  4. 将Springboot项目放在服务器上一直运行
  5. mysql id生成器自定义_MybatisPlus使用自定义Id生成器数据自动填充
  6. oxyen eclipse 启动 报错 se启动提示javaw.exe in your current PATH、No java virtual machine
  7. java把控件跑挂了_Java代码动态修改 ConstraintLayout 内控件布局的辅助类
  8. ConcurrentHashMap--自用,非教学
  9. java 正则表达式 开头_如何在Java中修复表达式的非法开头
  10. java world_Java World中的GraphQL简介