搜档网
当前位置:搜档网 › Activiti工作流入门详解完整教学教程

Activiti工作流入门详解完整教学教程

Activiti工作流入门详解完整教学教程
Activiti工作流入门详解完整教学教程

Activiti入门教程详解完整教程

1.A ctiviti介绍

Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的,易扩展的可执行流程语言框架。

Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss JBPM的项目架构师,它的特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务流程图。

1.1工作流引擎

ProcessEngine对象,这是Activiti工作的核心。负责生成流程运行时的各种实例及数据,监控和管理流程的运行。

1.2BPMN

业务流程建模与标注(Business Process Model and Notation,BPMN),描述流程的基本符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram)

2.准备环境

2.1Activiti软件环境

1)JDK1.6或者更高版本

2)支持的数据库有:h2,mysql,oracle,mysql,db2等

3)支持Activiti运行的jar包,可以通过maven依赖引入

4)开发环境为Eclipse3.7或者以上版本,myeclipse为8.6版本2.2安装流程设计器(eclipse插件)

1)打开Help →Install New Software →Add

输入Name: Activiti Designer

Location: https://www.sodocs.net/doc/0516037890.html,/designer/update/

输入完成后,单击OK按钮等待下载完成后安装。

安装完成后在菜单选项中会出现Activiti的目录选项

2.3 设置eclipse activit插件的画流程图选项

打开菜单Windows --> Preferences --> Activiti -->Save 下流程图片的生成方式

勾选上Create process definition image when saving the diagram操作,勾选上这个操作后在画流程图后保存eclipse会自动生成对应的流程图片。

2.4 准备开发环境

2.4.1 创建maven web项目,在maven中添加Activiti依赖

在eclipse左边工作栏右键New选择创建Maven Project项目,创建一个名为ActivitiTest的项目

Android基础——Fragment与Activity交互

