AWS PaaS应用开发规范与设计原则

开发阶段

在开始本阶段前请务必再次确认您的AWS平台已拥有属于自己的开发商证书
  1. MVC编程
  2. Java工程资源结构
  3. BO建模配置
  4. 基础字典
  5. DW建模配置
  6. UX用户体验

1.MVC编程

项目 遵循度 说明
Java程序包路径命名 *必须 前缀与appId相同

示例:
package com.haier.apps.globalorder
package com.abc.apps.notepad
cmd命名 *必须 前缀与appId相同

示例:
com.haier.apps.globalorder_home_dashboard
com.abc.apps.notepad_saveContent
Java编程风格与注释 建议 -遵循Java标准
-类、方法、变量提供简洁、有效的注释
文件读写限制 *必须 限制如下:
-只允许读写该 app安装目录下的资源
-通过声明DC,读写doccenter下的 DC资源

超出该限制的,应在申请发布时给予原因说明
变量命名 建议 与AWS PaaS相关的Java变量命名参考
-流程实例 ID(processInstId、processInstanceId)
-流程实例对象(processInstModel、processInstanceModel)
-任务实例ID(taskInstId、taskInstanceId)
-任务实例对象(taskInstModel、taskInstanceModel)
-BO表ID(boId)
-BO表与流程实例关联Id(bindId)
HTML 模版等外部文件资源 *必须 UTF-8无BOM编码格式
数据库设计 建议 -使用平台提供的UUIDGener获得定长的UUID 值(36位长度)
-不推荐使用数据库自增长字段或数值类Id字段
-不推荐使用存储过程
JDBC编程 *必须 -使用Preparedstatement
-Connection资源被确保释放
-循环之内,不允许超过10次循环的创建Connection
Web层禁止数据库操作 *必须 避免不统一的连接配置和集群失效风险,降低故障排查成本。
建议采用AWS MVC编程框架或调用AWS的OPEN API,将逻辑封装到服务端

2.Java工程资源结构

假设应用Id为com.abc.apps.xyz

遵循度 说明
注册类 建议 示例:com.abc.apps.xyz.Plugin
控制类 建议 示例:com.abc.apps.xyz.XYZController
常量类 建议 示例:com.abc.apps.xyz.XYZConst
web包 建议 示例:com.abc.apps.xyz.web.*
工具包 建议 示例:com.abc.apps.xyz.util.*
事件包 建议 示例:com.abc.apps.xyz.event.*
调度包 建议 示例:com.abc.apps.xyz.job.*
通知包 建议 示例:com.abc.apps.xyz.notification.*
接口包 建议 示例:com.abc.apps.xyz.aslp.*
规则包 建议 示例:com.abc.apps.xyz.at.*
UI包 建议 示例:com.abc.apps.xyz.ui.*

3.BO建模配置

BO表命名约定
命名规则 遵循度 说明
BO_AAA_BBB* 建议 - 适用于常规小规模应用
- AAA由开发商证书限定,最长3位
- BBB为该应用的英文缩写,建议长度3-10位
- 示例:BO_ACT_NOTEBOOK_LIST
BO_AAA_BBB_CCC* 建议 - 适用于大型应用或若干子应用组合的系统
- AAA由开发商证书限定,最长3位
- BBB为该系统的英文缩写,建议长度3-8位
- CCC为该应用或模块的英文缩写,建议长度3-8位
- 示例:BO_ACT_CRM_CONT_LIST
公共字段命名约定
字段名 标题 类型 遵循度 说明
APPLYNO 申请单号 文本(36) 建议 只读,使用@公式给定流水号规则
APPLYDATE 申请日期 日期 建议 只读,默认@date
APPLYUID 申请人账号 文本(36) 建议 只读/表单隐藏,默认@uid
APPLYUSER 申请人姓名 文本(36) 建议 只读,默认@userName
APPLYDEPTID 申请人部门ID 文本(36) 建议 只读/表单隐藏,默认@departmentId
APPLYDEPT 申请人部门 文本(128) 建议 只读,默认@departmentName
APPLYCOMID 申请人单位ID 文本(36) 建议 只读/表单隐藏,默认@companyId
APPLYCOM 申请人单位 文本(128) 建议 只读,默认@departmentName
FLOWSTATUS 审批状态 文本(36) 建议 只读/表单隐藏
键值字典:BASE.STATUS.PROC1
* 所有ID类字段 文本(36) 建议 建议长度36位
其他
遵循度 说明
使用英文或英文简写命名 建议 拼音首写容易造成同音不同义,难以维护和识别 ,
务必不允许使用各类数据库关键字
一组相邻的BO字段 建议 同一类属性按用户习惯的顺序排序在一起,方便自动构建表单布局。
如描述联系方式可能包括省、市、县、地址、邮编等
状态控制类字段靠后 建议 由系统控制控制的字段放到最后
多表重复出现字段长度一致 *必须 如A表和B表同时存储CUSTNAME,字段长度必须一致
不允许手工录入 建议 对于弹出字典类场景,使用readonly禁止手工录入
设置空值提示 建议 增强友好度,如请输入8位物资编码

