本文概述
- 1)什么是BPM?
- 2)什么是jBPM?
- 3)jBPM是做什么的?
- 4)jBPM的优点是什么?
- 5)jBPM有什么功能?
- 6)传统的BPM和jBPM有什么区别?
- 7)什么是流口水?
- 8)流口水VS. jBPM(Drools和jBPM有什么区别?)
- 9)什么是规则引擎?
- 10)规则引擎有哪些优势?
- 11)你对KIE的意思是什么?
- 12)区分无状态知识和有状态知识。
- 13)什么是JPA?
- 14)什么是JTA?
- 15)jBPM的组成部分是什么?
- 16)在jBPM中定义服务。
- 17)什么是RuntimeManager?
- 18)在jBPM中解释人工任务服务。
- 19)解释远程API服务?
- 20)区分嵌入式子过程和可重用子过程。
下面列出了最常见的jBPM面试问题和答案:
1)什么是BPM?
BPM代表业务流程管理。它是一系列活动, 按照特定的顺序执行一些步骤以实现组织目标。使用流程图描述了这些目标的顺序。
它涉及:
- 了解组织提供的价值。
- 通过分析, 记录和改进人员与系统协同工作的方式如何实现这些目标。
2)什么是jBPM?
jBPM代表Java业务流程管理。它是一个灵活的业务流程管理(BPM)套件, 以Java语言编写。它填补了业务分析师和开发人员之间的空白。它是轻量级的, 并且完全是开源的。它使我们能够在其整个生命周期中创建, 部署, 执行和监视业务流程。它根据Apache许可进行分发, 并由JBoss Company根据ASL发布。
传统的BPM流程引擎仅关注功能不足的非技术人员。
有关更多详细信息:jBPM简介
3)jBPM是做什么的?
JBPM是一个业务管理套件, 用于建模我们的业务目标。它使用流程图描述了实现业务目标和订单所需执行的步骤数。它提高了我们业务逻辑的可见性和敏捷性。商业用户和开发人员都可以理解。监视业务流程更加容易。
jBPM的核心是用纯Java编写的轻量级, 可扩展的工作流引擎。它使我们能够使用最新的BPMN 2.0规范执行业务流程。它可以在任何Java环境中运行, 并且可以轻松地嵌入到我们的应用程序中或作为服务。
4)jBPM的优点是什么?
jBPM允许我们对业务流程和规则使用不同的计算模型。该模型基于面向知识的方法。 jBPM应用程序不是面向过程或面向规则的, 但是最终用户可以使用不同的策略来表示其业务逻辑。
jBPM的优点是:
- jBPM是轻量级的, 完全开源的并且使用Java语言编写。
- jBPM使使用图形设计器为复杂的工作流程建模成为可能。图形设计器可以帮助非开发人员设计业务流程, 并在运行时更好地了解流程的状态。
- jBPM工作流程还可以为人类用户创建任务。例如-手动测试或批准发布。
- jBPM工作流定义包含工作流图以及执行工作流触发的动作的Java代码。新的工作流程定义不会影响现有流程。
5)jBPM有什么功能?
jBPM的核心功能是:
要了解更多信息:jBPM功能
6)传统的BPM和jBPM有什么区别?
传统BPM和jBPM之间的差异列表:
- 传统的BPM流程引擎只关注非技术人员, 而jBPM流程引擎只关注技术人员和非技术人员。
- jBPM很容易嵌入到Java项目中, 而传统的BPM系统则需要安装单独的服务器, 这使其很难集成到Java软件开发周期中。
- 当BPM的视图尚未稳定时, jBPM支持多种处理语言。当前, 对BPM有多种不同的解释, 这导致了市场的巨大分化。
- jBPM具有非常灵活的事务管理。如果应用程序在Java环境中使用JDBC连接, 则jBPM使用该JDBC连接执行其任务。如果我们的应用程序使用休眠模式, 那么jBPM可以使用相同的休眠会话工厂。如果我们的应用程序在企业环境中运行, 则jBPM可以与周围的JTA事务绑定, 而BPM不支持这些东西。
7)什么是流口水?
Drools是业务规则管理系统(BRMS)解决方案。它提供了一个用于核心开发的Eclipse IDE插件。用户使用这些框架定义规则, 这些规则指定在满足特定条件时需要执行的操作。在项目中, 通常用于确定由事实和条件陈述组成的业务规则。它还提供了Web创作和规则管理应用程序(Drools Workbench)以及对决策模型和注释(DMN)模型的完整运行时支持。
8)流口水VS. jBPM(Drools和jBPM有什么区别?)
- jBPM是工作流引擎的一种, 而Drools是规则引擎。
- 我们可以将Drools用于仅需少量规则的本地决策。
- jBPM是一个业务管理套件, 可将人与服务之间的交互转变为一台机器, 该机器可以实现定义明确的复杂业务流程目标。 Drools和jBPM都是伴随项目, 当我们需要带有规则的工作流时可以将其集成。
9)什么是规则引擎?
- jBPM提供了一个规则引擎, 该引擎具有用于评估可用信息的声明性语言。
- 规则引擎可以视为if / then语句解释器。这些if / then语句解释器称为规则。
10)规则引擎有哪些优势?
规则引擎的优点是:
更大的灵活性:将规则保存到知识库中有助于在快速更改决策时适应我们的决策。
易于掌握:与程序代码相比, 规则易于理解, 因此可以有效地使用它们来填补业务分析师和开发人员之间的空白。
降低复杂性:规则引擎可以使用业务规则的一致表示形式, 因此可以更好地处理不断增加的复杂性。
可重用性:通过将规则放在一个地方, 可以提高业务规则的可重用性。
11)你对KIE的意思是什么?
KIE代表知识就是一切。 KIE方法用于创建知识库和知识会议。知识库是所有相关过程定义的存储库。它是管理一组规则和流程的界面。它的主要任务是帮助我们始终在必要时查找流程定义。规则包含在org.drools.KnowledgeBase包中。
12)区分无状态知识和有状态知识。
无状态会话 | 有状态的会议 |
---|---|
在有状态中, 它将从上一个命令结束时的会话开始继续。 | |
在有状态时, 不会自动删除会话。 | |
在有状态会话中, 即使在之前触发规则后, 我们也可以更改事实并重新插入事实。 | |
执行规则时事实的任何更改(例如insert(XYZ)或Modify(XYZ))都会通知规则引擎。 |
13)什么是JPA?
- Java Persistence API(JPA)是Java的规范。它用于在Java对象和关系数据库之间保留数据。
- Java Persistence API(JPA)包含用于将大量数据存储到数据库中的类和方法的集合。它由Oracle Corporation提供。
- JPA本身不会执行任何操作。它需要一个实现。因此, Hibernate, TopLink和iBatis之类的ORM工具实现了JPA规范以实现数据持久性。
有关更多详细信息:JPA API
14)什么是JTA?
- Java事务API(JTA)是用于管理Java中事务的API。它为我们提供了以资源中立的方式启动, 提交和回滚事务的方法。
- Java Transaction API(JTA)指定事务管理器与分布式事务系统中涉及的各方之间的标准Java接口:资源管理器, 应用程序服务器和事务性应用程序。
- Java Transaction API(JTA)允许应用程序执行分布式事务, 即访问和更新两个或多个联网计算机资源上的数据的事务。
- Java Transaction API(JTA)包含三个元素:
- 高级应用程序事务划分接口
- 专为应用程序服务器设计的高级事务管理器界面
- X / Open XA协议的标准Java映射, 旨在用于事务资源管理器。
有关更多详细信息, 请访问JTA API。
15)jBPM的组成部分是什么?
jBPM组件的列表是:
- 核心引擎
- 人工任务服务
- 坚持不懈
- CDI / REST / JMS
- 工艺设计师
- 数据建模师
- 表单建模者
- 规则创作
- Guvnor资料库
- 流程管理
- Eclipse开发人员工具
有关更多详细信息, 请转到jBPM组件
16)在jBPM中定义服务。
jBPM的核心服务是:
有关更多详细信息, 请访问jBPM服务
17)什么是RuntimeManager?
运行时管理器管理运行时引擎。它与Kie Session和Task Service一起构建, 可为流程和用户任务提供可执行的环境。每当不再需要释放它分配的资源时, 它将始终关闭。每个运行系统管理器都有一个唯一的ID, 因此不能在同一系统中同时使用两个具有相同ID的运行系统管理器。
运行时管理器包括:
- 服务时间
- 任务服务
- 查找并初始化基于计时器启动事件的进程
18)在jBPM中解释人工任务服务。
人工任务类似于任何其他外部服务。 jBPM支持流程内部的不同类型的人工任务节点, 用于对与人工用户的交互进行建模。人工任务节点允许流程设计者定义人工参与者需要执行的任务属性。
人工任务服务的实现基于WS-HumanTask规范。它管理任务的生命周期, 并存储所有任务, 任务列表等的状态。
我们需要三个组件来在流程中使用人工任务。他们是-
有关更多详细信息, 请转到人工任务
19)解释远程API服务?
jBPM平台提供了许多远程API服务。在设计需要jBPM集成的解决方案时, 它为开发人员提供了更高水平的灵活性。该远程API通过灵活的开放式体系结构开辟了一些可能性, 可以满足不断变化的应用程序需求并快速做出反应。
JBPM可与以下远程服务API配合使用-
有关更多详细信息, 请访问:远程服务
20)区分嵌入式子过程和可重用子过程。
嵌入式子过程
嵌入式子流程也称为内联子流程。它是流程内的子流程, 不能在流程外重用。
嵌入式子进程可以访问定义了该进程的所有过程变量, 我们还可以添加一些其他变量以在该嵌入式子进程容器中访问。
嵌入式子流程还可以一起访问组流元素, 以使业务流程更具可读性。子流程包含在父子流程中。
可重用子流程
可重用子流程是一个独立的流程。它不能直接访问父过程变量。每当我们想要使用它时, 我们都需要通过子过程属性映射in&out值。可重用子流程创建可以从其他业务流程调用的业务流程。
可重用流程具有以下特征:
- 它必须以一个无开始事件开始。
- 它可以包含多个结束事件。
- 只能由其他业务流程调用。
HTML面试问题 |
SQL面试题 |
Android面试题 |
MySQL面试问题 |
Java OOP面试问题 |
休眠面试问题 |
在”无状态”中, 将为每个请求创建一个新会话。因此, 它不保持任何状态。
在无状态情况下, 会话会自动消除。
在无状态会话中, 一旦触发了所有规则, 我们就无法进一步修改事实并将其重新插入会话中。
执行规则时事实的任何更改(例如, insert(XYZ)或Modify(XYZ))都不会引起规则引擎的注意。
SEO面试问题
PL / SQL面试问题
Oracle面试问题
SQL Server面试问题
Java基础面试问题
春季面试问题
评论前必须登录!
注册