|
SOA是一次思想解放
毫不夸张地说,SOA理念的出现是IT业的一次自我反思和思想解放运动。
多种多样的编程语言,五花八门的开发思想,没有统一标准和规范的自由设计行为,使得软件开发人员在虚似的计算世界的各个角落中建立起大大小小、数量众多的“信息孤岛”,大量异构系统的存在无法做到互连互通,数据无法交换,信息无法交互。系统越庞大、越复杂,无法互连互通的痛苦就越深。
同时,错综复杂的外部经营环境、客户需求的快速变化、供应链上下游迫切的分工协作要求、异常激烈的市场竞争,都要求企业必须快速应变,对人、财、物、决策信息等资源进行快速优化、重新组合,以满足市场和客户不断变化的需求,实现企业应有的价值,并获得合理的回报。但是,主导人、财、物资源流动的业务系统,同本应与其相对应的处理信息流的IT系统之间却正在出现越来越大的裂缝,难以融为一体,信息系统甚至逐渐成为阻碍业务进行创新的因素,这一点让越来越多的企业决策者无法容忍,同时也让信息系统的建造、维护和完善的IT技术人员心中不安。
IBM软件集团大中华区行业解决方案业务总经理陈永生认为,拥抱SOA已是迫在眉睫的事情,“如果跟企业中的CEO、CIO交流,就会发现每个企业的发展过程中,都会不时出现各种创新的想法,要把想法变成现实,需要IT做出贡献。但CEO常常遇到的问题是,当一个创新的想法出现后,IT部门的回答是开发实现这一想法的信息系统需要至少半年的时间。半年以后市场已不知道会变成什么样子,业务和IT无法同步,创新的想法只能早早夭折。这样的事情一再发生,IT就会成为企业创新的严重阻碍。如果SOA可以把这个时间缩短到几天,这个创新的想法就能很快变成现实,为企业的竞争力做出贡献,这样的SOA,CEO或CIO没有理由不喜欢。”IBM软件集团大中华区总架构师(总工程师)寇卫东也指出,SOA是一种更先进的商业战略和管理思想,而不仅仅是一项新技术。
SOA并不神秘
业务、流程、服务、颗粒、切割、封装等等这些名词其实依然不能直观理解,SOA要做到让不懂IT的业务人员也能很容易理解,实际沟通起来确实不容易。打一个比较直观的比喻,比如写文章,最开始的理解认为只要会写汉字,就应该能写文章,因为文章是由一个个汉字组成的,这跟只要懂编程就可以写软件的思路是一样的。但后来发现,光识字未必能写出好文章,写好文章还有一些方法,经过不断积累总结,形成了一整套写作方法,要写文章,先要学习写作方法,掌握了写作方法,写出好文章的几率就大大增加了。这些写作方法与SOA就有些相通之处了。
 IBM软件集团WebSphere软件、SOA战略、渠道、市场 全球副总裁 Sandy Carter:全面的人才叫作T形人才,业界有一些职务专门为这些人才设立,有的叫业务分析师,有的叫业务架构师,有的叫流程分析师。这在美国已非常普遍,在中东也有越来越多的这样的职务,印度和日本已开始有这样的职务,在中国这个职务还是雏形,处在刚刚产生的阶段。
 IBM大中华区首席执行总裁 钱大群: SOA是企业实现敏捷性的重要技术手段。
 IBM大中华区副总裁及软件集团 大中华区总经理 Bete F.Demeke: IBM致力于建立经验有效分享的SOA社区,打造一个快速、健康成长的SOA生态系统。
 IBM软件集团大中华区 总工程师(总架构师)寇卫东: 帮助客户实现业务的灵活性是IBM SmartSOA方法论中最重要的内容。
 IBM软件集团大中华区 行业解决方案业务总经理 陈永生: IBM的framework可以帮助客户在SOA理念指导下用更快的速度开发应用层。
同时,因为不同文章要表达不同的思想感情,又分成了叙述文、散文、诗歌、议论文等等不同体裁,每种体裁的文章都有自己固定的写法,比如散文强调“形散而神不散”,议论文要求“论点正确,论据详实,论证充分”,这些写法和原则逐渐也被总结出来,成为写出不同体裁好文章的有力指导。这与不同行业都带有自己的行业特点和一定的行业标准,SOA也需要具备一定的行业特性是同样的。
这些都学会了,写文章还会有很多技巧,比如写一篇10000字的选题文章,可以把文章分割成很多个内容组成部分,这时候要先打一个提纲,文章大概写几大部分内容,每部分内容是什么关系,每一块内容要写几段,都写什么,写的次序是怎样的,除了有内容之外,是不是文章还得配上照片、图表、漫画等等其他内容元素。这些内容元素都定义清楚了,按照打好的提纲,一组合,文章就写成了。
SOA与此很类似,首先SOA是一个架构,跟写文章先做内容提纲是一样的。提纲打好了,要看都有哪些基本模块或组件,就像写文章时,准备的照片是一个内容元素,图表是一个元素,每一段落的文字是一个元素,把这些元素都准备好了,按照内容逻辑关系合在一起,文章就成了。同时,如果觉得文章组合得不好,要改,有些元素不要了,有些元素要调整地方,那就换好了,只要编缉修改的文章阅读起来更加顺畅,就说明改得合理。
SOA中的内容元素就被定义成一个个服务,举个简单的例子,比如说一个产品出入库的业务流程,基本上可以分解成几个步骤:产品采购、入库、接受订单、出库,每个步骤从定义上说都可以称为一个服务,几个服务按顺序串在一起就形成了产品出入库的一个简单的业务流程。SOA就是要先把这几个服务内容定义清楚,然后用IT语言来实现,然后在一个统一的框架标准下,纳入到企业完整的IT系统中,使其成为一个有机的组成部分。
这样做最大的一个好处是,当IT系统需要变动时,是基于一个个清晰的服务来变动的,跟写文章的内容元素是一个道理,这些服务由于定义清楚,就可以被大量地复用,比如上面提到的产品采购服务,可能一个企业中不同部门的业务中都有采购的内容,销售部要采购、财务部也要采购、人力资源部也要采购、生产部门也要采购,那么好了,只要一个产品采购的服务模块设计好了,所有的这些部门都可以使用这个采购服务模块,而不用每个部门都再重新开发一个采购服务模块,造成巨大的投资浪费。
可以看到,SOA其实是对企业业务运营系统的一种全新的解构思路,就是把整个业务运营系统从以前只是粗放地分解成一个个业务流程,到更细致地分解成定义明确的一个个服务。服务组件模块更小,自然组合的变化种类更多,也就会更加灵活。而这些服务用IT实现时,由于基于一个统一的连通标准,即SOA标准,所以不存在不能连通的问题,每个封装服务组件的接口都是统一的,所以组合起来就跟搭积木一样,非常方便,而且千变万化。变化的依据完全基于个企业业务的快速变化,这就使业务系统和IT系统无限地接近,甚至融合在一起,成为一体,不分彼此。
因此,说SOA是一种思想也好,说其是一套方法也罢,说其是一些工具,还是说它是一种架构,都不能算错,SOA就是基于全新的架构设计思维方式,形成的一整套实现架构的方法,但从逻辑关系上看,首先要认同SOA的全新理念,才会有意识地主动学习SOA的一整套实现方法,所以SOA更像是IT行业的一场思想解放运动,很多观念需要重新更新。 思想支配行动,观念更新了,自然就会主动接受并学习相关的技能。IBM一直强调SOA是一种新思想,也是一种全新的商业战略,其实都是为了表明这层逻辑关系,即先解放思想,再付诸实践。
|