- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
shark工作流引擎表结构分析
SHARK工作流引擎的表结构
背景:
Shark作为一个满足XPDL规范的开源工作流引擎,由于有JAWE作为定义工具,现有的很多流程表达,接口的定义都比较丰富。在数据库的数据结构表达和代码结构上也有很多优点。
当然,Shark 还是在传统的关系数据库的基础上,提出了一个适用于关键业务开发的基于关系结构的工作流引擎的表结构。
关键词:表结构、工作流引擎、shark、数据结构
数据库表的关系图
Shark中共含有44个表,分别表达不同的数据结构,对应表数据内容和功能的对应关系,分为用户管理、事件管理、包管理、流程流转的控制数据管理等部分。
用户管理
系统的用户和用户组的基本信息
事件管理
在流程运转过程中,针对流程启动和结束,上下文数据,状态数据的改变,任务结束等事件,都记录了变化的前后过程。
包管理
映射表
在流程定义的参与者和系统真正用户之间有对应关系
应用和调用工具类之间的映射
辅助表
流程流转控制数据管理
Shark持久层对表的封装
表一、 shark持久层中对表结构用Hibernate的封装
配置文件分布 描述 含有8个模块 每个模块对应一个*.cfg.xml 文件,
见表二 表对象描述文件 Shark持久层(Hibernate)中,目前含有29个表描述文件(*.hbm.xml)
在上面指定的模块文件(*.cfg.xml)中共指定了17个hbm.xml文件 对于29个 *.hbm.xml中,有17个在启动的时候要加载,其他的12是动态加载
17个*.hbm.xml 自动加载的是一些基础数据 (用户,参与者,应用,事件过程类型等)
12个*.hbm.xml 是一些过程数据(见表三)
表二、模块以及对应的表对象描述文件
模块 含有的表对象描述文件mapping resource=”*.hbm.xml”/
Class的名称前面缺省(com.cs3.workflow.) hibernate.utilities.cfg.xml HibernateUtilities.hbm.xml
class= utilities.hibernate.HibernateCounter
table=counters
hibernate.instance.cfg.xml HibernateEventAudit.hbm.xml
class = eventaudit.HibernateEventAudit
table=eventaudits
HibernateEventType.hbm.xml
class=eventaudit.data.HibernateEventType
table=eventtypes
HibernateActivityStateEventAudit.hbm.xml
class= eventaudit.data.HibernateActivityStateEventAudit
table=activitystateeventaudits
HibernateProcessStateEventAudit.hbm.xml
class = eventaudit.data.HibernateProcessStateEventAudit
table=processstateeventaudits hibernate.repository.cfg.xml HibernateXPDL.hbm.xml
class = repositorypersistence.data.HibernateXPDL
table=xpdls
HibernateNextXPDLVersion.hbm.xml
class= repositorypersistence.data.HibernateNextXPDLVersion
table=nextxpdlversions
HibernateXPDLHistory.hbm.xml
class= repositorypersistence.data.HibernateXPDLHistory
table=xpdlhistory hibernate.user.cfg.xml HibernateGroup.hbm.xml
class= usergroup.HibernateGroup
table=grouptable
HibernateUser.hbm.xml
class= usergroup.HibernateUser
table=usertable hibernate.participantmapping.cfg.xml HibernateParticipant.hbm.xml
class = partmappersistence.dat
文档评论(0)