从技术角度看,信息化系统通常由流程、表单和角色构成。
从业务角度看,不同系统关注的资源不同:ERP 关注物质资产,HR 系统关注人力资产,CRM 关注外部客户资源。
轻 OA 关注周报、日程、TODO 等事务性工作。
如果围绕即时通讯建设 OA,后台业务可以由一组相互关联的中间件组成。本文所说的中间件,指类似微服务相互关联的一整套架构,而非 nodejs/python 中的中间件。轻 OA 应用中的大部分编码工作用于控制流程流转,其余能力可抽象为中间件。流程流转抽象后,用户可以自定义表单:系统控制流程和角色两个变量,用户定义实际业务中变化较大的表单部分。如图一,这与当前内信的目标群体和策略相符。

在这一架构中,可将相对稳定的能力抽象为通用中间件,以降低业务变化对系统实现的影响。现有业务诉求下,可以考虑「通知」「报表数据导入与处理」「组织结构信息获取」「任务调度」「分词搜索」「存储服务」「」等中间件;后续能力会更偏向通用和底层。端侧则主要封装表单组件和通用 SDK。
