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客户成功社区