Android基础——Fragment与Activity交互 今天继续讲解Fragment组件的特性,主要是跟Activity的交互和生命周期的关系,我们前面已经说过Fragment是依赖于Activity的,而且生命周期也跟Activity绑定一起。下面我们看看Fragment跟Activity的关系。 1、为Activity创建事件回调方法 在一些情况下, 你可能需要一个fragment与activity分享事件。一个好的方法是在fragment中定义一个回调的interface, 并要求宿主activity实现它。当activity通过interface接收到一个回调,必要时它可以和在layout中的其他fragment分享信息。例如, 如果一个新的应用在activity中有2个fragment –一个用来显示文章列表(framgent A), 另一个显示文章内容(fragment B) –然后 framgent A必须告诉activity何时一个list item被选中,然后它可以告诉fragmentB去显示文章。 在这个例子中, OnArticleSelectedListener 接口在fragment A中声明: public static class FragmentA extends ListFragment { //... // Container Activity must implement this interface public interface OnArticleSelectedListener { public void onArticleSelected(Uri articleUri); } //... } 然后fragment的宿主activity实现 OnArticleSelectedListener 接口,并覆写 onArticleSelected() 来通知fragment B,从fragment A到来的事件。为了确保宿主activity实现这个接口, fragment A的onAttach() 回调方法(当添加fragment到activity时由系统调用) 通过将作为参数传入onAttach()的Activity做类型转换来实例化一个OnArticleSelectedListener实例。 public static class FragmentA extends ListFragment { OnArticleSelectedListener mListener; //... @Override public void onAttach(Activity activity) { super.onAttach(activity); try { mListener = (OnArticleSelectedListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implementOnArticleSelectedListener"); } } //... } 如果activity没有实现接口,fragment会抛出 ClassCastException 异常。正常情形下,mListener

大学英语综合教程答案

3.Many products for sale seem to scream at us, "Buy me! Buy me!" Advertising is a big busin ess in our world with many products competing for our attention. Think of the last time you boug ht clothes. You probably noticed the variety of colors, patterns, fabrics and brands you could choo se from. Which kind of soft drink would you like to have today or what kind of computer do you want? Advertisers are skilled in the art of making their products look the best to appeal to our se nses. But products aren't always what they seem. Sometimes advertising is deceptive and as cons umers ,we must be careful about what we choose to buy. It is important to learn to compare prod ucts and identify our purpose in purchasing the things we need. But the good thing about advertising is that it helps people to make decisions and refine thei r choices. In the United States, the Ad Council creates timely public service messages to the nation. Th eir purpose is to raise awareness of public problems that citizens can respond to. Inspiring ads ca use individuals to take action and even save lives. Pollution in America, for example has been red uced over the years because of the creative Public Service advertisements that the council provid es" Please, please don't be a litter bug, 'cause every 'litter bit' hurts." Many families have taught t heir children to place litter in the trash can in response to this catchy phrase, which has affected g enerations as each succeeding generation has taught their children not to litter. 4.Nature imposes difficult conditions upon the earth from time to time . The tornado and fo rest fire destroy natural resources ,homes and other structures ,and very often harm or kill peopl e . Technological tragedies happen with little or no warning as we see trains crash and airplanes f all from the sky shortly after take-off. As tragic as calamities are , they seem to bring out the best in human nature . people trained in em ergency care arrive at the scene and begin assisting the inj ured .Others come with equipment to remove debris. Men , women ,and young people willingly c ome to the scene of an accident , hoping to be of help in some way . These selfless acts of kindne ss make our world a better place . compassion eases the wounds of calamities. American Airlines flight number 587 crashed less than three minutes after taking off from JF K Airport in New York in November,2001. Witnesses s aw an engine fire develop on the plane’s nu mber one engine located under the left wing of the aircraft .seconds later ,the airliner crashed int o eight homes ,completely destroying four of them .All 260 people aboard the airplane were kille d along with six people at the crash site ,leaving many people to mourn the loss of their loved on es .the residents (people who live in the area of the crash ) rallied together to comfort those griev ing, while others removed bodies from the wreckage and did the necessary clean-up. 工程实施困难的条件下在地上的时候。龙卷风和森林火灾破坏自然资源,房屋和其他建筑物,和经常伤害或杀死人。技术的悲剧发生在很少或没有预警,因为我们看到火车事故,飞机起飞后不久就从天空坠落。一样悲惨的灾难,他们似乎显示出人性中最好的。在急诊受训的人到达现场并开始帮助受伤的人则跟设备清除残骸。男人,女人,和年轻人自愿来到事故现场,希望能有帮助。这些无私的善举让我们的世界变得更美好。同情减轻灾害的伤口。 美国航空公司587号航班坠毁不到三分钟后从纽约肯尼迪机场起飞,11月2001。目击者看到一个引擎火灾发展在飞机上的1号引擎位于下飞机的左翼,接着后,客机坠毁八家,完全摧毁了四个260名乘客的飞机遇难连同6人在事故现场,造成许多人悼念失去的亲人,居民(住在崩溃的面积)聚集在一起,安慰那些悲伤,而另一些人则从残骸,并把尸体移走必要的清理。 5.Success can be reached in different ways by people in different careers. Bill Gates began at age to program computers,His vision for personal computing has been central to the success of M icrosoft Corporation, the company he founded with his childhood friend in 1975 . The former CEO of General Electric, Jack Welch, is a business legend. A famous quote by Mr. Welch is,” Chang before you have to. ”He believes in leading by example and encourages his empl oyees to do their best every day. Michael Jordan s aid,”I accept failure, but I can’t accept not trying.” He is one of the best athl etes to ever play team sports. His great smile, athletic achievements, and pleasant personality ha ve made him one of the most famous athletes in the world. Michael Jordan spent a lot of time pla ying basketball as a child but in senior middle school he was taken off the team . Instead of giving up , he worked through adversity and became the greatest basketball player yet .

Activiti工作流入门详解完整教学教程

Activiti入门教程详解完整教程 1.A ctiviti介绍 Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的,易扩展的可执行流程语言框架。 Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss JBPM的项目架构师,它的特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务流程图。 1.1工作流引擎 ProcessEngine对象,这是Activiti工作的核心。负责生成流程运行时的各种实例及数据,监控和管理流程的运行。 1.2BPMN 业务流程建模与标注(Business Process Model and Notation,BPMN),描述流程的基本符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram)

