使用silverlight构建一个工作流设计器(十六)-持久化数据到数据库—数据库结构

源代码下载:http://www.shareidea.net/opensource.htm

在线演示:http://www.shareidea.net/workflow.htm

视频教程: http://www.shareidea.net/video/sharedesigner/sharedesigner.html

QQ群:85444465 

如果您方便,请参与下面的调查,支持sharedesigner发展: 打开调查页面

本文系列索引: 

使用silverlight构建一个工作流设计器(一)

使用silverlight构建一个工作流设计器(二)

使用silverlight构建一个工作流设计器(三)

使用silverlight构建一个工作流设计器(四)

使用silverlight构建一个工作流设计器(五)

使用silverlight构建一个工作流设计器(六)

使用silverlight构建一个工作流设计器(七)

使用silverlight构建一个工作流设计器(八)

使用silverlight构建一个工作流设计器(九)

使用silverlight构建一个工作流设计器(十)  

使用silverlight构建一个工作流设计器(十一)  

使用silverlight构建一个工作流设计器(十二)  

使用silverlight构建一个工作流设计器(十三)  

使用silverlight构建一个工作流设计器(十四)  

使用silverlight构建一个工作流设计器(十五)    

使用silverlight构建一个工作流设计器(十六) 

一些小的修改:

l         增加对Ctrl +Y(重复) 的支持

l         修改删除对象后右键菜单的bug

l         修改多文化支持的一些bug

 

16.1 数据结构

 

目前的流程信息没有保存到任何一个可持久化的环境中,根据网友建议,增加存储工作流xml文件的功能。这个功能使用数据库来实现,您也可以有更多的持久化方式。

根据工作流引擎的实现不同,有些引擎只需要xml文件配置就可以了,有些引擎需要建立数据库的模型。在本文中,假设工作流引擎是跟数据库相关的。

 

整个持久化流程是这样的:

 

l         从使用webservices从服务器下载相应的流程xml描述(或者新建一个流程)

l         在客户端使用流程设计器进行流程设计或者修改,此时任何修改都在本地完成

l         在用户点击保存按钮以后,根据当前流程生成对应的xml字符串,通过webservices上传到服务器。

l         在服务器分析xml文件,并将相应的数据更新到数据库

 

首先需要定义一些工作流的数据表,这些表包括流程表、活动表、规则表。因为还没有涉及到流程监控,所以暂不考虑工作流实例表。另外为了简化程序,也没有配置活动类型、规则类型等辅助表,而直接在相关的活动和规则表里面设置了相关字段。

 

l         流程表(WorkFlow_Process)

 

字段名称

类型

意义

WorkFlowID

PK,Varchar(50),not null

主键

WorkFlowName

Nvarchar(50),not null

流程名称

WorkFlowXML

Ntext,not null

流程xml描述文件

 

 

 

 

 

 

l         活动表(WorkFlow_Activity) 

字段名称

类型

意义

ActivityID

PK,Varchar(50),not null

主键

ActivityName

Nvarchar(50),not null

活动名称

ActivityType

Varchar(50),not null

活动类型

ProcessID

FK,varchar(50),not null

关联流程ID

 

 

 

l         规则表(WorkFlow_Rule) 

字段名称

类型

意义

RuleID

PK,Varchar(50),not null

主键

RuleName

Nvarchar(50),not null

规则名称

BeginActivityID

FK,Varchar(50), null

关联的启示活动

EndActivityID

FK,varchar(50), null

关联的结束活动

Condition

Nvarchar(1000),null

流转条件

RuleType

Varchar(50),not null

规则类型

 下面的图片显示了这几个表的关系。 

您可以在codeplex下载本程序源代码以及数据库备份文件(sql 2005数据备份文件)

(最近更新没有那么频繁了,见谅。)

你可能感兴趣的:(silverlight)