4.公共基础字典

字典名 标识 遵循度 说明
币种ISO字典 ISO.CURRENCY 建议 ISO 4217
《货币及基金代码之表示法》常用货币
性别国标字典 GB.SEX 建议 GB/T 2261.1-2003
个人基本信息分类与代码
第1部分: 《人的性别代码》
政治面貌国标字典 GB.POLITICAL
建议 GB/T 4762-1984 《政治面貌代码》
民族国标字典 GB.NATION 建议 GB/T 3304-1991
《中国各民族名称的罗马字母拼写法和代码》
婚姻状况国标字典 GB.MARRIAGE 建议 GB/T 2261.2-2003
个人基本信息分类与代码
第2部分: 《婚姻状况代码》
从业状况(个人身份)国标字典 GB.EMPLOYMENT 建议 GB/T 2261.4-2003
个人基本信息分类与代码
第4部分: 《从业状况(个人身份)代码》
国家地区国标字典 GB.COUNTRY 建议 GB/T 2659-2000
《世界各国和地区名称代码》
省市县国标字典 GB.ADDR 建议 GB/T 2260-2002
《中华人民共和国行政区划代码》,
其中市级名称自包含了所在省份
有效、无效选项 BASE.STATUS.YESNO2 建议 常用有效、无效选项
是、否选项 BASE.STATUS.YESNO1 建议 常用是、否选项
待提交、审批中、
已完成、已作废
BASE.STATUS.PROC1 建议 流程申请单常用审批状态,最终同意节点可更新为已完成
常用保密级别 BASE.SECURITY.LAYER 建议 通用的保密级别
前三项对应了系统权限组的普通、秘密、机密

5.DW建模配置

遵循度 说明
提供平铺的查询项 建议 常用查询条件优先排列
提供Excel下载 建议
提供常用排序方案 建议 优先按时间倒序,默认的排序方案
合理的列宽度 *必须 对相对固定值的列设置紧凑的宽度,
对重要的标题、XX名称列应至少设置200px宽度
Tab页打开窗体 *必须 设置标题名称,如客户名

6.UX用户体验

遵循度 说明
使用awsui.js框架 建议 该框架底层采用JQuery1.10 封装
图片处理 *必须 不允许出现图片等比失调的缩放处理代码
所有录入项,前端长度校验 建议 Oracle/SQLServer 数据库建议采用 NVARCHAR,
统一中英文字符长度校验
所有录入项,必填校验 建议 必填,使用AWSUI的 Warning Message提醒
禁止出现双滚动条 *必须 差的体验
删除等敏感操作给予询问 *必须 差的体验
操作被立即遮罩,防止重复提交 *必须 差的体验
功能操作路径,鼠标点击次数不超过3次 *必须 差的体验


Seven
 010-62962343-690
 liujx@actionsoft.com.cn
感谢您对该文档的关注!如果您对当前页面内容有疑问或好的建议,请与我联系。如果您需要解答相关技术问题请登录AWS客户成功社区