工作台的平台化开放能力建设已经走了近3年的时间,包括定制工作台的开放、工作台模板的开放、工作台组件的开放等等。本文主要是对过程中一些关键能力的总结和思考,欢迎交流。
工作台的类型
工作台作为企业业务数字化的统一门户,是组织用于提升管理效率、实现业务在线的平台。工作台的组织就是钉钉上的组织,针对不同的组织规模,提供了多种类型工作台:角色工作台、行业工作台和自定义工作台。
角色工作台是对不同的角色,例如财务、人事、IT、管理员,提供开箱即用的解决方案。各角色进入到工作台拥有不同的工作台页面,将有一个沉浸式的工作体验,进而提高组织内各角色的效率和体验。普通员工也拥有自己的专属工作台,并可以自行管理。
角色工作台示例:
通过数据分析发现,组织工作台具有明显的行业属性,同一行业使用的应用和组件有趋同性。平台侧运营同学通过工作台模板设计器来搭建千行千面的工作台模板,预置不同的应用和组件,作为组织初始化的工作台,提升组织的数字化程度。未来,模板设计器也将开放给生态,提升行业模板的丰富度。
行业工作台示例:
这两种工作台都具有灵活多样的管理能力,管理员可以编辑分组、排序、设置全局样式等等,组织管控更加高效。
工作台管理:
针对中小组织和一些行业化组织,角色工作台和行业工作台基本可以满足需求。但对一些组织来讲,通过工作台来实现业务在线和管理提效的同时,如果要突出自己企业品牌或更加灵活的业务场景化,就需要自定义工作台。
自定义工作台是通过平台提供的工作台设计器直接搭建完成,可以更加灵活的设计工作台。
自定义工作台:
随着平台化的逐步发展,工作台具有了场景多态性的特点。包括设计态、开发态、运行态、管理态和营销态。
场景多态性的能力建设
设计态&开发态,具备应用级、页面级、组件级的分层定制能力
平台提供了统一的组件物料和零代码设计器,低成本的设计工作台。组件物料包括基于服务的一方二方三方组件,例如考勤、日志、待办、业绩上报、智能小秘等,提升定制化能力同时降低定制成本。开发者可以直接使用来搭建工作台应用,完成应用级的定制。开发者也可使用模板设计器来搭建定制工作台内的一个页面,即页面级的定制,并可进行批量分发。
定制服务商在垂直领域上有自己的差异化优势,组件级的定制能力可以保护定制服务商的竞争优势,同时也是对官方组件三方组件能力的补充。比如说CRM、财务报销等等,在各自领域都有做的好的应用,基于这些优质应用扩展的组件,就具有很强的竞争力。针对组件的开发,在开发者后台提供了组件开发接入的链路,包括开发工具、开发文档、以及对应的开发者服务。
管理态,具备应用级、页面级、组件级的分层配置能力
三种类型工作台都具有方便灵活的配置能力,可对应用、页面、组件进行分层的配置。管理员可以所见即所得的设置应用主题、配置页面布局、配置组件属性等等。
运行态&营销态,为多类型产品提供统一的技术保障和服务触达能力
在移动端和PC端,工作台提供了统一的基座,具备统一的性能、稳定性保障,不需开发者关注基座的性能稳定性。并且,平台为开发者提供了定制组件的监控中心来保障组件的线上稳定。性能体验建设参见《钉钉工作台的体验优化及技术思考》。
统一的基座,具备统一的服务触达能力。平台侧运营通过用户数据分析,在用户需要的时候,刚刚好将服务配置出现在那里,从过去的人找货模式自然转变成货找人的模式。
能力建设中的技术沉淀
在能力建设过程中,工作台将一些能力进行了通用化的沉淀,主要集中在端侧的运行态和组件的开发态。在运行态,提供功能模块进行按需的组合式复用。在开发态,通过接入插件开发后台方便进行组件的生态开放,直接平台式复用。
运行态 - 组合式复用
运行态能力是基于工作台应用架构中的工作台基座,将通用能力做抽象和封装,以方便能力复用。包括数据请求管理器、数据处理器、渲染引擎、基础能力等。
运行态能力组合式的多级复用:
开发态 - 平台式复用
开发态能力通用化升级为插件开发后台,具备一方即三方的组件接入能力。可在这里完成插件的开发、调试、上架、发布等流程和插件的线上管理,提高插件对接效率以及开发者满意度。
同时,平台提供统一开放服务,包括但不限于统一的DSL,统一的JSAPI,统一的权限管理,统一的接入平台,统一的开发工具等,实现组件接入的规范化和平台化,来批量的提升生产效率。
提供平台式复用的插件开发后台能力边界是插件本身的生命周期,和业务解耦。组件开放业务的服务端需自行管理插件在业务侧运行时的逻辑。
能力复用的实践
通用能力已在个人空间、协作、审批等产品上复用,产品可以更方便进行配置化能力扩展,实现运营类需求配置化、组件动态化、生态组件接入等功能,从而从扩展性、维护性、集成/被集成能力等多方面验证了架构设计的合理性。以下从各业务和工作台业务的对比来确定各自能力复用的程度。
个人空间
个人空间是一个新的应用,工作台应用类似,页面结构相对稳定,页面数据会持久化。未来页面上的组件将开放给生态来开发。因此,可以进行应用级的复用,直接使用应用脚手架初始化项目,降低开发成本。同时具备了组件开放能力和运营需求的配置化能力,并可作为酷应用的扩展场域。
协作
和工作台不同的是,协作页面是动态数据流,不适合做页面数据的持久化,而是在运行时组装数据。因此,不能直接做应用级的复用,需要对页面scheme数据模型做差异化的定义,使其更适合协作的场景。由于对组件生态开放的诉求,可进行模块组合式复用。协作升级项目比原计划提前两周进入验收,提升了开发效率。
能力上既可支持一方组件,又支持三方生态组件,也支持酷应用动态卡片在页面中任意位置展示,对特定模式的需求可实现配置化,无需投入开发,降低了未来维护成本。
OA审批
OA审批是钉钉老牌官方应用,已经有自己特有的数据模型和渲染引擎。主要诉求是组件生态开放。仅需引用动态插件相关的模块,并通过开发后台接入三方生态组件,即可实现组件的生态开放和动态加载。
未来畅想
近期,对运行态能力将进一步模块化抽象,方便进行灵活的组合式复用。同时,对常见的几种场景进行解决方案的封装,实现开箱即用的能力接入体验。对开发态,除支持组件的源码开发方式,也将支持组件的搭建开发方式,打造沉浸式体验的开发链路。同时,在支持小程序动态插件基础上,也将支持H5组件的开发管理,将服务更多场景的组件开放业务。
当前,运行态和开发态能力仅开放给一方业务使用。可以畅想,未来可以开放给生态使用。生态组织可以基于插件开发后台扩展组件开放能力,和工作台类似的,将业务型应用升级为平台化应用。也可以利用运行态解决方案,直接生成支持组件开放的应用。这将能很好的提升应用的开发效率和基础体验。欢迎交流。
相关阅读推荐
钉钉工作台的体验优化及技术思考
钉钉工作台走向平台开放的探索和思考
钉钉开放平台的定制服务之路