我也工作流(一)-OSWORKFLOW的介绍

来源:互联网 发布:淘宝商品拍摄就业缺口 编辑:程序博客网 时间:2024/04/27 21:11

前记

    OSWORKFLOW因其极大的灵活性而在工作流系统中独树一帜。这段时间以来看到越来越多的人开始关注它,甚至出现了迁移到.net的工作流系统,对于.net程序员来说,这是一个十分可喜的现象。我也是OSWORKFLOW的初学者,在这里将把看到的关于OSWORKFLOW的文章登录出来,或者做一些连接或转贴。自己所写的文字大都翻译于OSWORKFLOW的英文文档,介于英语水平有限且对工作流了解不深,可能会出现很多错误,请发现者指正,并与广大初学者共勉。

OSWORKFLOW的简介

    不管是在商业上,还是在开源世界中,OSWorkflow都与其他的工作流系统有很大的不同。什么使OSWorkflow如此不同呢?那就是它非常的灵活。然而,这一开始比较难于掌握。例如,OSWorkflow不要求使用图形工具来开发工作流,推荐的方法是手工写xml形式的工作流描述符。像现有的代码和数据库一样,提供这种一体化的东西是应用开发者的责任。这对那些寻找即插即用的工作流解决方案的人来说可能是个问题,但是我们发现,在一个成熟的应用中,这样的解决方案从不能提供足够的灵活性来适应所有的需求。

OSWorkflow给了你这样的灵活性

    OSWorkflow可以被称为是一个“低层”的工作流执行机。像在其他工作流系统中可以用图标表示的“循环(loops)”、“条件(conditions)”这样的情形,在OSWorkflow中都必须“编代码”。这并不是说需要实际的代码来实现这些情形,但是需要一种脚本来具体说明这些条件(conditions)。我们不希望非技术人员来修改工作流。我们发现,虽然一些系统提供供简单编辑工作流的图形用户界面,但当作了这样的改动的时候,工作流的应用程序环境通常遭到显著的破坏。我们相信,由一位能够意识到各种改变的开发者来做这些改动是最好的。曾经说过,最新版本将提供一个帮助编辑工作流的图形设计工具。

    OSWorkflow完全基于有限状态机(finite state machine)的概念。每一个state(状态)都使用一个step ID(步骤ID)和一个status(状态)共同描述。如果事先没有一个action(动作)发生,一个state不能变迁到另一个state。在一个工作流的生命周期中,至少有一个或以上的active states存在。这些简单的概念正是OSWorkflow engine的核心所展现出来的,并可以把一个简单的xml文件转变成事务工作流进程(business workflow processes)。

原创粉丝点击