工作流是企业应用开发过程中非常重要的一部分,几乎常见的管理、业务类系统都与工作流有千丝万缕的联系。
工作流作为应用系统的一部分,根据角色、分工和条件的不同,来解决信息传递路由、内容等级问题的核心解决方案。
常用的工作流应包含节点管理、流向管理、流程样例等基础功能。
优秀的企业应用,其美观大方的系统界面是最基础的部分;数据库之间的信息交换是必备条件;而保证应用系统的功能性、契合性、稳定性和易维护性则是重中之重。
考虑到后期的维护性,可以采用模块化和结构化应用程序,这样在业务流程发生变化时(决策权改变、组织结构变动)能迅速产生全新业的务逻辑。而且,如果应用程序缺乏完备高效的逻辑层(通常由工作流引擎实现),就会容易出现信息的路由错误和运行效率低下这一类问题。
在架构上,面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元通过这些服务之间定义的接口和契约联系起来。接口定义采用中立方式进行,它独立于硬件、系统和编程语言。工作流引擎使得构建在这类系统中的服务,可以统一通用的方式进行交互。
LeaRun标准工作流引擎
在早前,很多企业都迫切需要一套灵活的OA工作流机制,于是有越来越多人开始利用Domino来构建;后来当ASP.NET出现时,大家犹如醍醐灌顶一般,各集团高层都开始要求使用工作流引擎实现企业流程审批信息化。
基于市场的实际需求,我们最开始开发了标准的ASP.NET企业级工作流引擎(LeaRun),并获得相关认证,各项指标及客户反映都不错,所以随后的java平台也延续了其设计思想:
首先定义流程步骤,主要包括:操作的接口地址、操作参数、操作类型(起始操作、中间操作)。其目的是为每个操作设置好相关关系,在定义流程时即可选用设置好的流程步骤。
其次定义操作的参数,是除接口地址外的另一必须项。
再次是定义流程操作步骤之间的关系。即定义一个流程中每个操作步的前驱、后继的操作。
然后定义流程,其内容包括基本信息和流程定义中的各操作步骤、流转规则。流程基本信息无需赘述。流程步骤定义比较复杂,设置定义步骤类型(起始、中间、终结),入口步骤、出口步骤、通知模式、人员、角色、通知发送的内容。
之后定义涉及跳步的情况,如需根据不同参数提交到相应的步骤进行审批,这里叫做流程步骤变迁规则设置。其需要设置的内容:原步骤、目标步骤、变迁方向(正/负)、条件规则(判断“与”、“或”运算)。接着设置参数、值、比较条件。
最后管理授权。该项较简单,判断被提交的人是否处于授权状态,从而进行相关处理。
上述所说是流程的大致逻辑,实际编写过程中考虑的情况会更为复杂,如需案例参考,请搜索“力软”进行查看。
Windy.
相关推荐
首先,系统定义是OBPM的管理层面,允许管理员配置和管理系统的各种元素。这一部分包括资源信息管理、部门(Department)、角色(Role)以及用户(User)的创建和管理。 资源信息管理是系统定义的基础,涉及菜单...
- **系统的活动图**:展现了系统中工作流的控制流和数据流,特别适用于描述复杂的业务流程。 - **类图**:展示了系统的静态结构,包括类、接口及其之间的关系,对于理解系统的静态结构非常重要。 - **系统的程序...
### 容器编排平台的配置管理的版本控制与回滚 #### 容器编排平台版本控制策略概述 在容器编排平台中实施有效的版本控制策略至关重要,它有助于维护系统的稳定性、安全性和可追溯性。以下是几种常用的版本控制策略...
3. **计算机集成制造系统**:一种先进的生产管理系统,旨在通过整合企业的设计、生产、销售等多个环节来提高生产效率和产品质量。该系统通常包括自动化生产线、计算机辅助设计/制造(CAD/CAM)系统等组成部分。 4. **...
工程信息化管理是现代工程项目管理的重要组成部分,它利用先进的信息技术手段,对工程项目进行高效、...在实际工作中,企业应根据自身情况,结合工程特点,不断探索和完善信息化管理系统,以适应日益复杂的工程环境。
第三部分为系统管理;第四部分为Linux编程;第五部分为附录。本书内容翔实、涉及领域广泛,并且提供了详细的例子和大量的参考资料(包括书籍、电子文档和Internet站点),是一本学习、使用和管理Linux不可多得的好书。...
Linux文件系统采用的是倒置的树形结构,这与Microsoft Windows的文件管理系统有所不同。根目录(/)是整个文件系统的起点,它包含了其他所有目录。在Linux的根目录下,通常有7个主要的子目录,每个都有特定的用途: ...
例如,PHP与MySQL结合常常被用于构建内容管理系统(CMS)如WordPress、Drupal等。 Apache的配置文件通常为`httpd.conf`,用户可以通过编辑此文件来定制服务器的行为。配置选项丰富多样,可以调整端口设置、定义虚拟...
4. **Oozie**:工作流调度系统,协调Hadoop作业和其他系统作业。 5. **Zookeeper**:协调分布式服务,提供命名服务、配置管理、集群同步等功能。 6. **Spark**:一种快速、通用的大数据处理引擎,可以与Hadoop生态...
**问题**: 什么样职位的管理者才能与CEO和公司总经理共同决定公司的竞争战略? **选项**: A.首席财务官 B.首席运营官 C.首席信息官 D.董事长 **答案**: B. 首席运营官 **解析**: 在组织结构中,首席运营官(COO)通常...
Apache Airavata的核心在于其强大的工作流管理和调度能力。它允许科学家和开发者创建复杂的数据处理和计算流程,这些流程可以跨不同的计算资源(如超级计算机、云平台)进行分布式执行。通过Airavata,用户无需关心...
至于数据库MySQL,它是世界上最流行的开源关系型数据库管理系统。在Spring框架中,我们可以配置DataSource来连接MySQL数据库,然后使用Spring JDBC或ORM框架(如Hibernate)进行数据操作。MySQL提供了丰富的SQL语法...
该平台的核心在于其独特的工作流引擎设计,这使得它能够支持一系列复杂的数据流处理模式,包括但不限于串行、同步并行、异步并行、同步子流程、异步子流程、事务控制、循环任务执行、多流合并、数据折分和数据流复制...
8. **workflows**:工作流是Airavata的一个核心概念,此目录可能包含一些预定义的工作流示例,用户可以学习如何创建和管理复杂的计算流程。 关于标签中的"jar",这通常指的是Java Archive文件,是一种用于封装Java...
【标题】:“winxp下的Linux虚拟”指的是在Windows XP操作系统中使用虚拟化技术来运行Linux系统,无需重新分区或安装双系统。这种技术允许用户在Windows环境下无缝地体验和操作Linux,极大地提高了工作效率,同时也...
DAQ(Data Acquisition)是Snort入侵检测系统的一个关键组件,主要负责数据包的捕获和解析。在"daq-2.0.6.tar.gz"这个压缩包中,我们获得了DAQ库的版本2.0.6,它是一个针对Snort进行高效网络监控的重要工具。 Snort...
mybatis-guice支持多种数据库管理系统(DBMS),包括但不限于MySQL、Oracle、PostgreSQL等。 ##### A.3 使用示例 下面是一个简单的使用示例,展示如何配置和使用mybatis-guice: ```java // 定义Guice模块 public...
- **YARN**(Yet Another Resource Negotiator):资源管理系统,为各种分布式计算框架提供统一的资源管理和调度服务。 ### 4. HDFS的相关配置 - **默认工作目录**:HDFS默认的当前工作目录是`/user/$USER`。 - **...