2.准备环境 2.1Activiti软件环境 1)JDK1.6或者更高版本 2)支持的数据库有:h2,mysql,oracle,mysql,db2等 3)支持Activiti运行的jar包,可以通过maven依赖引入 4)开发环境为Eclipse3.7或者以上版本,myeclipse为8.6版本2.2安装流程设计器(eclipse插件) 1)打开Help →Install New Software →Add 输入Name: Activiti Designer Location: https://www.sodocs.net/doc/0516037890.html,/designer/update/ 输入完成后,单击OK按钮等待下载完成后安装。 安装完成后在菜单选项中会出现Activiti的目录选项

Activiti 库表结构 张表

Activiti-5.21数据字典 简介 #前缀描述 1ACT_RE_RE表示Repository资源库,保存流程定义,模型等设计阶段的数据。 2ACT_RU_RU表示Runtime运行时,保存流程实例,任务,变量等运行阶段的数据。 3ACT_HI_HI表示History历史,保存历史实例,历史任务等流程历史数据。 4ACT_ID_ID表示Identity身份,保存用户,群组,关系等组织机构相关数据。(Activiti中的组织机构过于简单,仅用于演示。) 5ACT_GE_GE表示General通用,属于一些通用配置。 6其他ACT_EVT_LOG和ACT_PROCDEF_INFO没有按照规则来,两者分别属于HI和RE。 ACT_RE_ ACT_RU_

ACT_HI_

数据库 #表名描述 1ACT_EVT_LOG事件日志 2ACT_GE_BYTEARRY xml, png等二进制内容3ACT_GE_PROPERTY引擎版本信息 4ACT_HI_ACTINST历史节点

5ACT_HI_ATTACHMENT附件 6ACT_HI_COMMENT评论 7ACT_HI_DETAIL变更历史 8ACT_HI_IDENTITYLINK历史参与者 9ACT_HI_PROCINST历史流程实例 10ACT_HI_TASKINST历史任务 11ACT_HI_VARINST历史变量 12ACT_ID_GROUP群组 13ACT_ID_INFO用户的人员详细信息 14ACT_ID_MEMBERSHIP用户与群组关系 15ACT_ID_USER用户的基本信息 16ACT_PROCDEF_INFO流程定义的动态变更信息17ACT_RE_DEPLOYMENT部署包 18ACT_RE_MODEL模型(用于Web Designer)19ACT_RE_PROCDEF流程定义 20ACT_RE_EVENT_SUBSCR事件监听 21ACT_RU_EXECUTION流程实例与分支 22ACT_RU_IDENTITYLINK参与者 23ACT_RU_JOB异步作业 24ACT_RU_TASK任务 25ACT_RU_VARIABLE变量 ACT_EVT_LOG 事件日志,默认不开启。 #字段名字段类型长度空默认描述主 键 外 键 1LOG_NR_BIGINT19主键自 增2TYPE_VARCHAR64类型 3PROC_DEF_ID_VARCHAR64流程定义 4PROC_INST_ID_VARCHAR64流程实例 5EXECUTION_ID_VARCHAR64执行 6TASK_ID_VARCHAR64任务

activiti流程开发基本步骤详解

activiti流程开发指南 ?一、BPMN ?二、activiti主要接口 ?三、如何实现一个业务流程 ?四、如何管理所有流程与实例 ?五、开发流程 ?六、api 一、BPMN 1. 什么是BPMN 首先BPMN规范是由标准组织BPMI发布的.BPMN 1.0规范发布于2004年5月。此规范展示了BPMI组织两年多的努力成果。BPMN的主要目标就是要提供被所有业务用户理解的一套标记语言,包括业务分析者、软件开发者以及业务管理者与监察者。BPMN还将支持生成可执行的 BPEL4WS语言。所以,BPMN在业务流程设计与流程实现之间搭建了一条标准化的桥梁。 BPMN定义了业务流程图,其基于流程图技术,同时为创建业务流程操作的图形化模型进行了裁减。业务流程的模型就是图形化对象的网图,包括活动(也可以说工作)和定义操作顺序的流控制。 2. BPMN基础 业务流程图由一系列的图形化元素组成。这些元素简化了模型的开发,且业务分析者看上去非常熟悉。这些元素每个都有各自的特性,且与大多数的建模器类似。比如,活动是矩形,条件是菱形。应该强调的是:开发BPMN的动力就是为了在创建业务流程模型时提供一个简单的机制,同时又能够处理来自业务流程的复杂性。要处理这两个矛盾的需求的方法就是将标记的图形化方面组织分类为特定的类别。这里提供标记类别中的一小部分,以便业务流程图的读者可以简单地识别出元素的基本类型从而理解图形。以下是四种基本的类型: 1)流对象 2)连接对象 3)泳道

