目前比较常用的是使用JDBC直接访问数据库和使用ORM工具来访问数据库。我们小组选择比较流行的ORM工具-hibernate作为持久层来访问数据库。
1) Java应用访问数据库最直接的方式就是直接访问JDBC API。缺点是:实现业务逻辑的代码和数据库访问代码掺杂在一起,使程序结构不清晰,可维护性和可读性降低;业务逻辑和关系数据模型绑定,如果关系数据模型发生变化,例如修改了user表的结构,那么必须手工改写程序代码中的所有相关的SQL语句,增加了维护软件的难度。
2) 对象关系映射ORM模式指的是在单个组件中负责所有实体域对象的持久化,封装细节。Hibernate作为一种ORM工具,架起了java应用和关系数据库之间的桥梁,负责java对象和关系数据之间的映射。它封装了JDBC API访问数据库操作,向上面一层提供面向对象的数据访问API。这样就克服了直接使用JDBC访问数据库的缺陷,省去了大量JDBC访问数据的编程细节。
ORM充当业务逻辑层和数据库层之间桥梁见图2-7。
域模型(对象、属性、关联、继承和多态)ORM APIORM 实现参照对象关系映射文件(XML)关系数据模型(表、字段、索引、主键和外键)图2-7 ORM充当业务逻辑层和数据库层之间桥梁
Hibernate工作流程图如图2-8所示。
POJO应用程序HibernateAPI连接池数据库JNDI查询语言事务 图2-8 Hibernate的工作流程图
2.6 EISMIS系统的WEB服务器选择
WEB服务器是创建、部署、运行、集成和维护多层分布式企业级应用的平
8
台,它是支持Servlet和JSP的容器。主要的应用服务器包括Tomcat、Resin、JBoss、 WebLogic等。
EISMIS项目的开发选择Tomcat作为服务器。
Tomcat是一个开放源代码、运行Servlet和JSP应用的Web应用软件的容器。它提供了图形化的管理工具,可以很方便地完成对服务器的配置及管理,而且常用的Java集成开发环境(如Jbuilder、Eclipse)都提供了对Tomcat的支持。可以通过集成开发环境开发基于Tomcat的Web应用程序。
2.7 EISMIS系统的软件配置管理(SCM)
软件配置管理对软件开发来说是十分重要的,而配置管理工具的使用是实施配置管理的重要部分。目前较为流行的软件配置管理工具有:VSS,CVS, StarTeam和ClearCase。我们从易用性、功能、安全性和成本四个角度来比较,选择CVS作为我们小型团队开发的软件配置工具。
CVS的系统结构如图2-9所示。
CVS服务器(资源库)版本同步开发者 1开发者 2开发者 3 图2-9 CVS系统结构
CVS版本控制系统进行项目开发的简单流程,如图2-10所示。
开始编码阶段工作在工程中加入源代码启动CVS版本管理系统将新的工程导入到CVS服务器创建工程结束提交修改后的代码修改代码检出代码图2-10 CVS版本控制的项目开发流程
在多人开发的项目中,开发团队的成员共享一个CVS服务器,有着共同的版本库。当项目进行到编码阶段时,首先由项目组的一个成员在自己的计算机上建立一个项目,然后将其提交到CVS服务器上。此时,CVS会在资源库中建立一个模块用于存放该项目。其它开发人员与CVS资源库连接后,向CVS服务器提出获取工程文件的请求,服务器在验明该用户的身份后,会向用户发送工程文件的一个备份,客户端收到这个备份以后会将其存放在本地工作空间中。
9
2.8 EISMIS系统的技术原理
EISMIS采用Struts+Hibernate技术开发,Struts+Hibernate的技术原理如下。 (1) EISMIS系统各层之间业务逻辑关系, 如图2-11所示。
浏览器Struts框架struts-config.xmlWeb服务器(控制器)ActionServlet(视图)JSPActionActionAction(模型)JavaBean(包括持久化类)Hibernate.configuration.xml*.hbm.xml对象关系映射文件Hibernate持久层数据库图2-11 EISMIS五层间的业务逻辑关系
(2) 模型层、持久化层和数据库层之间的逻辑关系,如图2-12。
10
模型层JavaBeanJavaBean其它方法(包括向控制层Action类提供的接口)Query实例化SessionFactory接口Criteria实例化SessionFactory接口Transaction实例化SessionFactory接口其它接口实例化SessionFactory接口SessionFactory实例化Configuration接口Configuration实例化(hibernate.configuration.xml配置文件)POJO持久化类持久层hibernate.configuration.xml对象关系映射文件*.hbm.xml数据库层数据库数据库表
图2-12 模型层、持久化层和数据库层之间的逻辑关系
2.9 EISMIS系统的开发环境
2.9.1 开发环境介绍
本项目采用的开发环境如表2-1。
表2-1开发环境介绍
类别 名 称 操作系统 UML建模工具 软件开发工具 网页设计/发布工具 Web服务器 数据库软件 WEB框架 ORM中间件 软件配置管理 Windows 2000/XP Rational Rose 2003、Visio 2003 Eclipse3.1 DreamWeaver8、UltraEdit10 Tomcat5.0 SQL Server2000 Struts1.1 Hibernate3.0 CVS (Concurrent Versions System 并发版本系统) 11
相关推荐: