五分钟让你看明白到底什么是Activity --java

写这篇文章的目的主要是项目组开发第一次使用总结的一点小经验,不足之处打架多多探讨.
1.什么是工作流?
以请假为例,现在大多公司的后台流程是这样的

    a.邮件提出申请 b.上级回邮件同意或其他方式c.上级请假记录
    d.月底将请假上缴公司 e.人事录电脑

    采用工作流几乎是的公司请假流程是这样的

    **员工使用登录系统--点击请假--上级登录系统点击允许,就这样,一个请假流程就结束了!**

        有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案是,用的。但是这一切的工作都会在上级点击允许后自动运行!

            这就是工作流技术。

            Georgakopoulos给出的工作流定义是:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完成!

二、 工作流技术的优点

从上面的例子,很容易看出

工作流系统,实现了工作流程的自动化,提高了企业运营效率、改善企业资源利用、提高企业运作的灵活性和适应性、提高量化考核业务处理的效率、减少浪费(时间就是金钱)。

而手工处理工作流程,一方面无法对整个流程状况进行有效跟踪、了解,另一方面难免会出现人为的失误和时间上的延时导致效率低下,特别是无法进行量化统计,不利于查询、报表及绩效评估。

三、 Java开发者会为什么要学Activity工作流
在Java领域,JBPM和Activity是两个主流的工作流系统,而Activity的出现无疑将会取代JBPM(Activity的开发者就是从Jbpm开发者出来的)。

四、 Activity工作流学习要点

1个插件

在Eclipse中安装Activity插件,让你可以在Eclipse中绘制Activity工作流图

1个引擎

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

所有的操作都是从获取引擎开始的,所以一般会把引擎作为全局变量

ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();

1个配置文件

activiti.cfg.xml。Activiti核心配置文件,配置流程引擎创建工具的基本参数和数据库连接池参数

5种数据库表

Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。用途也和服务的API对应。

ACTRE*: ‘RE‘表示repository。 这个前缀的表包含了流程定义和流程静态资源(图片,规则,等等)。

ACTRU*: ‘RU‘表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。

ACTID*: ‘ID‘表示identity。 这些表包含身份信息,比如用户,组等等。

ACTHI*: ‘HI‘表示history。 这些表包含历史数据,比如历史流程实例,变量,任务等等。

ACTGE*: 通用数据,用于不同场景下,如存放资源文件。

23张表

不同的表存放不同方面的数据,有流程定义表、任务结点表、流程变量表、任务历史表等等。


5项Service

不同的Service类对应不同的功能。

比如TaskService,是activiti的任务服务类。可以从这个类中获取任务的信息。

而HistoryService,则是activiti的查询历史信息的类。在一个流程执行完成后,这个对象为我们提供查询历史信息。

7项基本操作

设计流程图(各种组件,如连线、用户任务、网关)

流程定义增删改查

流程变量增删改查

启动流程定义

任务增删改查

完成任务

历史信息查询

总结:只要是这些基本操作能够熟练一下,跟项目框架整合的时候其实很好整合,不会那么吃力!

原文地址:http://blog.51cto.com/itengxun/2088939

时间: 2024-10-06 03:58:40

五分钟让你看明白到底什么是Activity --java的相关文章

FinFET全面攻占iPhone 五分钟让你看懂FinFET

OFweek电子工程网 讯 打开这一年来半导体最热门的新闻,大概就属FinFET了,例如:iPhone 6s内新一代A9应用处理器采用新电晶体架构很可能为鳍式电晶体(FinFET),代表FinFET开始全面攻占手机处理器.三星与台积电较劲,将10纳 米FinFET正式纳入开发蓝图.联电携ARM,完成14纳米FinFET制程测试.到底什么是FinFET?它的作用是什么?为什么让这么多国际大厂趋 之若骛呢? 什么是FET? FET的全名是"场效电晶体(Field Effect Transistor,

两分钟彻底让你明白Android Activity生命周期(图文)!