4)人工信息 BPMN2.0概要:https://www.sodocs.net/doc/0516037890.html,/workclass/201206272.asp 二、activiti主要接口 ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine(); RuntimeService runtimeService = processEngine.getRuntimeService(); RepositoryService repositoryService = processEngine.getRepositoryService(); TaskService taskService = processEngine.getTaskService(); ManagementService managementService = processEngine.getManagementService(); IdentityService identityService = processEngine.getIdentityService(); HistoryService historyService = processEngine.getHistoryService(); FormService formService = processEngine.getFormService(); ProcessEngines.getDefaultProcessEngine()会在第一次调用时初始化并创建一个流程引擎,以后再调用就会返回相同的流程引擎。使用对应的方法可以创建和关闭所有流程引擎:ProcessEngines.init()和ProcessEngines.destroy()。 ProcessEngines会扫描所有activiti.cfg.xml和activiti-context.xml文件。对于activiti.cfg.xml文件,流程引擎会使用Activiti的经典方式构建: ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream (inputStream).buildProcessEngine(). 对于activiti-context.xml文件,流程引擎会使用Spring方法构建:先创建一个Spring的环境,然后通过环境获得流程引擎。

Activiti6.0工作流使用说明文档V1.0

Activiti工作流使用说明文档 V1.0 2019年8月9日

目录 一、模型设计器 (4) 1.1任务 (5) 1.1.1 用户任务 (5) 1.1.2 服务任务 (5) 1.1.3 脚本任务 (6) 1.1.4 业务规则任务 (7) 1.1.5 接收任务 (7) 1.1.6 手动任务 (7) 1.1.7 邮件任务 (8) 1.1.8 Camel任务 (8) 1.1.9 Mule任务 (8) 1.1.10 决策任务 (9) 1.2构造 (10) 1.2.1 子流程 (10) 1.2.2 事件子流程 (11) 1.3泳道列表 (11) 1.4分支 (12) 1.4.1 排他分支 (12) 1.4.2 并行分支 (12) 1.4.3 包容分支 (13) 1.4.4 事件分支 (13) 1.5事件 (14) 1.5.1 定时器事件 (14) 1.5.2 信号事件 (14) 1.5.3 消息事件 (16) 1.5.4 错误事件 (16) 1.5.5 边界事件 (17) 1.5.6 中间事件 (18)

1.5.7 开始事件 (18) 1.5.8 结束事件 (18) 1.6属性元素 (18) 1.6.1 异步 (18) 1.6.2 排他 (19) 1.6.3 补偿 (19) 1.6.4 中断任务 (20) 1.6.5 分配 (21) 1.6.6 到期时间 (22) 1.6.7 表单 (22) 1.6.8 表达式 (24) 1.6.9 多实例 (25) 1.7监听器配置 (28) 1.7.1 执行监听器 (29) 1.7.2 任务监听器 (30) 1.7.3 事件监听器 (32) 1.7.4 全局事件监听器 (33) 二、workflow-service (34) 2.1数据更新逻辑 (34) 2.2方法表达式配置 (35) 2.3自定义外置表单 (36) 2.4事件监听器配置 (37) 2.5方法调用说明 (37) 三、常见问题 (37)

大学英语综合教程3 unit 3

