SaaS可配置化:流程可配置
SaaS软件在实际部署使用过程中势必需要面对各类型租户,租户需求千差万别,为了最大程度满足使用,构建的SaaS应用需要实现最大程度的可配置。前面已针对数据可配置、界面可配置、功能可配置进行详细描述,现再详细阐述流程可配置。
基础理论
抽象业务流程,将业务流程的流转看做是一个流水生产线。包含三种核心概念,分别是:原材料、通道、加工、原材料在事先配置好的通道中流转,经过多处加工最后得出预期的产品。
原材料可看成是原始数据,通道看成是数据关联,加工看成是一个一个的服务。原数据通过数据关联连接对应的服务,其中服务包含三要素:输入(I)、输出(O)、操作(A),一旦原始数据符合数据关联要求,就可顺利通过I流入,对应的A将会依据定义好的逻辑对原始数据进行处理,最终数据从O流入。
整套流程可通过多套数据关联链接起来,原始数据经过一步一步处理,最终将会被加工成预计需要的结果。
设计原则
整个流程化设计原则是:组件组装,将业务流转过程中涉及的核心模块拆分成组件,流程可配置化的过程就是对整个服务流程组件进行生产和组装的过程。
结合是实际业务场景,对应的组件可划分为5大类,分别是:服务、关联、规则、节点、约束与依赖。
1. 服务
服务的定义包含三个模块,分别是输入、操作、输入。其中操作属于核心模块,定义了该服务所要执行的具体操作。整个服务体可概述为可重用的软件模块,可以被看出是不可分割的功能体,如果有看过《SaaS可配置化-功能可配置》就会知道,其实服务的对应的就是系统的“原子功能”。
2. 关联
关联最重要的作用就是连接规则与服务,通过关联将不同功能的服务串联起来,进而实现业务数据流的流转。
3. 规则
规则用于对数据进行判断,并依据判断结果来选择下一个关联。由于示意图可看出:整体由三部分组成,条件、出分别是输入、口。根据条件选定对应的出口,出口再与关联链接,进入完成业务逻辑的流转
4. 节点
节点的引入是为了支持并行时序,多任务并行,通过对应的关联汇集到设定的节点中。任务间具有一定的时序关联,执行完一个任务后,同时开启若干个任务,它们都完成后再触发后续任务
5. 约束与依赖
约束针对SaaS模式多租户情况提出,在实现流程可配置时,需要添加约束也就是隐性条件,确保各租户间数据的隔离。依赖描述的是规则与规则之间,存在数值与逻辑互为条件或不可分离的情况。
6. 解决方案
上面有对流程可配置的基础理论和原则进行详细的阐述,下面结合实际场景对流程可配置产品的使用过程做一定的描述。
7. 创建节点
在这里定义的节点需要区分设计原则中的节点概念,这里的节点更多是针对前端用户定义的,其基础含义就是数据在流转过程中需要经过的各个任务阶段,在设计SaaS过程中需要注意节点有对应负责人,操作及数据可见权限。
例如:针对一个审批节点,在配置流程过程中需要配置具体的审核人员,是否具有“通过”,“退回”操作,是否可查看,编辑审核列表中的某些数据项。
节点类型:
在SaaS产品设计中,成功创建节点后,还需要考虑提供租户对节点权限进行设置。常见的节点权限设置往往通过限制该节点负责人,对节点包含字段的操作权限来实现。
例如:对于一需要提交的表单,管理员可通过设置其中字段为“可见”、“可编辑”、“隐藏”进而实现权限的控制。
8. 添加流程
开始介绍的创建节点,针对具体使用场景。节点创建完毕后自然而然是添加流程操作,进而实现流程的可配置化。一直描述的流程其实数据流转的方向或途径,租户在使用SaaS过程中会产生文档/产品/财务数据/项目/任务等数据,这些数据只有通过流程才能一一串联起来,进而实现应有的价值。
在实际设计过程中,可通过设计三部分:流程节点、分支和权限进而实现添加流程操作,其中流程节点和权限已介绍。
分支的主要作用是确定数据的流向,在实际业务场景中,需要依据不同的条件流向不同的节点,例如:在财务审核中,小于10000,财务经理审核,大于10000财务总监审核。这个时候,可以以1000作为分支流转的判断条件进而实现数据流向的可配置性。
当然,分支流程的核心设计点在于实现分支判断条件的灵活性。因为针对不同的业务场景,需要不同的对比判断条件,包括数值对比,逻辑判断等。
上述不管是基础理论,设计原则,还是解决方案都只是提供一种SaaS流程可配置化的思路,不同的应用场景有不同的解决方案,欢迎交流。
相关阅读
本文由 @老鬼 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自作者
有原型可以分享吗
可以加微信交流的不?
可以微信交流不
拆分流程,把控节点,设置权限
😉 可以加微信交流的不?