持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情
activiti中的一些概念
RepositoryService作为发布流程定义的API可以供我们调用,但是流程是要跑起来的,这就需要其它服务为我们提供运行流程的API,activiti提供的其它API如下:
IdentityService
IdentityService很简单。它负责管理(创建、更新、删除、查询…)组和用户。请注意,activiti实际上并没有在运行时进行任何用户检查。例如,可以将任务分配给任何用户,而引擎不会验证系统中是否存在该用户。这是因为activiti有时与LDAP和active directory等服务结合使用。
FormService
FormService是可选服务。也就是说,activiti可以在不牺牲任何功能的情况下很好地运行。此服务引入了“开始表单”和“任务表单”的概念,启动表单是流程实例启动前显示的表单,任务表单是用户完成任务时显示的表单。Activiti可以在BPMN 2.0流程定义中定义这些表单。表单服务以一种简单的方式公开此数据。同样,表单不必嵌入到流程定义中,因此此服务是可选的。
HistoryService
HistoryService公开activiti引擎收集的所有历史数据。在执行流程时,引擎会保存大量数据(可配置),例如流程实例的开始时间、谁正在执行哪个任务、完成任务所花费的事件、每个流程实例的执行路径等。此服务主要提供查询这些数据的能力。
ManagementService
ManagementService在编写用户应用程序时,通常不需要使用activiti。它可以读取数据库表和表原始数据的信息,还可以提供作业的查询和管理操作。作业在activiti中的许多地方都使用,例如计时器、异步延续、延迟暂停/激活等。
DynamicBpmnService
DynamicBpmnService可以用于修改流程定义的部分,而无需重新部署它。例如,您可以在流程定义中修改用户任务的处理程序设置,或在服务任务中修改类名。