本文来自明道云资深研发经理孙伟,在明道云2022年秋季伙伴大会活动演讲,经校对编辑后整理为演讲精华。

一、开放没有选择

很多客户选择我们的一个重要原因,是明道云所能提供的产品开放能力。开放其实是没有选择的,坦白来讲,我也不希望开放,我希望客户所有的业务系统都用明道云管理,这样对我们是更有利的。但是,现实中因为企业业务的多样性与复杂性,没有任何一家平台可以做到一站式解决所有问题。为了方便客户,我们就必须开放自己,让客户用得更好。

1.一个典型的业务场景需要多少个系统?
我们先来看一个典型的业务场景。一个客户从网站上下了一个订单,经销商收到订单之后去向企业订货。企业订货之后如果自身不进行生产,就需要向供应商采购。供应商生产好之后,需要去找物流公司发货。发货完成,客户最后进行收货。这样一个企业日常经常涉及到的环节,会需要用到哪些系统?

从下单开始,可能需要有一个电商平台,比如京东、天猫;也有一些客户是自营的,会使用一些小程序,会涉及到支付系统。还会涉及到业务管理,使用CRM、ERP等管理系统。如果他是分销商体系,还要有分销系统。如果是工厂还会涉及到MES系统、物流管理系统等。这么多系统,让一家企业来完成是不太现实的,并且如果中间任何一个环节不能与其他系统友好互通,客户可能就不会选择你了。

2.明道云为什么需要开放?
如果不考虑交互能力,理论上来说明道云是可以搭建任何一套业务系统的。但是,我们的客户有很多个性化需求,让我们必须选择开放。

  • 特殊交互有一些客户对前端的界面排版、交互有特殊要求,这个时候用明道云来实现,就不太友好。
  • 系统集成一些客户已经使用了电商平台现有的核心系统很多年了,他不太可能立马把系统都迁移到明道云,但是却需要明道云跟原有的系统互通,进行一些数据流转。
  • 运算逻辑极其复杂比如股票基金的净值运算,它是要去收集大量的历史数据,做很多的处理;还有比如大规模的数据分析,这种TB级别的明道云本身是不擅长处理的。
  • 其他需求比如同步一些物流信息、海关数据、企业工商信息,在线签约等。

这些场景用明道本身来做就不太合适,我们不能友好实现这些客户需求,所以我们只能选择开放自己,交给别的产品来完成。

二、明道云做了哪些事情

大家一起看一下,明道云为了平台开放性做了哪些工作。

1.开放平台

它其实是明道老的协作模块的产物。因为明道云是一个企业协作的平台,支持用户或者是第三方开发者进入明道云的开放平台,去设计开发一些扩展应用,然后上架到明道云的应用市场,进行推广并获得额外的收入。当然,这里的扩展应用不是指我们现在用明道云搭建的应用。

最典型的是第三方的SaaS与明道云的结合,它是基于Auth2.0授权机制,通过账号密码登录后拿到token,再去获取一些数据。这里主要就是老协作模块,比如动态、任务、日程、群组;另外还有组织与账户。比如,我拿到账户信息以及用户加入的网络信息后,对网络下的用户做消息的推送集成功能。

当然,现在明道云的产品路线图里也有集成中心、开发者中心,并且将来可能会融合在一起,打造一个全新的明道云开放平台。

2.企业授权开放接口

我们前面讲的开放平台是基于个人授权,所有数据都是用户自己的;而企业的授权开放接口是独立于明道云个人的授权API。未来,这两套体系会共存。

这套授权体系完全服务于企业相关的数据接口,有较高的权限级别,现在这套密钥只有网络管理员在后台才可以看到,主要内容包括三大块:

审批。明道云现有的审批可以通过这一套体系在线创建审批,获取审批列表,为每个审批配置一个Webhook通知节点。当明道云的审批有任何的变化,它可以把变化通知到外部的系统。
组织架构。又分为四项:用户、部门、职位、汇报关系。我们通过这些接口,与外部第三方平台做账号集成,主要用于数据的增删查改,包括与第三方已有的类似数据的关联处理。
应用管理。应用指明道云中搭建的应用。我们可以在线创建应用,并获取应用下面的授权信息。

3.应用OpenAPI

每创建一个应用,明道云都会自动为它生成一套API示范模板。应用管理员可以看到应用的API开发文档,里面涵盖了白名单、授权管理、授权密钥。它也是非个人的,只要是应用下的数据,全部可以获取到,但是权限分为了全部权限和只读权限。只读权限就是指可以开放给第三方来调数据,但是不允许他进行编辑删除。