Unit 3 Security Part Ⅰ Listening Comprehension Section A Directions: In this section, you will hear three news reports. At the end of each news report, you will hear two or three questions. Both the news report and the questions will be spoken only once. After you hear a question, you must choose the best answer from the four choices marked A), B) C) and D). Then mark the corresponding letter on Answer Sheet 1 with a single line through the centre. Questions 1 and 2 are based on the news item you have just heard. 1. A) All the schools were closed. B) 14 people were killed. C) A terrorist attack took place in one of the schools there. D) Many parents refused to send their children to school. 2. A) School administrators there also received terrorist threats. B) Schools were closed there, too. C) Many parents took a day off from work to care for their children at home. D) 700,000 students didn‘t come to school. Questions 3 and 4 are based on the news item you have just heard. 3. A) In the Arctic. B) In Washington D.C. C) In Montreal. D) In Quebec. 4. A) They live in Arctic in winter. B) Snow owl is the official bird of Quebec. C) They are often seen in Canada. D) They are not afraid of traffic on the road. Questions 5 and 7 are based on the news item you have just heard. 5. A) The major events of the Winter Olympics. B) The high cost of the Winter Olympics. C) The countries participating the Winter Olympics. D) The main attractions of the Winter Olympics. 6. A) At least $15 billion. B) At least $50 billion. C) At least $13 billion. D) At least $7 billion. 7. A) People involved in the project have taken some of the money. B) The likelihood of corruption was increased. C) Security measures cost a lot of money. D) The building of Stadiums cost a lot of money. Questions 9 to 12 are based on the conversation you have just heard. 9. A) Next Friday. B) Next year. C) Next Month. D) Next Monday. 10. A) Her mother. B) Her cousin. C) Her husband. D) Her son. 11. A) Because a civil war broke out in Mexico. B) Because the bird flu broke out in Mexico. C) Because the swine flu broke out in Mexico. D) Because there was an earthquake in Mexico. 12. A) Avoid direct contact with chickens, ducks and other birds.

Activiti工作流数据库表结构

Activiti数据表结构 目录 1ACTIVITI数据库表结构 ----------------------------------------------------------------------------------------------- 2 1.1数据库表名说明 ------------------------------------------------------------------------------------------------ 2 1.2数据库表结构---------------------------------------------------------------------------------------------------- 3 1.2.1Activiti数据表清单: ---------------------------------------------------------------------------------------- 3 1.2.2表名:ACT_GE_BYTEARRAY (通用的流程定义和流程资源)-------------------------------- 3 1.2.3表名:ACT_GE_PROPERTY (系统相关属性) ----------------------------------------------------- 4 1.2.4表名:ACT_HI_ACTINST (历史节点表) ------------------------------------------------------------ 5 1.2.5表名:ACT_HI_ATTACHMENT (附件信息)-------------------------------------------------------- 6 1.2.6表名:ACT_HI_COMMENT (历史审批意见表)-------------------------------------------------- 6 1.2.7表名:ACT_HI_DETAIL (历史详细信息)----------------------------------------------------------- 7 1.2.8表名:ACT_HI_IDENTITYLINK (历史流程人员表) ---------------------------------------------- 8 1.2.9表名:ACT_HI_PROCINST(历史流程实例信息)核心表---------------------------------------- 8 1.2.10表名:ACT_HI_TASKINST(历史任务流程实例信息)核心表------------------------------ 9 1.2.11表名:ACT_HI_VARINST(历史变量信息) ------------------------------------------------------ 9 1.2.12表名:ACT_ID_GROUP(用户组表) ------------------------------------------------------------ 10 1.2.13表名:ACT_ID_INFO (用户扩展信息表) ---------------------------------------------------- 10 1.2.14表名:ACT_ID_MEMBERSHIP(用户用户组关联表) -------------------------------------- 11 1.2.15表名:ACT_ID_USER(用户信息表) ------------------------------------------------------------ 11 1.2.16表名:ACT_RE_DEPLOYMENT(部署信息表)------------------------------------------------ 12 1.2.17表名:ACT_RE_MODEL (流程设计模型部署表) ----------------------------------------------- 12 1.2.18表名:ACT_RE_PROCDEF (流程定义表) ---------------------------------------------------- 13 1.2.19表名:ACT_RU_EVENT_SUBSCR (运行时事件) ------------------------------------------------- 14 1.2.20表名:ACT_RU_EXECUTION (运行时流程执行实例) ----------------------------------- 15 1.2.21表名:ACT_RU_IDENTITYLINK(身份联系) --------------------------------------------------- 15 1.2.22表名:ACT_RU_JOB(运行中的任务)---------------------------------------------------------- 16 1.2.23表名:ACT_RU_TASK(运行时任务数据表) ------------------------------------------------------ 16 1.2.24表名:ACT_RU_VARIABLE(运行时流程变量数据表) ----------------------------------------- 17 2ACTIVITI中主要对象的关系 -------------------------------------------------------------------------------------- 18

