开放发展之路
早期软件包的开放
作者目前在一家saas厂商,做开放平台的开发维护工作,以前公司做软件包的时候,也没有人重视生态,外部对接这种事情,早期的所有功能都是厂商自己做,放在自己的闭包里,客户需要什么功能,给厂商提要求,厂商自己实现,大概就是下图,什么都是自己做
后来客户的需求,千奇百怪,厂商自己忙不过来了,就需要下级经销商,或者客户自己去开发,这时候就需要软件支持二次开发组件,厂商需要支持开发的插件可以跑在自己的软件内,就需要留支持开发的口子,客户按照预留出来的口开发自己的能力,当然很多本地部署的软件包,直接提供对数据库表结构,客户可以自己写程序修改表,也能实现二开,但是这个阶段,要求二开人员对软件包,足够了解,包括包结构,数据库结构等,实施成本大,经销商在销售时候,可以答应给客户进行二开,收取实施费用,所以在软件包时代,经销商的热情十足,自己也会养一堆的实施人员
大概就是:软件包有一个配置文件,二开完了以后,把自己程序的信息,地址之类的配置到到配置文件,软件会扫描这些包,加载运行
自己需要什么能力就按照规范开发,然后加载进去,或者自己查库,进行二开对接
但是如果一个客户用的两个软件都是软件包,这就比较难对接了,比如一个产钢的企业,产线用一套软件,库存之类的用一个软件,这就没法搞了
云时代的开放
目前各个saas厂商都在做云转型,抛弃以往的软件包,转型云服务,国内包括金蝶,用友之类大的厂商最近几年哪怕是效益下降也要做云转型就可以看出来,这个时代软件包已经过去了
开放性具有重要意义,主要原因包括:
-
创新加速:开放性鼓励合作和集成,使不同服务能够相互配合,从而加快新功能和解决方案的推出速度。
-
满足客户需求:开放性使客户能够通过集成其他服务或定制开发来满足其特定需求,提高了产品的灵活性和适应性。
-
扩展生态系统:开放性吸引更多开发者和第三方合作伙伴,帮助构建一个强大的生态系统,为用户提供更多选择和增值服务。
-
降低壁垒:开放性降低了市场准入门槛,使更多创新者可以参与到服务提供商的生态系统中,促进了行业的发展。
-
数据互通:开放性促进了数据共享和互通,帮助客户更好地管理和分析他们的数据,实现更深入的洞察和价值。
-
用户体验提升:通过与其他服务的集成,用户可以获得更完整、无缝的体验,提高了用户满意度和忠诚度。
一个开放平台需要的基本能力
-
身份认证和访问控制:用于管理用户身份验证、授权和权限控制,确保安全准入。
-
API管理:用于管理API的发布、文档、版本控制、访问控制等功能。
-
消息推送:用于将客户在软件内操作产生的数据,推送给isv系统。
-
监控和运维:用于实时监控平台性能、交易量、故障诊断等,并进行运维管理。
-
开发者门户和支持:提供开发者注册、文档、示例代码、技术支持等功能的平台。
-
应用市场系统:用于isv将自己开发的软件进行售卖,商业化
-
各种报表查看
以上是你要做一个平台需要的一些基础能力,后续的文章会继续将这些部分,其实一个公司做一个开放平台,光靠几个人是根本不够的,比如文档管理这个事情,我是一个开发开放平台服务的开发,我没办法将主产品的接口开发出来,所以这时候就需要主产品自己将接口挂在平台上,但是如果在公司内部不重视这部分,就会出现产品开发写的接口,格式千奇百怪,毫无统一性可言,外面的isv对接简直就是灾难,很不幸的是,我目前就处于这个尴尬地位,找别人搞,本来就属于边缘部门,没人搭理,所以就很难
所以一个公司是不是想做好生态平台,还是需要领导重视才行,否则还是很难的