单点登录统一内部应用门户程序员开发手册.docx
《单点登录统一内部应用门户程序员开发手册.docx》由会员分享,可在线阅读,更多相关《单点登录统一内部应用门户程序员开发手册.docx(23页珍藏版)》请在冰豆网上搜索。
单点登录统一内部应用门户程序员开发手册
信息中心总集成及公共服务建设项目
统一内部应用门户
程序员开发手册
(V1.1)
目录
1引言4
1.1编制目的4
1.2引用文档4
2系统目标5
3开发环境使用说明5
3.1开发软件说明5
3.2源码管理地址6
3.3源码目录说明6
3.3.1JAVA目录存储规范6
3.3.2JAVA代码目录8
3.3.3JAVA配置文件目录8
3.3.4WEB目录存储规范9
4测试环境使用说明9
5编码规范及相应的流程10
5.1总体规范10
5.1.1网页页面文件命名规范10
5.1.2JAVAPACKAGE的命名及层次结构规范10
5.1.3JAVA层次结构的规范11
5.1.4JAVA文件命名规范12
5.1.5VIEW层类的命名规范12
5.1.6SERVICE层的命名规范12
5.1.7DAO层的命名规范13
5.1.8Entity层Pojo类的命名规范13
5.1.9Helper类的命名规范13
5.1.10基础类的命名规范14
5.1.11自定义标签命名规范14
5.1.12属性配置文件的命名规范14
5.1.13数据库脚本的命名规范14
5.1.14JAVA注释规范14
5.2WEB前端开发规范16
5.2.1基本准则16
5.2.2文件规范16
5.2.3HTML书写规范17
5.2.4CSS书写规范18
5.2.5JAVASCRIPT书写规范20
5.2.6图片规范21
5.2.7注释规范21
5.2.8开发工具及测试工具规范22
5.2.9其他规范22
6其它22
1引言
1.1编制目的
本文档用来描述统一内部应用门户程序开发注意事项和流程步骤。
文档以实际实现的用户功能开发为基础,描述功能开发的具体流程和环境。
本文档的预期读者为:
1.程序开发人员。
2.程序维护人员。
3.系统实施人员。
1.2引用文档
表1.1引用文档表
编号
标题
修订版本
日期
1
《GZIT2011-ZB0628NM市劳动保障信息中心广州市劳动保障总集成及公共服务2011年建设项目招标书》
V1.0
2011.11
2
《统一内部应用门户设计方案》
V2.0
2012.09
3
《统一内部应用门户需求规格说明书V2.0》
V2.0
2012.08
4
《统一内部应用门户概要设计说明书V2.0》
V2.0
2012.10
5
《统一内部应用门户详细设计说明书V2.0》
V2.0
2012.11
6
《统一内部应用门户数据库设计说明书V2.0》
V2.0
2012.12
7
《开发规范_120601V0.9》
V1.0
2012.9
8
《NM市失业金项目总体设计细化总册_120701V0.9》
V1.0
2012.9
9
《UML2.0andUnifiedProcess》
V1.0
10
《SOA服务设计原则》
V1.0
2系统目标
统一内部应用门户主要实现以下目标:
集成单点登录,实现多业务系统单点登录,无缝切换
统一管理组织机构和人员。
实现多业务系统统一人员和组织机构。
统一权限管理,控制组织机构和人员对业务系统的访问权限。
统一内部应用门户,实现一站式办公。
3开发环境使用说明
2
3
3.1开发软件说明
表3.1开发软件说明表
序号
软件名称
版本
1
JAVA
6.5
2
ApacheTomcat
6.0
3
MyEclipse
6.5
4
Oracle
11g
5
PL/SQL
11
6
TortoiseSVN
1.6.5
7
soapUI
3.6
8
SybasePowerDesigner
15.1
9
IE
8.0
10
360安全浏览器
6
11
IBMRationalAppScan
7.8
12
QCExplorer
9.0
13
SmartPrinter
4.1
14
cuteftppro
8.3
15
FoxMail
7.0
3.2源码管理地址
统一内部应用门户的SVN源码管理地址为:
http:
//192.168.131.211:
8802/cxzx/SBZB1203019A_portal/
3.3源码目录说明
3.3.1JAVA目录存储规范
JAVA目录分为两部分,一部分是JAVA的代码和JAVA配置文件目录,配置文件目录又分为模块局部配置目录和公用配置目录,如下图所示,下面来分别阐述:
图3.1JAVA目录存储规范
图3.2JAVA根目录存储规范
3.3.2JAVA代码目录
3.3.3JAVA配置文件目录
JAVA配置文件目录主要存储相关配置文件,配置文件主要有*.xml和*.properties两种。
1.模块局部配置目录:
主要存放模块相关配置的文件,主要有mybatis的相关配置XML文件,这些配置文件使用范围在模块级别,不涉及公用部分,为了发布及整合不产生冲突,故单独列出相关目录。
Java代码目录主要存储JAVA类文件,这里主要列出目录结构:
src/:
存放底层基本工具类文件。
Org_src/:
存放扩展的组织机构管理源码文件。
Portal_src/:
存放统一门户相关功能的类文件。
Portalserver_src/:
存放后台管理模块的类文件。
Struts_src/:
存放框架代码的类文件。
2.公用配置目录:
主要存放模块相关配置的文件,作用范围是全部,公用部分,一般情况下不会对它进行调整。
1)/WEB-INF/config:
存放后台管理功能模块相关配置公共文件。
2)/WEB-INF/:
存放业务功能模块相关配置公共文件。
3.3.4WEB目录存储规范
在WEB-INF目录下面,主要包括以下主要目录:
1)Config:
存放后台管理相关配置文件等。
2)Default:
存放业务模块相关启动文件。
3)lib:
存放类库文件。
4)images:
存放系统公共的图片文件。
5)js:
存放系统公共的JAVASCRIPT文件。
6)styles:
存放系统公共的CSS样式文件。
7)themes:
存放第三方插件,如JQUERY相关插件存放在此目录下。
注:
/WEB-INF下面的文件是受保护的文件,存放到此目录下的文件安全性都较高,不易被截取。
4测试环境使用说明
统一内部应用门户的应用包部署在测试环境(IP:
10.147.166.87)。
Weblogic部署地址:
http:
//10.147.166.87:
9101/console/login/LoginForm.jsp
用户名:
weblogic,密码welcome。
SSH操作系统登陆账号:
weblogic,密码gzsiweblogictemp。
系统部署路径:
/app/Oracle/Middleware/user_projects/domains/wc_domain/applications/
访问地址:
http:
//10.147.166.87:
9001/ecdomain
5编码规范及相应的流程
5.1总体规范
5.1.1网页页面文件命名规范
页面文件的命名是由小写英文字码,下划线,数字组成(因为采用Freemarker模板引挚做动态页面的视图输出,动态页面的扩展名为*.xhmtl),如user_list.html、index.xhtml、index_cn.xhtml等;
页面文件最好以英文单词组成,以便提高文件的可读性;例如:
permission_list.xhtml。
对于一个模块的操作页面,以模块名+下划线+动词组成,例如:
permission_list.xhtml。
对于有些模块使用英文单词命名比较麻烦的,在不得已的情况下,可以使用拼音的简写来进行命名。
5.1.2JAVAPACKAGE的命名及层次结构规范
JAVAPACKAGE的命名及层次结构规范如下:
1)包的命名必须有意义;包名必须以com.neusoft开头。
2)com.neusoft.base包存放着基础平台底层相关功能的代码,项目组开发人员不得修改。
3)项目组开发出更加通用的组件,通知项目负责人或系统架构师,经开发讨论后,将新的构件加入到com.neusoft.base包当中。
4)com.neusoft.portalserver包存放着后台管理相关的功能代码。
5)com.neusoft.portal包存放着业务相关的功能代码。
6)后台管理相关功能包(com.neusoft.base)的命名大致如下:
a)mon存放对于后台管理功能比较公用的基类和帮助类。
b)com.neusoft.base.dataadapter存放第三方系统适配器后台管理的相关代码,比如对第方适配器的分类管理,适配器发布及列表管理等。
c)com.neusoft.base.email存放关于邮件相关配置的功能代码。
d)com.neusoft.base.flow存放关于工作流相关配置的功能代码。
e)com.neusoft.base.log存放关于日志相关配置的功能代码。
f)com.neusoft.base.portal存放关于自定义门户相关配置的功能代码。
g)com.neusoft.base.sms存放关于短信相关配置的功能代码。
h)com.neusoft.base.upload存放关于上传下载相关配置的功能代码。
i)com.neusoft.base.userandpermissions存放关于用户权限管理相关配置的功能代码。
j)com.neusoft.base.others存放其它相关配置的功能代码。
7)业务相关功能包(com.neusoft.portal)的命名大致如下:
a)com.neusoft.portal.im2存放关于就业中心相关业务功能代码,其下包含五个子包,分别是:
b)dao:
数据访问层,主要存放关于访问网办数据库相关的代码。
c)entity:
存放POJO实体相关代码,实体必须序列化,以满足集群环境的要求。
d)service:
业务层,存放业务相关的逻辑代码。
e)view:
视图层,页面的跳转控制,页面视图的渲染。
5.1.3 JAVA层次结构的规范
JAVA层次结构的规范包括如下:
1)Freemarker模板页面只负责页面的展现,理论上不允许任何业务逻辑代码存放在*.xhtml文件当中。
2)view层负责处理页面的请求信息,页面跳转逻辑和页面数据的渲染,不能将复杂的业务逻辑放在该层。
3)业务层(service)负责业务信息的处理,并调用业务层的对象。
4)业务层抛出AppBusinessException。
5)不允许在业务层操作直接操作数据库的Session。
6)不允许在业务层传递SQL到DAO层。
7)DAO层负责数据库的操作。
8)DAO层抛出AppDaoException。
基础平台的异常主要有需要处理的异常(基类BaseException)和不需要处理的异常(基类AppTimeException):
a)需要处理的异常(基类BaseException)根据业务需要自行继承该类来定义。
b)不需要处理的异常(基类AppTimeException)又分为以下几个类,开发时在各层使用不同的类,统一基础平台来抛出提示用户。
i.AppDaoMybatisException:
在dao使用,不需要处理,直接抛出异常的,使用此类来抛出异常,service层,view层不用接收处理。
ii.AppBusinessNoNeedHandlerException:
在service层使用,不需要处理,直接抛出异常,view层不用接收处理。
iii.AppOtherException:
不在dao和service层的,使用此类抛出异常,dao、service、view层都不用接收处理,直接返回到页面提示用户。
5.1.4JAVA文件命名规范
JAVA文件命名规范包括如下:
1)JAVA类文件的命名不要超过32个字字符。
2)JAVA文件的命名规范按照Sun公司的标准进行命名。
3)取消JAVA文件以下划线进行分隔的命名方式。
5.1.5VIEW层类的命名规范
1)Action类是以英文单词组成;由模块名+[其它标识]+Action构成。
2)一个Action类文件不要超过500行代码。
5.1.6SERVICE层的命名规范
1)Service层命名规范将由实现类构成,取消使用接口类加实现类的方式。
2)Service层实现的命名由 模块名+Service构成,例如:
UserService.java。
3)Service层统一继承基类BaseService,对DAO层的访问采用类似如下方式来实例化DAO
例:
@Autowired
@Qualifier("menuMapper")
publicvoidsetBaseSqlMapper(BaseSqlMapperbaseSqlMapper){
this.baseSqlMapper=baseSqlMapper;
}
4)Service层是SPRING事务控制的层(通过SPRING的AOP机制实现事务控制),如果需要指定的方法为一个整体的事务(整体事务的方法必须放在Service层),需要在Service层定义方法,并且方法的命名也需要按照指定的要求:
a)方法名以add开头(添加单条或批量记录)
b)方法名以edit开头(更新单条或批量记录)
c)方法名以remove开头(删除单条或批量记录)
d)方法名以trans开头(其它需要统一事务控制的,如业务方法中包含执行存储过程或函数的,或者其它需要使用一个事务来控制的业务)
5.1.7DAO层的命名规范
1)DAO层命名规范将由接口与实现构成,一般都只需要定义接口即可。
2)DAO层接口的命名由模块名+Impl构成,例如:
UserImpl。
3)DAO层的*Impl接口名字需要跟resource下dataconfig目录下的*-Impl.xml对应。
所有CRUD接口都在基接口BaseSqlImpl中定义,一般接口只需要按如下方式继承即可,但是在*-mapper.xml文件中必须使用配置来定义好接口中方法的实现逻辑:
例:
publicinterfaceMenuDAOImplextendsBaseSqlImplr