业务中台
#
权限
#
类型
ACL(access control list) # 访问权限列表
RBAC(role base access control) # 基于角色的访问控制
ABAC(attribute base access control) # 基于属性(计算属性)的访问控制
DAC(discretionary access control) # 自主访问控制
主体对所属对象有全部控制权
主体执行的程序权限相同
主体权限可分配给其它用户
MAC(mandatory access control) # 强制访问控制
管理分配权限,主体不能改变
主体只能访问他的对象,也不能写低级别对象
成员
user
role
group
访问权限
权限1: 游客,用户,rememberMe
权限2: uri前缀(功能模块)
权限3: uri后缀(静态资源过滤)
判断位置: 过滤器中
资源权限
权限: kind:part1:part2...
判断位置: 渲染数据前
数据权限
资源层级
权限: 2
判断位置: 进方法前
单表
权限: 表名:列名:值
判断位置: 写sql前
方法权限
权限: 方法域:方法名
判断位置: 进方法前
性能
grantTable缓存u_id, res_id关系
审批
#
模板
准入规则
起始、终止节点
节点, 节点成员, 替换成员, 节点事件(脚本), 跳转公式
审批流程
创建, 状态查询
审批
type # 记录类型
property # 类型动作, 关联到节点, 记录进出节点的动作。如对成员可读、可写, 记录负责人,对记录执行脚本, 记录回收计划
model # 模式
节点树、一个激活
节点
节点组
两节点方向
成员
节点成员1对多
成员分组(group, role)也是成员
记录
节点记录1对1
流转 # 记录按规则在节点流转, 指定某些节点, 或某些记录。动作流程短路
motion # 一次动作,如新建,移动,删除。
规则 # 该次动作对记录的验证
fomula # 计算motion次序
历史 # 动作历史
权限
kind # pass或 type、model、property、节点、节点from, 节点to 的任意组合
access # 分不同kind划分具体权限, 如(节点from, 节点to)kind的转移权限
pass权限 # 如创建type, 创建model, 某节点所有权限等
计划 # 定时或周期的流转
适配器boss
#
action # 存http地址,参数名,验证器
code # 业务,如用户套餐
mode: get/post/put/delete # 如获得套餐,添加套餐,修改套餐,删除套餐
ctx # 参数map, action调用前后修改
next # 下个触发action
history_action # action调用历史
suite # 带参action, thunk待触发
price # 标价
tag # 用作商品分类
order # 用户关联到suite, 计费
category # 生成action模板
apps/plugins # 由category生成, 多个带形参(如app_id)action, 封装成的模板。添加实例填入实参
role
permission # action code
type # action, suite等
access # crud和其它自定义权限
工作流
#
本质
状态管理
工作流重流程轻数据,业务重数据轻流程。工作流修改数据,数据触发工作流
标准
BPMN # omg制定
workflow
XPDL # WfMC制定, xml, 复杂
思路
# 模型驱动架构(MDA)
petri nets
有限状态机(FSM) # 并行(流水线)状态机
活动图 # JBoss使用
事件过程驱动链(EPC)
微内核 # 安全性高, 降耦合
已有实现
开源
yawl, jbpm, activiti, osworkflow, jboss, shark, obe
商业
aws, salesforce, sap等
分层
外设层 # 交互协议
网关(WAPI)
交互代理 # 网关与内核通信形式
引擎 # engine
specification, case
net
netRunner
continueIfPossible # 遍历task, fire task,
condition
task
join, split # and所有, xor只一个, or规则
workitem
flow
persisting
gateway
引擎运行服务 # 为引擎提供服务, 如解析流程定义、流程实例存储、参与者(workItem)解析、脚本计算、事件监听等
扩展实现
支撑
组织模型适配
人工task实现人工接口
流程实例存储
执行器中嵌入
其它应用适配 # 如邮件
内核获取环境资源
执行器定义扩展
应用适配扩展接口
操作流程定义
任务分配
辅助
条件验证 # 可以有外部验证器
分支时判断
事件处理/function处理
抽象的客户操作 # 如退回、跳转等
增强
自定义策略(workItem), 如代理人处理、工作日历(任务期限)
工作项分配、执行、提交
事件监听
超时处理
订阅应用事件, 应用时间触发器
基础组件
数据中台
#