除了授权之外,核心的功能还有什么?第一,组织架构,我们可以通过应用的授权信息获取应用的组织结构,包括菜单项、工作表,获取工作表的结构信息,包括一些控件列表。其次就是应用数据,我们可以对于应用数据做增删查改。还有一个大块是应用权限体系,我们可以通过这一套API,去对应用下的角色做一些处理。

4.工作流Webhook

前面讲的这些,开放平台也好,API也好,都需要第三方系统。但是有的时候,我们并不需要挂第三方系统,而想要用无代码的方式与外部系统做比较好的结合。那么,明道云工作流就支持用Webhook与外部互通,它主要分两种方式:Webhook节点和API请求节点。

Webhook节点会自动生成一个URL链接,被动地接收外部消息的请求。我们知道,数据同步一般分两种,一种是这种传统的集成,定时地批量同步;还有一种消息集成模块,遵循IFTTT模式进行实时同步。比如我在另一个平台里面做了一个实时的操作,假设这个平台也是支持消息推送的,它就可以往Webhook节点推一条消息通知。明道云拿到之后就可以去实时获取信息,不需要每过一段时间再去拉取它。

API请求节点以前也叫Webhook节点,后面因为我们做了集成中心,所以才改成了API请求节点。明道云内部的一些事件触发或者是定时任务,就可以去请求外部地址。这个请求可以是获取数据,也可以是把明道云的数据推送给外面。

5.工作流代码块

工作流Webhook是基于HTTP的,但是现实中有一些传统的系统,或者一些比较特殊的系统,它的授权模式比较复杂,所以我们针对有开发能力的这部分客户做了一些比较深入的能力,就是工作流中的代码块节点。

它主要有两种开语言:Javascript和Python。Node.js和Python有些版本会引用一些包,比如有一些复杂的授权模式,通过API的方式不能够直接对接,那我们就可以通过代码块,自行引用。

我们去做一些请求的时候经常需要前置处理请求参数,比如拿到参数之后需要对返回的数据做一些预处理。如果我们通过现有的工作流节点去处理它,就会比较麻烦。但有了代码块,我们就可以在请求前先对请求参数做优化,拿到请求结果之后再做格式化处理返回给前端,这样就会相对友好一些。

6.集成中心

现在的集成中心可以封装一组授权认证,包括一个API的接口组,很方便地供企业内部甚至外部用户去调用,我们现在已经预置了天眼查、小鹅通、易签宝等等这些接口。前面我们提到的客户有在线签单的要求,明道云本身做不到,但是如果我们和e签宝合作,就可以通过明道云的一个节点,快速完成这些操作。

7.工作表/自定义页面

API查询控件。前面我们提到的Webhook和集成中心,他们的流程都是有滞后性的,以前没有API查询控件的时候是怎么处理的?处理流程一般是这样的:记录创建或者更新之后,自动触发一个工作流,工作流再去做一些逻辑,最后将结果更新到工作表中。这种做法结果不是实时反馈的,所以我们推出了工作表控件API查询,它允许在界面上直接地调用第三方的接口,在界面上实时反馈,它也是一个按钮,点击查询之后把数据实时地呈现到页面上来。

嵌入控件。工作表和自定义页面都有嵌入控件,明道云现有的控件可能不能满足一些客户的需求,那客户就可以自己开发一些控件,通过嵌入控件嵌在明道云中,做好单点登录、账号集成,这样就可以实现自定义控件的能力。

自由连接控件。这个控件可能用的人不是很多,它主要是连接明道云的老协作模块,包括动态、任务等。比如一条工作表记录跟一个日程或者任务有关,我们就可以把它关联过来。

文本识别。自带的能力主要是身份证跟一些发票的识别。因为有了我们API能力,其实我们可以自己去扩展更多的OCR识别能力。

8.公开表单、外部门户和分享

公开表单
现实中我们有很多的需求是不需要有状态的,只是需要收集一些外部数据。比如政府单位做民意调查,或者我们明道云的伙伴大会要收集报名信息,这种情况我们不希望用户注册,只需要拿到这些数据就行了。

明道云提供了公开表单的能力,允许用户将现有的工作表生成并发布一个公开链接或者二维码,让外部用户直接填写。填写完之后,我们也可以生成一个公开查询的链接,用户通过自己刚才填写的关键性的信息,就可以把之前填报的详细数据再查出来。

