1、 本 科 毕 业 论 文 基于 J2EE的工作流引擎的 设计与实现 - 数据 持久层 Research and Implementation of Persistence Layer of a J2EE-based Workflow Engine 姓 名: 学 号: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 指导教师: 年 月 摘 要 在市场竞争日趋激烈的情况下 ,企业纷纷建立办公信息系统来辅助业务活动,以期提高企业工作效率 ,改善企业经营管理水平 ,降低企业生产成本,加快企业反应速度 ,从而在竟争中占得先机。但是,传统的企业信息系统多以数据为中心,主要着眼于提高个人的工作效
2、率,而对企业内需要多人或多个部门协作完成的业务过程的支持不足,因此对提高企业整体的生产效率的作用有限。工作流技术正是从通过提高企业整体协作效率来提高企业生产效率的角度出 发,以企业业务过程为核心,不仅提供对业务过程中的单个活动的支持,而且对活动之间的联系提供自动化或半自动化的支持。 在基于 J2EE的工作流引擎中,数据持久层负责存储从应用到数据库的数据,也负责数据的检索、更新和删除,因此持久层的解决方案是整个系统的关键所在。目前,对持久层的实现存在多种解决方案,例如 JDBC、 EJB、 ODBMS以及 ORM等。在这些方案中直接使用 JDBC运行效率最高,但 DAO对象和 SQL语言耦合太过
3、紧密 ;EJB的功能强大 ,但使用复杂且不够灵活 ODBMS和 JDO是两种有发展前景的技术 ,但目前都还处 在不成熟阶段。 ORM是一种较为理想的解决方案。在众多的 ORM工具中 Hibernate是免费而且开源的,并且有丰富的文档和稳定的开发背景,因此本文提出利用 Hibernate实现物工作流引擎的持久层的解决方案。 关键字 :工作流引擎;持久层; HibernateAbstract With increasing competition in the market, the enterprises have set up office information systems to su
4、pport operational activities with a view to improving the efficiency of enterprises, improve the level of enterprise management, reduce production costs and speed up the reaction rate enterprises, which account for the competition must first machine. However, traditional enterprise information syste
5、ms and more data-centric, the main focus on improving the efficiency of individuals, enterprises need to collaborate more than the completion of a number of departments or the lack of support of business processes, and therefore improve the overall productivity limited role. Workflow technology is f
6、rom a collaboration by improving the overall efficiency of enterprises, to enterprises as the core business processes, not only to provide a single course of business support activities, but also the links between activities to provide automated or semi-automatic support. In a J2EE-based workflow en
7、gine, data persistence layer is responsible for storage to the database from the application of the data, is also responsible for data retrieval, update and delete, so persistence layer solution is the key to the whole system. ORM tools in Java objects and mapping between database tables in order to
8、 form a relatively independent object persistence layer, thereby reducing the J2EE applications and database coupling and simplify the development process. In many ORM tool Hibernate is free and open source, and has a wealth of documents and the development of a stable background, this paper propose
9、d the use of Hibernate objects workflow engine to achieve a lasting solution layer. Key words:Workflow Engine;Persistance Layer;Hibernate 目 录 第一章 绪论 . 1 1.1 项目背景 . 1 1.2 选题意义 . 1 1.3 项目分工 . 1 1.4 本文结构 . 2 第二章 工作流引擎简介 . 3 2.1 工作流概念 . 3 2.2 工作流引擎概念 . 3 2.3 工作流引擎研究现状 . 4 2.4 本章小结 . 4 第三章 工作流引擎总体设计 . 6
10、3.1 系统模块设计 . 6 3.2 领域模型设计 . 7 3.2.1 系统用例图 . 7 3.2.2 系统包图 . 8 3.2.3 整体流程图 . 9 3.3 本章小结 . 10 第四章 持久层相关技术 . 12 4.1 ORM 组件 . 12 4.1.1 ORM 概念 . 12 4.1.2 ORM 组件 . 12 4.2 HIBERNATE 简介 . 14 4.2.1 持久化类 . 14 4.2.2 集合类映射 . 16 4.3 对象 /关系数据库映射 . 17 4.4 关联关系映射 . 23 4.4.1 多对一的单向关联 . 23 4.4.2 一对一的单向关联 . 24 4.4.3 一对
11、多的单向关联 . 24 4.5 本章小结 . 25 第五章 数据持久层的详细设计 . 26 5.1 总体设计 . 26 5.2 数据模型设计 . 26 5.2.1 数据模型图 . 26 5.2.2 用户表( User) . 28 5.2.3 消息表( Message) . 28 5.2.4 自定义流程表( IProcess) . 29 5.2.5 表单表( Sheet) . 29 5.2.6 自定义表单表( Isheet) . 30 5.2.7 自定义流程步骤( Iprocess_step) . 30 5.2.8 表单项表( Sheet_item) . 31 5.2.9 流程表( User)
12、. 31 5.2.10 流程步骤表( Process_step) . 32 5.2.11 自定义表单项表( Isheet_item) . 32 5.3 本章小结 . 33 第六章 数据持久层的实现 . 34 6.1 持久化数据的实现 . 34 6.1.1 DAO 层设计描述 . 34 6.1.2 com.yp.bus.UserDAO 类: . 34 6.1.3 com.yp.bus.SheetDAO 类 . 35 6.1.4 com.yp.bus.ProcessDAO 类 . 35 6.2 安全性的实现 . 36 6.3 本章小结 . 36 第七章 总结 . 37 参考文献 . 38 致谢 .
13、 39 CONTENT CHAPTER 1 INTRO . 1 1.1 BACKGROUND . 1 1.2 GOAL . 1 1.3 WORK DIVISION . 1 1.4 PAPER STRUCTURE. 2 CHAPTER 2 WORKFLOW ENGINE . 3 2.1 WORKFLOW . 3 2.2 WORKFLOW ENGINE . 3 2.3 CURRENT STUDY . 4 2.4 CHAPTER CONCLUSION. 4 CHAPTER 3 OVERALL DESIGN . 6 3.1 SYSTEM MODULE DESIGN . 6 3.2 DOMAIN MOD
14、EL DESIGN . 7 3.2.1 system usage diagram . 7 3.2.2 system package diagram . 8 3.2.3 overall circuit . 9 3.3 CHAPTER CONCLUSION. 10 CHAPTER 4 PERSISTENCE LAYER . 12 4.1 ORM COMPONENT . 12 4.1.1 ORM. 12 4.1.2 ORMcomponent. 12 4.2 HIBERNATE INTRO. 14 4.2.1 persistence class . 14 4.2.2 collection class
15、mapping . 16 4.3 O/R DATABASE MAPPING . 17 4.4 CORRELATIONSHIP MAPPING . 23 4.4.1 many-to-one mapping . 23 4.4.2 one-to-one mapping . 24 4.4.3 one-to-ma ny mapping . 24 4.5 CHAPTER CONCLUSION. 25 CHAPTER 5 PL DESIGN . 26 5.1 OVERALL DES IGN . 26 5.2 DATA MODEL DES IGN . 26 5.2.1 Data model diagram .
16、 26 5.2.2 User table . 28 5.2.3 Message table . 28 5.2.4 Iprocess table. 29 5.2.5 Sheet table . 29 5.2.6 Isheet table . 30 5.2.7 Iprocess_step table . 30 5.2.8 Sheet_item table . 31 5.2.9 User table . 31 5.2.10 Process_step table . 32 5.2.11 Isheet_item table . 32 5.3 CHAPTER CONCLUSION. 33 CHAPTER
17、6 DPL IMPLEMENTATION . 34 6.1 DATA PERSISTENCE IMPLEMENTATION. 34 6.1.1 DAO layer design. 34 6.1.2 com.yp.bus.UserDAO class . 34 6.1.3 com.yp.bus.SheetDAO class . 35 6.1.4 com.yp.bus.ProcessDAO class . 35 6.2 SAFETY . 36 6.3 CHAPTER CONCLUSION. 36 CHAPTER 7 CONCLUSION . 37 REFERRENCE . 38 ACKNOWLEDGEMENT. 39 厦门大学本科毕业论文 1 第一章 绪论 1.1 项目背景 电子商务阶段初期,企业通过引进不同领域的专业软件来完成各个部门的不同任务。例如,财务部门通过财务软件来规范财务人员