1.1 B/S系统开发设计
B/S模式是一种以WEB技术为基础的新型的系统平台架构模式。它把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(WEB服务器),从而构成一个多层结构的客户服务器体系。B/S模式简化了客户端界面、使用通用的浏览器作为客户端程序,用户的操作更简单;能够提供更广泛的访问范围,用户可以位于Intranet/Internet上的任何位置;由于应用程序全部在服务端,软件的更新和维护方便,成本低;客户可以同时访问多个位于不同地方的服务器上的最新数据。目前在很多的交通管理信息系统软件中采用的是多层的B/S模式,按照我们核心业务软件的设计需求,采用多层B/S模式比较适合开发要求。
1.1.1 层次结构和技术体系
下面采用从上到下的设计方式进行系统的层次划分:
1、Web表示层
此层主要是页面和页面跳转控制接口,我们采用的页面技术为WEB2.0规范,Jsp和JSTL,页面跳转控制接口采用SPRING的模型视图方法。这两种技术对于页面的控制具有最优秀的低耦合性。出于项目质量要求和开发进度的考虑,我们打算采用SPRING框架,因为SPRING拥有开发需要的大量组件,更便捷的维护方式以及相当不错的性能。
2、业务逻辑层
这一层考虑为Web表示层提供业务逻辑调用,传统的设计是将大部分的业务模块和业务操作接口直接放置在Web表示层中,我们不打算这样做,因为这样就意味着所有的开发工作量都会集中在Web表示层的开发中,而且一旦将Web逻辑和业务逻辑混淆,不利于系统的开发和部署。为了降低系统的耦合性,增强系统的可移植性,我们将所有的业务操作接口和业务对象都放置在这一层。此层使用到的技术比较简单,对于业务对象我们采用Java Bean技术,业务操作接口采用Java Interface和Java Class,同时这一层中也可以考虑使用一些Patterns(设计模式),如Factory(类工厂)、Singleton(单态)、Façade(外观)等设计模式。
3、数据持久层
我们采用的是SPRING框架的JDBC模板组件。它在性能是明显高于Hibernate,同时,利用类的反射机制,JDBC模板操作数据库要比Hibernate还为方便。
以下描述了整个系统的层次结构和技术体系:
层次结构和技术体系
1.1.2 开发工具
1.1.2.1 开发语言
l 使用Java语言
l 界面开发使用Java、Jsp、JavaScript、Html语言
l 数据库访问语言统一使用SQL语言
1.1.2.2 开发环境
l Web界面开发环境采用Eclipse
l WEB部署工具采用IBM Websphere 5.1
l 开发容器::TOMCAT 5.0
l JDK采用J2SDK 1.4.2
l 数据库软件使用Oracle 9i Enterprise Database
(
10.2.44
.52:ticdbms)
jcbk/jcbk
l 版本控制工具采用CVS
1.1.3 命名规范
ID | 规范类别 | 内容 | 备注 |
1 | Java项目结构 | l 项目前缀为com.ht.jcbk l 严格按三层划分ctrl-service-dao建议为: n Web控制层:ctrl目录,命名以Ctrl结尾 n Bean:bean目录,命名以表名 n 服务层接口:service目录,命名以Manager结尾 n 服务层实现:service.impl目录,命名以ManagerImpl结尾 n DAO接口:dao目录,命名以Dao结尾 n DAO接口的实现:dao.jdbc目录,命名以DaoJdbc结尾 n 其它工具类:util目录 n 所有的类名,建议采用英文单词首字母大写,遵循Java命名规范 l 在上述结构中,以表的操作为贯穿。 l 表现层使用Jsp实现,建议: n 使用WEB2.0规范来美化/简化页面 n /theme:图片样式主题包目录 n /js:公用类javascript目录 n /ActiveX: 控件存放目录 l Jsp页面命名建议使用小写,详细页以Edit结尾,列表以List结尾。 |
|
2 | Java接口/类命名规范 | l 业务层:XxxManager(class) l 数据层:XxxDao(interface) |
|
3 | Jsp页面规范 | 页面面版 <div id="panel" style="display:none"> <div id="paneltitle"></div> 内容 </div>
查询条件面板 <div id="query"> <div id="querytitle"></div> 内容 </div>
查询列表面板 <div id="result"> <div id="resulttitle"></div> 内容 </div> |
|
1.1.4 目录结构规范
1.1.4.1 Spring框架的JAVA目录:
Web控制层:com.ht.jcbk.ctrl
Bean:com.ht. jcbk.bean
服务层接口:com.ht. jcbk.service
服务层实现:com.ht. jcbk.service.impl
DAO接口:com.ht. jcbk.dao
DAO接口的实现:com.ht. jcbk.dao.jdbc
其它工具类:com.ht. jcbk.util
其中:
1,BEAN为JAVA的各种组件,一般以表结构对应形式存在。
2,CTRL为页面控制类,多为对页面的控制和转发。
3,SERVICE和IMPL为业务层。主要为业务的代码。
4,DAO和JDBC为数据层,主要为数据库事务操作的最小化单位。
5,UTIL里为项目的基本类和通用类。
具体示例:
1.1.4.2 Spring框架的WEB目录
web/js:JAVASCRIPT目录,主要是各种JS校验和组件。通用校验放于common.js中。
web/theme:主题包目录。主题包在该目录下以文件夹目录形式存在,每个文件夹包含一个同名的CSS和JS文件用于基本HTML控制。
web/WEB-INF/configuration:Spring的XML配置文件。
web/WEB-INF/jsp:JSP页面目录夹。
web/WEB-INF/lib:JAVA的包目录。
具体示例: