工作流_介绍_体系结构(B5)

2024-04-09 17:38
文章标签 工作 介绍 体系结构 b5

本文主要是介绍工作流_介绍_体系结构(B5),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图2.6 所示为WFMC提出的工作流参考模型的体系结构图。该参考模型的体系结构给出了抽象的工作流管理系统的功能组成部件和接口,它能够满足工作流管理系统合产品所应该具有的主要功能特征,可为实现工作流产品之间的互操作提供公共的基础。按照WFMC的设想,工作流的每个功能部件可以在不同的软硬件平台上采用不同的方法实现,同样接口也可以在不同的软硬件平台上采用不同的设计技术和编程语言进行编程。当然,设想归设想,实际归实际。一般来说一套工作流系统会采取相同的设计技术,在作集群的时候也是采取相同的工作流系统来实现。

[img]/upload/attachment/120914/bac7a1e4-2021-3afd-9110-08cdc01cc36f.png[/img]

图2.6、工作流管理系统体系架构


从图2.6可以看出,通用工作流系统的主要功能组件有三类:
[list]
[*] 软件组件:为工作流管理系统的各种功能提供支持;
[*] 各种类型的系统定义和控制数据:被一个或多个软件组件所使用;
[*] 应用程序和应用程序数据:对于工作流管理系统来说,它们其实并不是工作流产品的组成部分,而是属于外部系统和数据,但是它们会被工作流产品调用来完成全部或部分工作流管理的功能,从而成为整个工作流系统的一部分。
[/list]

通用工作流管理系统中涉及到四种数据,它们共同辅助完成工作流管理功能。
[list]
[*] 工作流控制数据:工作流执行服务/工作流引擎通过内部的工作流控制数据来辨别每个流程或活动实例的状态。这些数据由工作流执行服务/工作流引擎进行控制。用户、应用程序或其它的工作流引拿工作流执行服务不能对其直接进行读写操作,它们可以通过向工作流执行服务/工作流引擎发消息请求来获得工作流控制数据的内容。
[*] 工作流相关数据:工作流管理系统通过工作流相关数据来确定流程实例状态转换的条件,并选择下一个将执行的活动。这些数据可以被工作流应用程序访问并修改。因此,工作流管理软件需要在活动实例之间传递工作流相关数据。
[*] 组织机构数据:通过参与者映射到业务系统的组织机构上。
[*] 工作流应用数据(工作流系统不涉及到):指那些由应用程序操作的数据。它们是针对应用程序的,是企业完成具体的业务功能所需要的数据,如产品结构数据、订单数据、生产作业计划数据等。工作流管理系统无法也不需要对它们进行访问。
[/list]

过程导航判断或工作流引擎中的其他控制操作,都以工作流应用程序或者更新的数据为基础,这些数据可以被工作流引擎和条件工作流相关数据所访问,这是工作流引擎唯一可访问的应用程序数据。尽管工作流引擎负责在应用程序之间传递工作流应用程序数据,但工作流应用程序数据直接由被调用过程操作。不同的应用程序由工作流过程内的不同活动调用。


[img]/upload/attachment/120916/1104c9d6-477e-3990-a46b-d92fbdc832fc.png[/img]


图2.7、工作流系统的系统组件和接口

工作流管理系统经过对业务、公文流转过程的分析以及抽象,围绕着业务交互逻辑、业务处理逻辑以及参与者三个问题进行解决,业务交互逻辑对应的为业务的流转过程,在工作流管理系统中对应的提出了工作流引擎、工作流建模工具、流程操作来解决业务交互逻辑的问题;业务处理逻辑对应业务流转过程中的表单、文档等的处理,在工作流管理系统中对应的提出了表单设计器、与表单的集成来解决业务处理逻辑的问题;参与者对应的为流转过程中环节对应的人或程序,在工作流管理系统中通过与应用程序的集成来解决参与者的问题。


工作流管理系统为方便业务交互逻辑、业务处理逻辑以及参与者的修改,多数通过提供可视化的流程建模工具以及表单设计器来实现:为实现工作流管理系统的扩展性,多数提供了一系列的API。


一个完整的工作流管理系统通常由工作流引擎、工作流过程建模工具、流程操作、工作流客户端程序、流程监控、表单设计器、与表单的集成以及与应用程序的集成八个部分组成:

1. 工作流引擎:工作流引擎作为工作流管理系统的核心部分,主要提供了对于工作流定义的解析以及流程流转的支持。工作流定义文件描述了业务的交互逻辑,工作流引擎通过解析此工作流定义文件按照业务的交互逻辑进行业务的流转,工作流引擎通常通过参考某种模型来进行设计,通过调度算法来进行流程的流转(流程的启动、终止、挂起、恢复等),通过各种环节调度算法(split、AND、OR等)来实现对于环节的流转哪节的合并、分叉、选择、条件性的选择等)。

2. 工作流过程建模工具:工作流过程建模工具为可视化的流程设计工具,用户通过拖放等方式来绘制流程,并通过对于节点的配置来实现对于节点操作、节点表单、节点参与者的配置。工作流过程建模工具为用户以及开发商提供了快速绘制、修改流程的方式,工作流过程建模工具的好坏决定到工作流管理系统的易用性。按照实现方式和采用的架构可以分为独立的过程建模工具和B/S结构的建模工具。

3. 流程操作:流程操作指所支持的对于流程环节的操作,如启动流程、终止流程、挂起流程、直流、分流(单人办理)、并流(多人同时办理)、联审等,象这些流都是可直接基于引擎所提供的环节调度算法来直接支持的,而在实际的需通常需要自由的对于流程进行干涉,如取回、回退、跳转、追加、传阅、办理等,而这些流程操作对于工作流引擎来说是不合理的,因此必须单实现。流程操作支持的好坏直接决定了一个工作流管理系统的实用性。

4. 工作流客户端程序:工作流客户端程序为工作流系统的表现形式,提供待办列表、已办列表、执行流程操作、查看流程历史信息等来作流系统的功能。

5. 流程监控:流程监控通过提供图形化的方式来对流程执行过程进行监控,包括转状况,每个环节所耗费的时间等等,而通过这些可相应的进行流程的以提高工作效率。

6. 表单设计器:表单设计器为可视化的表单设计工具,用户通过拖放的方式来绘制需的表单,并可相应的进行表单数据的绑定。表单设计器为客户以及开发商提供了快速修改表单的方法,表单设易用与否以及功能的完善与否影响到工作流管理系统的易用性。

7. 与表单的集成:
通常业务流转需要表单来表达实际的业务,因此需要与表单进行集现业务意义,与表单的集成通常包括表单数据的自动获取、存储、修改,域的权限控制、流程相关数据的维护以及流程环节表单的绑定。与表单的集成的好坏影响到工作流管理系统是否能提高开发效率。

8. 与应用程序的集成:通过与应用程序的集成来完善工作流管理系统的业务意义,主要涉是与权限系统以及组织机构的集成。流程环节需要相应的绑定不同的执行而流程操作通常需要与权限系统、组织机构进行关联。

这篇关于工作流_介绍_体系结构(B5)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/888800

相关文章

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Java中的xxl-job调度器线程池工作机制

《Java中的xxl-job调度器线程池工作机制》xxl-job通过快慢线程池分离短时与长时任务,动态降级超时任务至慢池,结合异步触发和资源隔离机制,提升高频调度的性能与稳定性,支撑高并发场景下的可靠... 目录⚙️ 一、调度器线程池的核心设计 二、线程池的工作流程 三、线程池配置参数与优化 四、总结:线程

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h