这其实并不能算是如何开始SOA的讨论,而是前面关于业务端SOA化讨论的一个自然延伸,更象是一个理想化的描述,美好而遥远,不过既然有了前面的那些讨论,我想总得把这个过程完成。我不知道接下来所描述的内容有多少是未来可能实现的,不过作为一个良好的愿望,我期望能够在有一天变成现实。
直接从字面的意思上来解释所谓SOA的企业,就是企业的运作以服务为核心组织。当然看起来这与目前的很多企业没有什么太大的差别,毕竟有不少企业已经把自己的业务逐渐的向这方面进行调整,不过其区别在于,SOA型的企业,其业务流程是完全柔性的,根据不同的客户的要求,流程就有可能出现差别,哪怕不同的客户是使用的相同的业务,如果要求不同那么业务流程就可能不同,不仅是业务端,包括相应的信息系统等等的流程都可能不相同。在这个意义上,大概如此完全的SOA型企业还不多。
实际上,可能小企业或者个体服务更接近这个SOA型企业的定义,大家应该都去过小店里边买东西,基本上在他的业务范围内,可以在最大程度上满足顾客的要求,如果是个体的服务,那么可能更加能够根据要求而调整其业务,哪怕基本上说不上什么流程。我们可以随便举个例子,比如我家楼下有个小商店,正常的情况大概是我去买点东西,然后付钱,也有可能我会放一点钱在小店里,就不用每次买东西都付钱了,这算是预付费,也有可能我买了东西就挂帐,过一段时间结算一次,或者老板觉得数额到了该结算的时候进行结算,这属于赊账,还有可能我告诉老板想要哪个牌子的饮料,让他去进货,也许还能在下班的时候打电话给老板要什么东西,回家路过的时候去拿,这算是备货自提,或者还能在家里打电话买东西,让店里把货送上来,这就是电话购物,商家还提供门到门的物流服务了,如果你说请顺便在隔壁的小饭馆里帮我带份蛋炒饭,这就是代购服务,如果是自己叫的蛋炒饭不过请小店里帮忙带一下,这甚至就成了第三方物流了……我们还可以继续的帮助小店把业务拓展下去,我的某位朋友已经发展到叫外卖还顺便让人家扔垃圾的地步,不过我想作为例子来描述一个SOA的企业已经很足够了。
我们前面之所以说某些(当然不是全部)小企业或者个人服务者比较接近这个SOA型企业的定义,主要还是因为他们的业务流程相对环节较少,操作的通用性比较好,涉及的人员也就能比较少,因此可以较为灵活的组合成为客户所需要的服务,而且其资金流、物流和信息流都相对处于较小的区域内,因此成本较低,当然,小店的生存之道就是全力为顾客服务,这是他们能够比较接近SOA的根源所在。而作为大一些的企业来说,因为有更多的业务流程环节,并且某些环节的专业化程度较高,加上需要符合内部或外部的种种管制要求(包括确保业务合规性以及内控制度等等),所以需要涉及比较多的人,并且,企业的资金、信息、物流等都处于较大的范围内并且有相互隔离的情况,因此相对更加难以接近SOA化的业务,并且相对单一的业务流程在管理上也更简单,成本较低。
当然也并不是大公司就完全没有向SOA型企业发展的自觉,目前的大公司中,个人觉得比较接近SOA化业务的是DELL,相对来说其业务要灵活一点,而一些网络购物的企业也有类似的特征,当然,我们说的也仅仅是相对的,因为种种限制,他们的流程还做不到我家楼下小店那样的柔性。
技术的发展为大一些的企业向前进化提供了可能,一方面流程环节的标准化与粒度的变化增加了其通用性,这我们在前面的业务SOA化的讨论中已经谈过了,当然相应的有资源的SOA化,而多个业务系统的整合有几个方面的好处,一是在信息上解决了大区域和隔离的问题,二是整合后的信息可以使很多以前在业务流程上的控制点从直接控制变为旁路监听的方式,在不影响管制的前提下,降低流程的开销,也减少了流程中的刚性点,三是整合后的系统在业务自动化方面的优势也使得流程的管理难度与成本大大的降低,从而有条件为每一个客户提供不同的服务流程(这当然是一个夸张的说法)。
因此,在SOA型企业中,客户可以根据自己的习惯或者喜好与企业进行交互,企业方面的员工或者业务系统根据客户的需求而随时调整业务流程,系统则在需要管制的地方插入控制点,或者以旁路方式进行监督。实际上,在一定的业务粒度下,流程的自由组合方式毕竟还是有限的,客户对于流程的倾向也可能在不同的人群中呈统计分布,某些后台的系统可以通过关联的统计与分析建立相应的数学模型,并据此引导一些用户采用其喜爱的流程,提高其满意度。这就是对于数据挖掘和流程管理的综合应用了。这样的企业和系统是可学习与进化的,能够根据用户的变化而改变自身以提供更好的服务,虽然有点遥远,但还是值得我们期待的未来。
对于一些具体的话题,后面我会慢慢的进行一些讨论,例如今天提到的BI与业务流程管理的联合应用等等。