寇卫东:解决信息孤岛 SOA的东方之道
企业业务的快速变化和需求增加带动了企业管理上的变革。信息化在变革中的作用也越来越重要。但是,因为企业的不同的IT应用项目是逐年建设实施的,由于事前没有IT的统一整合规划,导致了信息的不共享,逐渐形成了企业的“信息孤岛”。解决“信息孤岛”已经成为企业管理变革的重中之重。改变并解决企业的“信息孤岛”需要一套完整的架构思想。SOA正是为企业解决“信息孤岛”、整合企业IT应用的问题而兴起的IT架构设计思想。
如何让SOA成功地为用户服务已经成为重要的问题之一,什么是SOA?SOA的定义是什么?什么样的产品才是基于SOA开发的?实施 SOA又有什么方法等等一系列问题摆在用户面前。带着这些问题,记者日前走访了业界权威的SOA专家、IBM软件集团两岸三地大中华区总工程师(总架构师)、美国马里兰大学兼职教授寇卫东教授。他为我们讲述了SOA的东方之道,从思想、方法论、设计、和工具等方面,透视了SOA内涵,分享了IBM的SOA经验。
对于SOA的理解
寇教授:什么是SOA?比较简单。SOA最早是由国外引入的,它比较绕口。但实际上SOA本身是比较容易理解,SOA就是面向服务架构,(Service-Oriented Architecture),SOA中主要的是服务。什么是服务?服务就是一个单独的任务。如开会就得订房间,订房间就是一个任务,约时间也是一个任务。每个都是任务,都是一种服务,把每个服务串起来,就是面向服务;面向服务架构是什么?它是一个IT的设计的风格,这种风格设计出来的系统灵活,这是最简单的SOA的概念。什么是SOA的参考架构?我们认为,参考架构的中枢是提供连接性服务的服务总线,其它的流程服务,信息服务,业务服务等都可以插入到服务总线上。当然,还要有基础管理、开发、应用管理优化、安全、标准等。
SOA可以有不同的说法,有不同人的理解。同一件事情可能从不同的角度理解。SOA不管千变万化,根本的、必须的方面那就是面向服务。SOA不是一个空泛的概念,它有丰富的内容。
从哲学的角度和文化角度来看看SOA又是一个什么样子的?
寇教授:脱离IT的范畴来看SOA,应从从哲学层面和传统文化两个方面来看。SOA反映的是什么理念?什么思想?从这点上来看,就得从东方人和西方人看世界是从不同角度出发说起,东方人和西方人的哲学观念是不一样的。一般西方人从具体的数据出发,以理性的知识看待世界。他们从数据中归纳出理论,从众多现象中总结出一般性的理论。东方人不是这样认识世界的。东方人更注重的是个人的生命体验,通过自己的亲身体验来感悟世界的。客观的世界是通过主观的感知反映出来的,主观事情又在客观里。正如庄子所说:“物物而不物与物。天地与我并生,万物与我为一。”
把SOA从IT层面升华到哲学层面,升华到文化层面,万变不离其宗,再变也离不开,“联通复用和快速的适应变化”的根本的思想。所以,某个具体的个人可能有不同的理解,特别是在IT层面有不同的理解,去解读SOA。但是如果我们把它升华到哲学层面和文化层面,它的根本是一样的。
从“太极拳”理解SOA
从哲学角度看,怎么具体显示西方和东方的不一样?作为一个例子, 我们从中国“太极拳”来看SOA。练好“太极拳”有以下几个要点:
第一,心志要到。练“太极拳”时要没有杂念,专心致志。同样, 做SOA也是一样。SOA项目的成功也需要专心致志,不是为了跟风,不是为了随大流。
第二、招式要对。在“太极拳”中有不同招式,把这些招式连起来,就是一个套路。不同的招式组合,就形成了不同的太极拳套路,例如,陈式太极拳,杨式太极拳,24式简化太极拳等等。如果把“太极拳”中“招式要对”对应到SOA,每一个招式对应一个服务,把这些服务连起来以后,它就是企业的业务流程。“招式要对”的思想就是这样。在同一太极拳套路中,某个招式可能重复多次,例如“白鹤亮翅”这个招式,在一个套路中就多次出现。SOA的服务也可以一样的重复。重用是SOA最根本一个思想。重用有什么作用?可以减少投资,可以很快的把原来做的系统利用起来,并加快资源重复的利用,充分利用原来的投入和IT资产,避免或者减少重复投资。
第三,气血要通。“太极拳”最重要的是气血通,气血通很重要,对人的生命至关重要。“气血通”对SOA也是一样重要。IT系统也是有生命的,它的生命是什么?它的生命是信息的流动,不同系统之间的信息的流动,信息在系统之间流动才有意义,不流动的信息是死的。SOA关键是系统之间的互联互通。
第四,快速适应变化。“太极拳”中蕴藏了中国道家哲学的根本思想,即:宇宙万物皆在变;重要的是快速适应变化。“太极拳”者随对手动而动,当对手失去平衡时,“太极拳”者重心顺势,四两拨千斤便能克敌制胜。SOA的根本是架构灵活,能快速适应变化,这和“太极拳”的思想如出一辙。
第五,整合。融会贯通的整合是太极拳所推崇的思想,这个思想和SOA的思想是一样的,整合所有信息资源(内部的、外部的、新的、旧的,等等),整合客户的流程,整合内部的流程。整合是SOA的根本思想之一。
通过上面的分析,不难发现:当我们把SOA的IT内容脱离之后,留下的根本思想和我们的东方文化是一致的。
SOA的内含就是一种思想,它是看不见的,同时也是一种风格,就如“太极拳”一样。为什么SOA和其它的IT技术不一样?因为它在里面蕴含了很多东方人的根本思想。老子说:“大道至简”。 SOA的思想把IT设计简化了。从东方的哲学和文化看SOA,认识SOA,融会贯通SOA,就是SOA的东方之道。
什么样的产品才能算是基于SOA开发的?
寇教授:在产品方面,要有能提供连通性的产品。例如,怎么样才能够或者使业务的流程,互联互通,或者说是“气血要通”。怎么能实现连通性这是很重要的。IBM从不同方面有不同的产品实现了连通性。 第一,J2EE系统。IBM有一个ESB服务器产品,就是企业服务总线服务器(Websphere ESB Server),用来提供J2EE的系统的互联互通。第二,异构系统的连接性。IBM提供了一个基于解决异构的连接性产品(Websphere Message Broker);不管什么样的异构系统,通过WMB就能很快的整合起来,解决异构系统的连通性。第三,软件硬件化,加快互联互通。为了解决各种系统整合带来的瓶颈效应,保证互联互通的及时性,IBM提供了一个硬件产品(Websphere DataPower),加快互联互通。这个产品带来的好处是大大加速了XML文档的处理,使得系统之间的信息交换变得容易快速,它比软件处理快了10到 50倍。除此之外,这个产品还加强了安全保证,以及提供了不同数据格式和传输协议的转换。
什么样的产品才能称之为成熟的SOA产品?
寇教授:这就是我们刚才讲的文化和哲学层面,如连通性,招式要对,灵活性。还得从最根本上去看。比如说连通性,连通性产品做的好的产品就是成熟的。做不好的,就不是好产品。根据用户的需要,如两个应用,它们之间要整合,能不能通过ESB或者其他产品能使得它们互联互通。做不到或者做得为难,就是不成熟的。又比如说灵活性,你有没有产品能帮助客户实现业务流程的快速变化。 此外还有方法论的问题。没有设计的方法、设计的工具,那么怎么做?SOA怎么落地? 怎么实施?
SOA的落地方法:“形,意,神”
第一,“形”。 什么叫“形”,例如画画,首先要把轮廓画出来。做SOA也是一样,把架子搭起来,架子就是“形”。什么是架子?“太极拳”思想的根本一条是气血要通,即连通性。任何的企业都要有应用,应用之间应该去整合,还有在流程,这是最基本的。不管是什么样的企业都会遇到这样的问题:架构要怎么建?怎么把连通性建起来?流程整合起来?怎么把应用整合起来?这是最基本的。SOA的“形”包含了连通性、流程整合、应用整合三个方面。这三方面的产品就构成了SOA的“形”。
第二,是“意”。要做什么?画画要画什么?把风景画出来,把人物画出来。你画的是春天的山花烂漫,还是秋天的果实累累。你画的人物是年轻姑娘,还是白发老人。这就是它的“意”。对于SOA来讲,它的“意”就是回答你要做什么。是整合人员?还是整合流程?还是整合应用?还是整合信息?做SOA必须一个切入点,SOA有五个不同的切入点:人员、流程、信息、重用性、连通性。就这是 SOA的“意”。
第三,是“神”,这个比较难。画家能不能把画的神态表达出来的?要把它个性化,能够把特征表现出来。这是大画家和一般画家的根本区别。徐悲鸿画的马笔墨酣畅、奔放传神。李苦禅的山水画厚而且沉,凝重有力。齐白石的画风格鲜活、诙谐幽默,简括大气。这些特征就是画家的神。“神”也是SOA的最高境界。SOA的“神 ”就是对于SOA的优化,即流程优化、灵活应变。IBM推出了智能SOA,它从一个部门开始到跨部门的,到整个公司,到合作伙伴的整合,包括上级到下级的整合。业务流程优化,灵活适应变化就是SOA的“神”。要做到SOA的“神”,需要有一套方法论。还要有一套工具。画画总得要有笔和纸,实施SOA同样也需要工具。例如流程需要建模的工具,对流程做建模设计。流程运行的怎么样?哪儿跑得快?哪儿是瓶颈效应?这需要监控的工具。还要有设计的工具,开发的工具,管理的工具。IBM有一套这样工具,可以帮助企业更好的实现SOA。
那么当用户实施SOA时,如果不用SOA的产品,是否就脱离了SOA?
寇教授:不用SOA产品用什么?原则上讲,只要把SOA的思想实现出来那就行。可是如果产品实现了SOA思想,就它就变成支撑SOA的产品了。准确的说,这些产品支撑SOA的设计理念方法。所以没有说某种产品就是SOA产品,只是这些产品来帮助实现整个SOA思想或者设计风格,这样才保证出设计的来的基于SOA的系统或应用能做得出来。有了SOA思想怎么能实现?需要一套方法论、一套工具、一套运行的软件才能实现。首先,思想是最上面的层面,在思想的下面需要不同的设计方法、不同的工具、软件、最后是硬件平台,这才能构成整个SOA。只有SOA概念,没有方法、工具、软件是没有用的。SOA是一种了不起的思想,需要相应的落地的方法论、工具、和落地的产品来实现。
SOA实施的策略很多
第一,能不能把架子搭起来?做什么?能不能优化?搭架子、做业务、搞优化,这是SOA的“三部曲”,也是最基本的。
第二,管理的工具,SOA的服务怎么来发现?怎么存储?怎么管理这些服务?服务也需要服务的管理系统,SOA也有一套管理系统。
第三,按行业来划分。企业的业务整合,最基本的就是服务总线再加应用服务器(例如WESB+WAS),这是简单的整合。再进一步,就是流程整合,需要流程服务器(例如,IBM的Websphere Process Server)。再高一层,就是服务的行业化。它已经不仅仅是流程整合,而且包括了对行业的各种服务进行整合。不同行业有它的个性化,还有行业的设计考虑。IBM有这方面的支持平台,Websphere Business Service Fabric。
SOA从业务的架构、技术的架构要有一套方法论。像“交响乐团”一样,把它组织起来,企业要有各种各样的“乐器”,这是一方面。所有的设计好像 “谱曲”一样,架构师就像作曲家。“指挥”像项目经理,每一位“乐手”像工程师,这是组成“乐队”的根本。SOA 也是一样的,架构师设计出IT架构后,需要项目经理怎么来策划、实现,还要用工程师用不同的软件做出来。从业务模块的建模到IT模块的建模,到最后的实现,都是有一套方法论。比如业务的建模,它从销售的管理,客户的管理,产品的管理等总结提炼出一个个服务,然后再把这些服务变为技术的实现。这就需要设计,从业务变成最根本的服务,需要很多的技术和设计方法。这些方法论,是能够实现SOA的思想根本保证。IBM有部件业务建模(CBM,Component Business Modeling)。基于对业务的正确理解,提炼出业务服务。再用面向服务的建模与架构(SOMA,Service-Oriented Modeling and Architecture)方法,把这些服务用IT的语言设计出来、实现出来。企业实施SOA 几个层面。第一,懂得SOA,从大的框架上懂得SOA能帮做什么;第二, 就是“形、意、神”,第三,一套齐全的工具和落地软件。
什么样的企业适合SOA?
寇教授:SOA对于企业的要求并没有那么严格,不能说是什么样的企业就不能实现SOA,但SOA不是功能较多的。实施SOA要根据企业的业务需求和企业的实力来做。当然,SOA有一个好处就是可以滚动式发展。刚开始做一个简单的,如把架子搭起来后,运行一个应用。有资金了,再一步一步整合。在一些中小型企业里,可以看到这样的例子。 通过SOA把新旧应用连接起来、整合起来。
在做SOA时,可以循序渐进,先把架子搭起来,然后做一两个应用,感觉不错,再接着做。另外,中国的环境也适应循序渐进。所以,要选好合作伙伴,选好软件,如果它不能整合,项目就费掉了。
实施SOA不一定需要很多系统,有的企业可能什么都没有。但它可以把架子搭建先起来,然后放置一个应用。但是,SOA最拿手的、最能体现其价值的是多个应用、多个系统的整合。
SOA趋势分析
国内外对于SOA的理解和趋势是什么?
寇教授: SOA最早是从国外引进的,在北美、欧洲一些国家先用起来。因为这些国家的IT建设投入比我们先,又做了很多年,所以基础比较好,而且它们已经有了大的需求。SOA在同样在中国发展也是很快的,特别是最近两年,发展非常快。各行各业都有SOA的案例。IBM在中国的政府、金融、电信、工业、流通、中小企业都有SOA的成功案例。■