Fire Workflow的定位
我从来不认为工作流可以“自定义”,所以Fire Workflow是面向开发人员的。Fire Workflow和Spring、Hibernate一样,是一个或几个普普通通的jar包,嵌入到系统中,用以解决系统开发中工作流领域的问题。
因为Fire Workflow是面向开发人员的,所以在下面两个方面花了较大功夫。
流程设计器。Fire Workflow用于帮助开发人员解决系统中的流程问题,所以好的流程设计器有助于开发人员提高开发效率。Fire Workflow设计器和主流IDE紧密集成(目前有Eclipse插件和NetBeans插件),使得开发人员开发调试流程就像开发调试一个普通java类一样简单。
工作流引擎。Fire Workflow引擎设计充分考虑扩展性,因为业务系统的需求五花八门,所以一个写的很死的引擎必然没有生命力。Fire Workflow引擎的各种服务都可以扩展或者替换。
Fire Workflow虽然不认可流程“自定义”需求,但是并不否认用户有调整业已存在的流程的需求,而且这种需求还比较普遍。所以Fire Workflow计划提供Web界面,让最终用户的系统管理员在一定范围内调整流程。
Fireflow的特点
理论严密
Fire Workflow以Petri Net作为理论基础,流程的顺序流转、分支、汇聚、跳转等算法都有定义/定理为依据。
设计合理
Fire workflow将工作流引擎的职责分解委派到各种服务中,每中服务都可以被扩展或者替换。
应用简单
Fire workflow的API以及数据库表结构非常简单。
性能优良
Fire workflow着重在流程实例的数据量,数据库IO等方面进行性能优化。
Fireflow的构成
Fire Workflow由模型、引擎、设计器(包含模拟器)三部分组成。
模型部分规定了流程定义文件的各种元素及其相互关系,例如流程(WorkflowProcess)、活动(Activity)、转移(Transition)、开始节点(StartNode)、结束节点(EndNode)、同步器(Synchronizer)。模型部分的实现在org-fireflow-model.jar中。
引擎读取流程定义文件并解释执行。引擎提供一组对象和相关的API供外部系统调用,如流程实例(ProcessInstance)、任务实例(TaskInstance)、工单(WorkItem)、事件等等。引擎部分的实现在org-fireflow-engine.jar中。
设计器编辑并输出流程定义文件。Fire Workflow的设计器附带了强大的模拟器,可以在设计时模拟流程的执行,从而检查流程定义的正确性。
此处附带解释一下我的一个观点:我认为,流程定义文件和java文件一样,是应用系统源代码的一部分。因此,流程设计器做成了当前流行的IDE的插件,便于开发人员进行流程开发。而且每个流程单独一个定义文件,就像每个java类在通常情况下单独一个文件一样
一、基础
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、说明:删除新表
drop table tabname
6、说明:增加一个列
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键: Alter table tabname add primary key(col)
说明:删除主键: Alter table tabname drop primary key(col)
8、说明:创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:create view viewname as select statement
删除视图:drop view viewname
10、说明:几个简单的基本的sql语句
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
Fire Workflow的定位
我从来不认为工作流可以“自定义”,所以Fire Workflow是面向开发人员的。Fire Workflow和Spring、Hibernate一样,是一个或几个普普通通的jar包,嵌入到系统中,用以解决系统开发中工作流领域的问题。
因为Fire Workflow是面向开发人员的,所以在下面两个方面花了较大功夫。
流程设计器。Fire Workflow用于帮助开发人员解决系统中的流程问题,所以好的流程设计器有助于开发人员提高开发效率。Fire Workflow设计器和主流IDE紧密集成(目前有Eclipse插件和NetBeans插件),使得开发人员开发调试流程就像开发调试一个普通java类一样简单。
工作流引擎。Fire Workflow引擎设计充分考虑扩展性,因为业务系统的需求五花八门,所以一个写的很死的引擎必然没有生命力。Fire Workflow引擎的各种服务都可以扩展或者替换。
Fire Workflow虽然不认可流程“自定义”需求,但是并不否认用户有调整业已存在的流程的需求,而且这种需求还比较普遍。所以Fire Workflow计划提供Web界面,让最终用户的系统管理员在一定范围内调整流程。
Fireflow的特点
理论严密
Fire Workflow以Petri Net作为理论基础,流程的顺序流转、分支、汇聚、跳转等算法都有定义/定理为依据。
设计合理
Fire workflow将工作流引擎的职责分解委派到各种服务中,每中服务都可以被扩展或者替换。
应用简单
Fire workflow的API以及数据库表结构非常简单。
性能优良
Fire workflow着重在流程实例的数据量,数据库IO等方面进行性能优化。
Fireflow的构成
Fire Workflow由模型、引擎、设计器(包含模拟器)三部分组成。
模型部分规定了流程定义文件的各种元素及其相互关系,例如流程(WorkflowProcess)、活动(Activity)、转移(Transition)、开始节点(StartNode)、结束节点(EndNode)、同步器(Synchronizer)。模型部分的实现在org-fireflow-model.jar中。
引擎读取流程定义文件并解释执行。引擎提供一组对象和相关的API供外部系统调用,如流程实例(ProcessInstance)、任务实例(TaskInstance)、工单(WorkItem)、事件等等。引擎部分的实现在org-fireflow-engine.jar中。
设计器编辑并输出流程定义文件。Fire Workflow的设计器附带了强大的模拟器,可以在设计时模拟流程的执行,从而检查流程定义的正确性。
此处附带解释一下我的一个观点:我认为,流程定义文件和java文件一样,是应用系统源代码的一部分。因此,流程设计器做成了当前流行的IDE的插件,便于开发人员进行流程开发。而且每个流程单独一个定义文件,就像每个java类在通常情况下单独一个文件一样