构建自动化
自动化
为任务选对工具 —— 流程管步骤,工作流管状态,审批管人工签核。
自动化
**自动化以声明的方式把业务逻辑挂到数据模型上 —— 作为由运行时执行的元数据 —— 而不是散落在应用代码里。**三个工具覆盖全部场景,一开始就选对,能省去日后返工。
我该用哪一个?
| 你需要 | 用 | 阅读 |
|---|---|---|
| "X 发生时,做 Y" —— 由记录变更、定时或按钮点击驱动的步骤 | 流程 | 流程 |
| "这条记录只能按这些事件在这些状态间移动" —— 受控的生命周期 | 工作流(状态机) | 工作流 |
| "必须有人签核后才能继续" —— 路由给人的决策 | 审批 | 审批流程 |
经验法则:状态用工作流建模,步骤用流程建模。审批不是独立引擎 —— 审批就是在审批节点暂停、等人决策的流程。
它们如何组合
三者是互补而非竞争:
- 工作流约束哪些生命周期迁移是合法的 —— 状态、迁移、守卫条件,仅此而已。
- 流程执行这些迁移周边的副作用:发邮件、更新记录、调用外部服务、等待、分支。
- 流程内的审批节点阻塞执行直到审批人行动,然后沿批准或拒绝分支继续。
所以"工单从 new → assigned → resolved"是工作流;"升级时通知经理"是流程;"超过 5 万美元的折扣需要财务经理签核"是带审批节点的流程。
**提示:**如果需求读起来是"X 发生时,做 Y",那就是流程。如果读起来是"这条记录绝不能跳过某个状态",那就是工作流。从这里出发,你几乎不会选错。