外部门户
公开信息是无状态的,它不会去记录填写人的一些标识性的身份信息,因为它没有账号或者权限体系,可能在某些场景下就不太适用。比如我前面讲到那个场景,一个经销商跟一个工厂的协作,经销商去采购的时候,我不希望他去注册明道云账号,但是我又希望他有一定的权限,能够看到自己历史的数据;并且能够对这个经销商做身份认证,比如通过手机号、微信号等进行认证。

这种场景下,我们为每一个应用提供了外部门户的能力。用户可以配置自己企业微信号、公众号,集成消息通知功能,用户通过第三方平台就能无感知地进入应用,完成操作。

分享
分享用在什么场景呢?分享的内容不需要有状态,也不需要有外部数据,只需要核对能力。举个例子,我妻子的公司是做谷歌推广的,他们每个季度都需要跟供应商做账单核算。之前我看她很辛苦地拿Excel做汇总,再为每个供应商生成一个单独的Excel,发给客户去确认。

我说你完全不需要这样做。我花了几分钟时间,搭建了两张表。数据导进来后,为每个供应商自动生成了一条对外分享的二维码。再把这二维码分享给他,他扫码就能看到历史账单记录,这样供应商的体验也很好,工作效率也大大提升。

我们在接下来的版本会强化分享能力,能够支持更多视图种类的分享,支持分享出去的记录可以配置哪些数据是可以填写的,支持生成类似分享密码、密钥的身份验证工具。

9.前端开源

我们针对高端玩家提供了一个前端开源能力,零门槛获取并扩展APaaS能力,充分实现前端界面的个性化。通过前端开源,用户可以对界面做排版、交互上的优化,再结合我们的刚才讲到的这些自定义的界面,就可以去实现更多的交互可能。

10.第三方平台集成

我们进入明道云的后台账号里面,会看到有一个集成中心,它现在集成了企业微信、钉钉、微信公众号、飞书、Welink,包括其他LDAP方式的授权。通过这些集成,可以做到消息推送、账号体系同步。再根据刚才说的企业级的授权接口,就可以以现有的第三方平台做账号集成和消息推送。

三、明道云可以怎么做

讲了这么多我们明道云开放的能力,我们再回过头来看明道云可以怎么做?

还是刚才开头提到的场景,从客户下单到完整的结算。假设我们没有用第三方系统,该怎么做?首先,客户下单平台有特殊的交互,可以通过前端开源加上外部门户,用微信号、手机号登录,实现这种小程序的能力。将其嵌入到公众号中,用户可以直接在线下单,查看自己的订单记录,使用微信的支付系统。

到业务流转环节,经销商的订货、企业接单、供应商生产制造,他们之间的信息融合就可以通过应用的API、工作流的Webhook。再结合一些外部门户的能力,在这些不同的角色之间做数据的协作流转。如果是物流发货或者一些对实时性要求高的场景,就可以集成第三方平台或者使用API查询控件、工作流代码块。员工在明道云界面上就可以实时获取物流信息。

四、我们还需要哪些能力

除此之外,我们还需要哪些能力?我大概总结一下我们要做的4大块的内容。

第一是开放平台。我最早讲的开放平台是老的协作模块的产物,它对我们目前应用下面的API支持还不够友好,所以后面计划开放平台会加入更多的应用级别的接口。或者我们现在应用API是应用级别的,后面我们也会支持用户生成个人的授权token,它的接口只可以获取自己的数据,这样再去做应用第三方集成的时候会方便很多。

第二就是SDK。现在应用对接系统的时候,它是要根据我们的示例代码,它的别名比较复杂,控件类型比较多,筛选类型比较多。后面我们会针对不同的开发语言提供针对性的SDK,用户再去对接OpenAPI的时候就会更方便。

第三是用户期望已久的数据集成能力。增加直连数据库能力,数据在第三方,我不希望同步过来,但是又希望拿到类似我们现在API查询里的结果。比如企查查,其实工商信息是存在那边的,但是我可以通过接口的方式拿过来,通过直连数据库直接获取到这部分数据。然后就是外部数据源的同步,要支持外部的数据源给写到明道云,或者是明道云的数据写到外部的数据库,当然也可能是明道云不同网络下的应用,把一个工作表的数据同步到另外的一个应用的工作表中。

第四个就是插件能力。有的伙伴是有AI能力的,那么可以开发一个自定义控件,放到应用市场,大家下载之后就天然有了AI的能力。我们的插件中心主要包含了自定义控件、工作流自定义节点、自定义的视图、自定义的函数,有了这些能力后,我们对这些有深度开发能力的客户提供了一种可能,我们把自己的产品能力直接放到应用市场或者开发者中心,上传过去就可以供客户方便地使用它。

