【Jsp精品源码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了Jsp精品源码-基于Java平台的应用系统技术架构规范(试行)_v1 - 软件工程的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
基于 java 平台的应用系统技术架构规范 基于 Java 平台的应用系统技术架构规范(试行) 经技术专家委员会研究通过0 前言 为了降低各种项目和技术的学习和实施成本,规范技术架构和工程结构,提高代码复用率和工作效率,推广成功项目经验,特制定本规范。
本规范作为公司开发项目的一般性指导规则,公司的所有与 Java 相关的项目,在开发时均需严格依照本规范的规定执行。
对于客户有特殊强制规定的项目,则按照客户规定执行,但需报技术专家委员会备案。
1 开发工具u 开发工具内核一律采用 Eclipse3.5 及以上;u JDK 的版本为 1.5 及以上;u 代码走查工具采用 find bugs、QA Source、PMD;u 源文件管理工具采用 SVN;u 文档管理工具采用 SVN;u 所有开发工具在同一个项目组内统一版本,WorkSpace 统一路径(建议采用 Y:Workspace,可采用 subst 命令虚拟磁盘的方式实现,例如 subst Y: E:nk)。
2 架构设计规范总则2.1 J2EE 架构约束u 架构约束 可以选用以下两种架构: 1)SS I 架构:Struts2.0 以上 Spring3.0 以上 IBatis2.0 以上 2)SSH 架构:Struts2.0 以上 Spring3.0 以上 Hibernate3.3 以上 注:IBatis 现已改名为 MyBatis。
说明:架构中的所有 JAR 包统一从公司获取,项目中不允许随意更改 仅供内部使用 第1页 基于 java 平台的应用系统技术架构规范所使用 JAR 包的版本。
u 其他约束 所有文件编码一律采用 UTF8 编码格式。
2.2 架构层次 系统架构采用 3 层架构,如下图: 规则 1 展现层建议采用 Struts 标签,推荐结合 AJAX 和 JSON 增强用户体验; 规则 2 持久层使用 IBatis 或 Hibernate;事务由 Spring 进行控制; 规则 3 对处于不同容器中的功能层次,建议采用 RPC、RMI 或 Web Services等技术进行通讯。
2.3 工作空间和项目目录结构 l 工作空间:Y:/Workspace/项目名称 l 工程名称由公司或客户统一定义 l 建议采用如下项目目录结构: 仅供内部使用 第2页 基于 java 平台的应用系统技术架构规范 lt工程名称gt r sc e.otkn.工程名称gt ntnrhiglt et ts q sl anh luc ac bth eCnet Wbotn omn cmo s cs js mgs iae ae pgs al tbe rcs poes ep hl E-N WBIF lse cass i lb eore rsuc ofg cni pig srn tus srt ede ram仅供内部使用 第3页 基于 java 平台的应用系统技术架构规范u 应用包结构其中:工程名称可以是“项目名称”,或是“项目名称.子系统名称”。
u 机器人代码包gencode该包主要为产品的 dao 包、entity 包、service 包等,均由机器人自动生成,不得修改。
l dao 包主要是对应的数据库操作的 Interface,如增、删、改、查等; l entity 包主要是对应数据库表生成的实体类,包括对应数据表的 mapping 文件; l service 包主要是对应 dao 包中 Interface 的方法。
仅供内部使用 第4页 基于 java 平台的应用系统技术架构规范 注:dao、entity、service 包中的 interface 与 class 都是不可修改的。
u 应用包app应用包主要是包括 assist、service、action。
assist 包提供通用的功能,仅供 Service 中的服务使用。
该包中包含有 model、tools、enums。
l model 包中方法类为数据模型,开发人员可在此包中定义数据模型; l tools 包为工具类定义包,凡是为项目公共调用的工具类皆可定义在此包 中; l enums 包中为参数枚举类,可自定义对应参数枚举类。
service 包中包括 iface、impl、fileservice、proxy。
l iface 包中包括 table、process 包 n table 包为服务扩展类包,如原有 table Interface 中的方法不能够满足 开发人员的需求,可自定义所需 table Interface; 注:自定义 table Interface 必须继承 gencode 包中 Service 包中的相对应 Interface,且自定义 Interface 必须以 BizService 开头,如 BizServiceXXX。
n process 包中定义的类为处理服务 Interface; 仅供内