首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的): Activity其实是继承了ApplicationContext这个类,我们可以重写以下方法,如下代码: 1 public class Activity extends ApplicationContext { 2         protected void onCreate(Bundle savedInstanceState);        3       

五分钟一个设计模式之装饰器模式

五分钟一个设计模式,用最简单的方法来描述设计模式.查看更多设计模式,请点击五分钟一个设计模式系列 http://blog.csdn.net/daguanjia11/article/category/3259443 示例代码 今天实在是想不出什么开场白来引出示例了,也想不出特别有意思的示例了,就用一个很土的例子来描述一下装饰器模式吧. 每个人都要穿衣服,每件衣服都具有某些特定的功能,例如,穿上鞋子的话走路舒服,穿上上衣的话上身不冷,穿上裤子的话腿不冷(你这不废话吗).也就是说,每件衣服都具有特定的

(转载) 在服务器上排除问题的头五分钟

在服务器上排除问题的头五分钟 2014/08/07 · IT技术 · 3 评论 · 服务器, 系统管理员 分享到: 94 百度地图在Android中的使用 Android图像处理-打造美图秀秀从它开始 Android属性动画赏析 Android-多平台分享(新浪微博) 本文由 伯乐在线 - 老码农 翻译,黄利民 校稿.未经许可,禁止转载!英文出处:devo.ps.欢迎加入翻译组. 我们团队为上一家公司承担运维.优化和扩展工作的时候,我们碰到了各种不同规模的性能很差的系统和基础设备(大型系统居多,

Org-mode五分钟教程ZZZ

Table of Contents 1 源起 2 简介 2.1 获取 org-mode 2.2 安装 3 基础用法 3.1 创建一个新文件 3.2 简单的任务列表 3.3 使用标题组织一篇文章 3.4 展开段落 3.5 使用链接 3.6 浏览文章 3.7 给任务添加说明 4 高级功能简述 4.1 设置 4.2 全局 TODO 列表 4.3 计划任务和日程表 5 再会 6 后记 1 源起 最近在学习 Emacs 的一些高级用法,在学习到了 org-mode,看到了官方网站上的这篇 David O'

五个案例让你明白GCD死锁

五个案例让你明白GCD死锁 作者:brighttj(@saitjr 网址:http://www.brighttj.com/ios/ios-gcd-deadlock.html 死锁一直都是在使用多线程时,需要注意的一个问题.以前对同步.异步,串行.并行只有一个模糊的概念,想想也是时候整理一下了.再看看之前的博客,已经很久没有干货了[说得好像之前有干货一样],所以,这篇博客,我尽最大努力,也借鉴了很多其他博客中的例子,来讲解GCD死锁问题. 环境信息: Mac OS X 10.10.5 Xcode

设计模式Adapter模式的五分钟

五分钟一个设计模式.来形容叙述的设计模式的最简单方法.看到许多其他设计模式,请点击五分钟一个设计模式系列 http://blog.csdn.net/daguanjia11/article/category/3259443 认识适配器模式 适配器模式的定义是:将一个类的接口转换成client希望的另外一个接口. 适配器模式使得原本因为接口不兼容而不能一起工作的那些类能够一起工作. 适配器模式的主要功能是转换接口,目的是复用已有功能.而不是实现新接口,适用于功能实现了但接口不兼容的场合. 适配器组合

Angular2的五分钟入门在Windows下的实现

Angular2的五分钟入门在Windows下的实现 官网提供的是在linux的步骤,而实际直接拿这些步骤在windows下也可以实现,但唯一就是无法 --watch TypeScript文件,那就是扯蛋,改一下代码就要重新编译,谁受得了. 那么我来尝试一下直接使用Gulp来搭建. 一.创建项目 虽然Angular2允许我们使用TypeScript.Dart.ES5.ES6来写代码,但是出于Angular2也拥抱TypeScript,那么变成我们唯一最好的选择也是TypeScript. 首先创建

[分享] 史上最简单的封装教程,五分钟学会封装系统(以封装Windows 7为例)

踏雁寻花 发表于 2015-8-23 23:31:28 https://www.itsk.com/thread-355923-1-4.html 学会封装,只需要掌握十个步骤.五分钟包你学会,不会不交学费~ 适合人群: 1.会装系统 2.了解PE的使用 3.对注册表有初步的了解 所需工具: 1.Windows系统镜像 2.PE(可以放到U盘,如果使用虚拟机封装系统,直接下载PE镜像即可) 3.磁盘清理工具(如Windows7瘦身工具.自由天空系统清理&减肥程序.注册表减肥工具等) 4.驱动包(如万