Java学习路线图-学习视频资料分享

Java学习路线图-学习视频资料分享 Java的火爆袭来,吸引了大批的初学者涉猎,想入行Java,却苦于自己没有基础,担心学不好。小编告诉你,这些担心都是浮云,你只是惧怕走进一个新天地,人都是一样的,面对自己不熟悉的领域总会有莫名的恐惧感。不是不可以,只是你缺乏的是勇敢迈出去的勇气。 小编整理了一份关于Java自学的学习路线图,希望帮助每一位想学习Java 的小伙伴快速成长为Java开发工程师。 第一阶段:Java基础 Java开发介绍 Java数组 Java面向对象 常用基础类 集合 IO流

异常 网络 反射 第二阶段:JavaWeb HTML5 CSS3 JavaScript MySQL使用JDBC连接池Servlet JSP AJAX jQuery Bootstrap 第三阶段:Java框架Maven Hibernate Spring Spring MVC MyBatis WebService

Activiti 第四阶段:Java + 云数据 Linux版本 astDFS MySQL优化 Nginx反向代理 Quartz 作业调度 Redis 高性能(Key-Value)数据库 Shiro 安全(权限)框架 Lucene&Solr全文检索 Zookeeper 分布式系统 MyCAT 大数据集群 Dubbo实现分布式架构 ActiveMQ 消息队列 分布式事务和单点登录 分布式框架原理(采用视频资料教学) 基于SpringMVC的集成单元测试MockMVC SpringBoot 快速构建JavaEE项目 Java自学书籍: 1、《Head First Java, 2nd Edition(中文版)》 这本书不仅内容丰富、有趣且通俗易懂,并且涵盖了所有Java 相关的基础

工作流Activiti的学习总结(十二) activiti官方十分钟快速学习

根据activiti官方提供的编写 1.财务部门填写月财务报告 2.股东审核月财务审计报告 流程图: 流程配置: <;?xml version=";1.0"; encoding=";UTF-8";?>; <;definitions xmlns=";https://www.sodocs.net/doc/0516037890.html,/spec/BPMN/20100524/MODEL"; xmlns:xsi=";https://www.sodocs.net/doc/0516037890.html,/2001/XMLSchema-instance"; xmlns:activiti=";https://www.sodocs.net/doc/0516037890.html,/bpmn"; xmlns:bpmndi=";https://www.sodocs.net/doc/0516037890.html,/spec/BPMN/20100524/DI"; xmlns:omgdc=";https://www.sodocs.net/doc/0516037890.html,/spec/DD/20100524/DC"; xmlns:omgdi=";https://www.sodocs.net/doc/0516037890.html,/spec/DD/20100524/DI"; typeLanguage=";https://www.sodocs.net/doc/0516037890.html,/2001/XMLSchema"; expressionLanguage=";https://www.sodocs.net/doc/0516037890.html,/1999/XPath"; targetNamespace=";https://www.sodocs.net/doc/0516037890.html,/bpmn20";>; <;process id=";financialReport"; name=";Monthly financial report reminder process";>; <;startEvent id=";startevent1"; name=";月财务报告审核开始";>;<;/startEvent>; <;!-- 采用用户组为accountancy编写财务报告 -->; <;userTask id=";usertask1"; name=";财务编写月财务报告"; activiti:candidateGroups=";accountancy";>;<;/userTask>; <;userTask id=";usertask2"; name=";股东审核月财务审计报告"; activiti:candidateGroups=";management";>;<;/userTask>; <;endEvent id=";endevent1"; name=";月财务报告审核结束";>;<;/endEvent>; <;sequenceFlow id=";flow1"; name=";"; sourceRef=";startevent1"; targetRef=";usertask1";>;<;/sequenceFlow>; <;sequenceFlow id=";flow2"; name=";"; sourceRef=";usertask1"; targetRef=";usertask2";>;<;/sequenceFlow>; <;sequenceFlow id=";flow3"; name=";"; sourceRef=";usertask2"; targetRef=";endevent1";>;<;/sequenceFlow>; <;/process>; <;bpmndi:BPMNDiagram id=";BPMNDiagram_financialReport";>; <;bpmndi:BPMNPlane bpmnElement=";financialReport"; id=";BPMNPlane_financialReport";>; <;bpmndi:BPMNShape bpmnElement=";startevent1"; id=";BPMNShape_startevent1";>; <;omgdc:Bounds height=";35"; width=";35"; x=";30"; y=";200";>;<;/omgdc:Bounds>; <;/bpmndi:BPMNShape>; <;bpmndi:BPMNShape bpmnElement=";usertask1"; id=";BPMNShape_usertask1";>;

