上周阅读了奉博的《互联网时代企业信息化的7个转变》一文,奉老师将互联网技术与企业信息系统建设很好的协调在了一起,勾勒出一幅美好蓝图。在此就个人理解点评互联网与企业信息系统。
一、互联网应用与企业应用的差异
互联网时代与互联网应用是有区别的,互联网时代是一个信息高度共享的时代,从最开始的信息高速公路(带宽、网速)、海量数据采集与计算(并行计算)到万物互联计算(移动互联、物联网)、人工智能计算(机器学习,而不是按你所需提供),人类信息交换发生了爆炸性增长。互联网时代是公开信息无成本传播的时代,如果这些公开信息都是良性的、正能量的,那么将加快人类社会发展,如果这些公开信息是恶性的、负能量的,那么将延缓甚至阻碍人类社会的发展。与大航海时代作一个类比,船只上运载的如果是粮食、蔬菜、医药用品则是良性的,如果是鸦片、毒品则是恶性的。
所以我们在互联网上看到的信息都是被“净化”过一次的,这些信息是经历了信息发布者、信息传播者、信息管控者之间相互作用而最终产生的。如同经济学“理性人”的假设前提,互联网也来一个“守法人”假设,如果互联网上人人都遵纪守法,那么他们看到的信息一定是互联网活动部门相互作用下想让公众看到的信息。
互联网应用就有这么一个特征,他们免费、廉价、无私,但信息都是公开的,看这些信息一定是合法的,看了这些信息一定是要满足信息发布者某一诉求的(百度卖广告、腾讯卖游戏、阿里走电商),其他当属公益信息发布的(教育、医疗、文化)也属人类追求美好的天性吧。
企业应用与互联网应用就完全不同了,企业信息,特别是客户、人事、财务、供销存是非常隐私的数据了,甚至关系到这个企业的生死存亡,因此即便在企业内部也是隔离成互不透明的多个部分。这也说明了为什么企业内部系统集成SOA这么难,在原始需求的背后就没有考虑过要如长江流水一样顺畅的将这些信息打通。而互联网安全事件新闻中曝光最多的就是客户数据泄露事件。
企业内部信息系统基因天生与互联网开放共享不符,期望互联网时代将企业应用从局域网、广域网搬到互联网上有一点难。OSI七层网路协议标准提出很久了,正在的企业内部信息应用协议没看到多少,倒是开放的社交API等层出不穷。要开放的话早就开放了,何苦我们还在内部折腾SOA呢?原始动因不足啊。
二、企业应用的两个极端
观察信息产业、企业应用的发展,发现一个有趣的规律,Oracle把Sun公司收购了,做应用的把做技术的搞定了。开源的Linux广泛传播,而开源ERP在国内甚少看到使用,按照西方经济原理分析的话,这里面一定存在这所谓的“垄断”,非完全自由竞争市场,这可能是鄙人“恶意”揣测吧。企业应用的两个极端是什么?要不使用国外Oracle ERP、SAP,要不就是国内用友、金蝶。从技术角度看Oracle的ERP并不怎么优秀(与Linux kernel比较),为什么就这么彪悍的横扫企业应用市场呢?突然发现这不是一个靠IT技术作为核心竞争力的市场。国外ERP的横向是因为它卖的是最佳实践,而最佳实践的隐含意思就是如果最佳实践实施都失败了,那么其他也必将失败,虽然成功实施ERP的企业并不多。而在某些专用软件(例如财务、证券)上,某些功能的要与“母体”对接,而“母体”的标准开放的规范性并不明确,导致另一种极端,在此不做累述,不过反过来看这倒也安全了,直接将hacker门槛过滤了一大半。
三、“地缘政治学”的保留
由于上面两点可以看到企业信息系统要实现互联互通并不会那么顺畅,企业信息系统目前仅是点对点网状无标准的对接着,这种无标准不仅仅是应用协议,哪怕是后面的IT运维团队都不对称。再看看电商平台ERP供销存的一体化,但凡做大的企业都想“脱离”,做不大的企业都被“绑架”。具体的例子就是著名的韩都衣舍自建电商平台,结果流量果断被封,而小企业都要求上电商自己的线上ERP。“城外的人想进去,城里的人想出来”。这种一家独大,能产生巨大“舆论”效应的企业,总是能带着生态圈的周边一起往前冲,从而产生一种方向性的错觉,甚至让其成功,“存在即合理”,以至于就不知道什么是真了,因为并无真伪标准存在。
我听到了很强烈的呼唤声,一切上云,云是什么?云的提供商是谁?云的提供商为我们提供什么?这已经超越了技术范畴,就技术上说什么都可以上,什么都可以做,真的没有像业务逻辑、安全监管那么难。这貌似是“地缘政治文化”差异下,相同方法产生的不同结果一样,中国的货到付款是独一无二的,虽然大家都是网购,这里的道理一样,观念的改变要花很长的时间。
四、技术热爱的赞同
前面胡乱说了一番,最后回到技术谈谈我的观点吧。
微服务框架在一段期间会产生一个热潮,如同当时Java去EJB,走轻量级spring一样。但是,我总觉得这又可能走入另一个极端,把墙推倒重建再推倒。原来的spring IOC依赖注入滥用导致大量的xml配置,而如果微服务的使用者不知道如何对业务逻辑细拆,很可能微服务会变成一种比单体更加混乱的架构,特别是相互之间走异步的情况下。所以技术没有错,关键人应该怎么做,至少spring比EJB要清爽很多,而微服务比之前的单体可能在架构上要更加复杂。
非常的认同数据架构驱动流程架构,在以前不知道怎么做的情况下依赖了最佳实践,也就是对流程的依赖,经历了20年企业应用信息系统的使用,积累的大量的管理经验,发现变化最大的就是流程,最为稳固的就是数据和规则引擎,所以应该是文档的主数据+规则引擎来驱动流程,来建立公共服务平台。