activity工作流其实很简单

写这篇文章的目的主要是项目组开发第一次使用总结的一点小经验,不足之处打架多多探讨.
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/viphyy/2096003

时间: 2024-10-09 00:34:33

activity工作流其实很简单的相关文章

Android 代码优化:“这个需求很简单,怎么实现我不管”

背景 before: 在我们APP启动过程,我们可能常常有这样的需求:在APP第一次进入的时候根据网络请求的结果弹一个对话框式的广告, ok~ 很简单,那么代码大致就是这样(这边都是伪代码,为了方便理解): @Override protected void onCreate(@Nullable Bundle savedInstanceState) { checkFirstDialogIfNeed(); } /** * step 1 */ private void checkFirstDialog

三分钟了解Activity工作流

一. 什么是工作流 以请假为例,现在大多数公司的请假流程是这样的 员工打电话(或网聊)向上级提出请假申请——上级口头同意——上级将请假记录下来——月底将请假记录上交公司——公司将请假录入电脑 采用工作流技术的公司的请假流程是这样的 员工使用账户登录系统——点击请假——上级登录系统点击允许 就这样,一个请假流程就结束了 有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案是,用的.但是这一切的工作都会在上级点击允许后自动运行! 这就是工作流技术. Georgakopoulos给出的

Activity工作流引擎开发系列

Activity工作流引擎开发系列-01 作者:邓家海 没有伞的孩子,只能光脚奔跑! 前言: 初次接触工作流这个概念是自从2014年11月份开始,当时是由于我的毕业设计需要,还记得当时我毕业设计的题目是<基于BS结构模式的工程管理系统设计与实现--工程计划管理>,里面涉及到一个工程管理的审批.正好我当时12月份出来实习,实习所在的公司所做的OA系统普遍也需要工作流,但是公司项目所用的工作流是CCFLOW,这是一个基于C#的国产开源工作流引擎,但是我毕业设计做的是java,所以从2014年的11

Android Activity的生命周期简单总结

Android Activity的生命周期简单总结 这里的内容参考官方的文档,这篇文章的目的不是去总结Activity是如何启动,如何创造,以及暂停和销毁的,而是从实际开发中分析在Activity各个生命周期,我们应该处理的内容. Activity 各个生命周期 由图可以看出 ,在一个activity的生命周期中,系统会像金字塔模型一样去调用一系列的生命周期回调函数.在最上端是当前Activity的运行状态,也就是说用户彻底看到这个Activity时,Activity正处于onResume()状

自定义控件其实很简单7/12

尊重原创转载请注明:From AigeStudio(http://blog.csdn.net/aigestudio)Power by Aige 侵权必究! 炮兵镇楼 要在数量上统计中国菜的品种,在地域上毫无争议地划分菜系,在今天,是一件几乎不可能完成的事--Cut----抱歉--忘吃药了,再来一遍.如果非要对自定义控件的流程进行一个简单的划分,我会尝试将其分为三大部分:控件的绘制.控件的测量和控件的交互行为.前面我们用了六节的篇幅和一个翻页的例子来对控件的绘制有了一个全新的认识但是我们所做出的所

[转载]了解Activity工作流

一. 什么是工作流 以请假为例,现在大多数公司的请假流程是这样的 员工打电话(或网聊)向上级提出请假申请--上级口头同意--上级将请假记录下来--月底将请假记录上交公司--公司将请假录入电脑 采用工作流技术的公司的请假流程是这样的 员工使用账户登录系统--点击请假--上级登录系统点击允许 就这样,一个请假流程就结束了 有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案是,用的.但是这一切的工作都会在上级点击允许后自动运行! 这就是工作流技术. Georgakopoulos给出的

自定义控件其实很简单1/4

尊重原创转载请注明:From AigeStudio(http://blog.csdn.net/aigestudio)Power by Aige 侵权必究! 炮兵镇楼 上一回关羽操刀怒砍秦桧子龙拼命相救,岂料刘备这狗贼耍赖以张飞为祭品特殊召唤黑暗大法师消灭了场上所有逗逼,霎时间血流成河,鲜红的血液与冰冷的大地融合交汇在一起焕发出血液的煞气……那么,问题来了,请问这是使用了哪种PorterDuffXfermode? 在上一节的最后一个Example中我们做了一个橡皮擦的View,但是这个View虽然

自定义控件其实很简单5/12

尊重原创转载请注明:From AigeStudio(http://blog.csdn.net/aigestudio)Power by Aige 侵权必究! 炮兵镇楼 最近龙体欠安,很多任务都堆着,虽说如此,依然没有停下学习的步伐,虽然偶尔还会有点头痛,但是孤依旧在学习……自赞一个~ 在1/3中我们结束了全部的Paint方法学习还略带地说了下Matri的简单用法,这两节呢,我们将甩掉第二个陌生又熟悉的情妇:Canvas.Canvas从我们该系列教程的第一节起就嘚啵嘚啵个没完没了,几乎每个View都

自定义控件其实很简单3/4

尊重原创转载请注明:From AigeStudio(http://blog.csdn.net/aigestudio)Power by Aige 侵权必究! 炮兵镇楼 隐约雷鸣 阴霾天空 但盼风雨来 能留你在此 隐约雷鸣 阴霾天空 即使天无雨 我亦留此地 上一节我们细致地.猥琐地.小心翼翼地.犹如丝滑般抚摸.啊不,是讲解了如何去测量一个布局控件,再次强调,如我之前多次强调那样,控件的测量必须要逻辑缜密严谨,尽量少地避免出现较大的逻辑错误.在整个系列撰写的过程中,有N^N个朋友曾多次不间断地小窗我问