特别响、非常近——BPMN2新规范与Activiti5

特别响、非常近——BPMN2新规范与Activiti5 上世纪九十年代以后,随着WfMC联盟的成立,BPM市场群雄逐鹿如火如荼,工作流技术得到了突飞猛进的发展,其中IBM、Oracle等大型软件厂商在工作流领域各扯大旗割据一方。2011年BPMN2.0新规范的发布为各工作流产品互容互通提供了统一的标准,结束了各工作流厂商各自为政相互抵斥的局面。 什么是BPMN、Workflow? ?BPM(Business Process Management)——“通过建模、自动化、管理和优化流程,打破跨部门跨系统业务过程依赖,提高业务效率和效果”。 ?Workflow——“全部或者部分由计算机支持或自动处理的业务过程”(工作流管理联盟WfMC组织对工作流概念的经典定义) BPM基本内容是管理既定工作的流程,通过服务编排,统一调控各个业务流程,以确保工作在正确的时间被正确的人执行,达到优化整体业务过程的目的。BPM概念的贯彻执行,需要有标准化的流程定义语言来支撑,使用统一的语言遵循一致的标准描述具体业务过程,这些流程定义描述由专有引擎去驱动执行。这个引擎就是工作流引擎,它作为BPM的核心发动机,为各个业务流程定义提供解释、执行和编排,驱动流程“动“起来,让大家的工作“流”起来,为BPM的应用提供基本、核心的动力来源。 现实工作中,不可避免的存在跨系统跨业务的情况,而大部分企业在信息化建设过程中是分阶段或分部门(子系统)按步实施的,后期实施的基础可能是前期实施成果的输出,在耦合业务实施阶段,相同的业务过程可能会在不同的实施阶段重用,在进行流程梳理过程中,不同的实施阶段所使用的流程描述语言或遵循的标准会有所不同(服务厂商不同),有的使用WfMC 的XPDL,还有些使用BPML、BPEL、WSCI等,这就造成流程管理、业务集成上存在很大的一致性、局限性,提高了企业应用集成的成本。 BPMN2.0规范的引入 遵循BPMN2.0新规范的工作流产品能很大程度上解决此类问题。BPMN2.0相对于旧的1.0规范以及XPDL、BPML及BPEL等最大的区别是定义了规范的执行语义和格式,利用标准的图元去描述真实的业务发生过程,保证相同的流程在不同的流程引擎得到的执行结果一致。BPMN2.0对流程执行语义定义了三类基本要素,它们是日常业务流程的“三板斧”: ?Activities(活动)——在工作流中所有具备生命周期状态的都可以称之为“活动”,如原子级的任务(Task)、流向(Sequence Flow),以及子流程(Sub-Process)等?Gateways(网关)——顾名思义,所谓“网关”就是用来决定流程流转指向的,可能会被用作条件分支或聚合,也可以被用作并行执行或基于事件的排它性条件判断 ?Events(事件)——在BPMN2.0执行语义中也是一个非常重要的概念,像启动、结束、边界条

相关主题