为了开放互联,明道云做了十件事相关推荐

  1. Spring Security可以做的十件事

    一 您可以在Spring XML配置文件中指定您选择的授权提供者. 您可以通过配置Spring的http://www.springframework.org/schema/security/sprin ...

  2. 大学里不该做的十件事

    大学里不该做的十件事 永远不要参加任何社团招新,除非它让你作社长.任何社团存在的理由,就是增加社团负责人的竞争资本. 永远不要指望哪个plmm没有男朋友,不排除有mm这么说,这是因为她的男友太多了,她 ...

  3. 身为男人要做的十件事

    1.至少挑战一次自己的极限,并且坚持到成功.不管是考试得第一名,或者游泳游过不曾穿越的河流,或者在讲台上当众演讲,你至少要成为一次主角,至少要让成功证明你一次,这样,在漫长而平淡的一生之中,你都始终相 ...

  4. php能做的事情,成就事业要做的十件事

    成就事业要做的事情,偶尔从网上看到的,觉得有点意思,转载过来与大家共勉. 1.舍得自我投资 市场竞争激烈,要舍得给自己投资,给自己健康.仪表.智力.未来投资,时刻关注市场变化,一旦认定一项投入对自己的 ...

  5. 管理者每天要做的十件事

    1.开晨会 例会问早.点名.前日盘结 2.看报表 目标管理.结果导向.分析数据 3.查落实 对项目计划.任务跟路检查 4.去现场 现场查看.发现问题.掌握真实情况 5.谈工作 适当组织气氛.提高员工士 ...

  6. 发表学术论文必须做的十件事(下)

    转载于:https://www.cnblogs.com/yymn/p/4716196.html

  7. 白领是升职还是创业揭秘35岁前要做的10件事

    男人.女人都要过三十五岁这堵墙 三十五岁,是一个具有典型意识色彩的年龄-- 改革开放初,干部年轻化标准,界定在35岁以下. 如今,公务员考试的年龄也限制在35岁. 超过35岁,不孕概念增加三成 ,有了 ...

  8. Ubuntu16.04 装机之后要做的二十件事

    Ubuntu装机之后要做的二十件事 用ubuntu做东西很久了,总结了一些教程,一直想整理一下,确实是没有时间,这下简单的整理了一下,大家可以看看,具体的软件安装包已经推到了本人的百度云帐号下面了,需 ...

  9. 女孩做妻子前应知道的十件事

    一段时间的甜蜜恋爱期过后,你和心爱的他终于要踏上期盼已久的红地毯.你发誓一定要做个最幸福的小女人,要成一个永远让丈夫着迷的好妻子.从一个女孩的身份转变为一个妻子的身份前,你一定要知道以下十件事. 一. ...

最新文章

  1. mysql导出数据到txt太慢_分享:mysql导出数据到txt文件
  2. 滑动验证前端代码实现
  3. OpenJudge/Poj 1915 Knight Moves
  4. BZOJ1004 [HNOI2008]Cards 【burnside定理 + 01背包】
  5. 【Git、GitHub、GitLab】七 git中分支的删除以及出现分离头指针的情况
  6. java String类
  7. 一公顷等于多少平方米
  8. SQL Server:CASE WHEN OREN ELSE END =不支持OR
  9. 在OSPF网络中,如何判断LSA的新旧?
  10. Flink 流批一体在阿里的落地
  11. RSA私钥及公钥生成
  12. 微软2011年10月最有价值专家(MVP)名单 51CTO十三位用户当选
  13. 自学QT之qss教程
  14. android手机电池寿命,手机用多久换电池比较合适?
  15. 通过css实现图片过渡放大的效果
  16. linux u盘空间越小 写入越慢,解决U盘容量变小问题
  17. 结构有限元分析工具 — Abaqus
  18. 软件测试工程师面试如何做好自我介绍?
  19. 第一次调网吧服务器的感觉
  20. 最NB强化学习路线图

热门文章

  1. Grav:各种各样的粒子动画
  2. 阅读内核源代码的“七种武器”
  3. 异地视频监控快速实现的方法
  4. 【星辰傀儡线·命运环·卷一 血鸦】 5 暗言术灭
  5. OpenCV3. copyTo()函数
  6. 专业防霾口罩走红 专家:普通口罩无法防细菌
  7. X里、X迅、X团、X度、X手的面试总结
  8. 如何用AI制作肌理插画中的噪点
  9. Java 注释(Java Doc Comment)与注解(Annotation)
  10. phpcms入门模板配置文件修改