2007年12月8-9日,2007中国软件技术大会在北京举行。中国软件技术大会自2003年以来已连续成功举办四届,秉承“弘扬个性、促进创新、引爆争鸣、激发活力”的宗旨,目前已成为国内技术水平高,领域覆盖面广,具有极大影响力的年度交流盛典。
以下为其演讲全文:
寇卫东:大家早上好,今天非常开心,能够跟软件开发团队一起共享。二十多年以前我也是从软件开发做起来的。今天主要给大家谈一谈SOA怎么样落地。因为各位都是做软件开发的,SOA这个概念已经知道很多,但是到底怎么做,因为今天的时间比较短,所以不能展开讲,只能把一些最主要的观念给大家做一个交流。
今天我主要从文化的层次给大家谈一谈,特别从中国画里面来分析我们怎么样从中间学到一些东西,怎么样学到落地的方法。所以我大概从四个方面:第一,中国画中间的架构和SOA架构有什么关系;第二,另外形、意、神一套SOA的落地方法论;第三,从中国画的具体激发到SOA的设计方法;第四,从中国画的工具,管理到SOA的工具、管理。
首先讲一下中国画的事情。前一段时间,我今年去杭州比较多,偶然的机会遇到了中国画的大师黄宾虹,他这个画层次感以及意态非常的好,所以最近当代著名大师在黄宾虹论里面讲过,黄宾虹画是中国画的高峰,的确蕴含很多哲学的东西在里面。这些哲学的东西对我们怎么把画做起来很有作用。我们怎么样从中国画看SOA。
什么是SOA?它是一个面向服务的架构。这里面很简单,最主要的是“服务”两个字。服务两个字实际上是很多不同的、单独的任务,这些单独的任务就是一个服务。比如“开会”,开会的事情有很多单独的任务,第一是要把大家从各个地方请过来,这是一个单独的任务。另外,我们要把会场布置下来,还要把不同的讲员请过来,可以看到开会是有很多单独的任务组织起来,每个单独的任务就是服务。我们看这个事情,今天开会是这样,明天开会也会是这样,所以很多的业务都可以用不同的单个的任务,我们叫服务串接起来,面向服务。架构是一种SOA的设计思想,是一种理念,在这种理念之下,我们组织起来以后设计的是一种方法,在这种方法论上我们可以把系统做的更好。
(图)这个图比较简单,可以把我们很多的思想组织起来,我们看到我们的流程、我们的门户、我们的现有的应用、服务的逻辑等等,都可以用插件式插入到服务总线,有时候到企业服务总线来。这个和我们很早的时候做CS,还做其他的软件的时候是不一样的,原因主要是原来把应用、数据都捆绑在一起,所以SOA这个方法比较灵活。
这个灵活的架构稍微延伸一下,这张图和刚才蔡总的图比较像,中间是连接性的服务,两边是交互、两边连接、交互、合作伙伴应用,都可以用插件插入进去。底下是我们的基础架构,包括数据库、网络,上面是已有的创新、优化服务,再往上面就是开发服务。所以可以看到很多的事情通过一个很简单的逻辑关系,或者是一种架构关系,把它组合在一起,这对我们很多东西模块化,另外易于开发,因为插件可以插进去也可以拿出来,对整个管理来讲也非常方便。我们看中国画里面,黄宾虹对画的思想,比如他讲的层次和浑然一体的感觉,他讲到做画的时候有时候要留出来空,有的地方要画的实。我们为什么这么讲呢?你可以从里面看出,一个是融合和分离,它既有融合的部分,也有分离的部分,两者之间浑然天成,而且变化是无际的,看不到它变化,而且是把很多方法论规范起来。我后面还会讲到黄老先生做画的一些方法论,我们可以从中得到很多借鉴。
从他的画当中可以看到,SOA很多的逻辑思想、哲学思想都是一样的,不管是做工程、化学,还是做数学,到最后都是上升到哲学,是你怎么样看问题、看世界的观点和思想。从黄老先生的画里面看到这种层次、这种浑然整体感就是SOA里面的层次和整体感。分离和融合就是我们子系统和连通性,通过连通性把它组织起来的一种观念,浑然天成就是我们不同流程的整合。我们之间的变化就是无缝的,中国画的一些规范就是现在SOA标准的道理,所以从中国画里面可以看到很多SOA里面的一些思想。我记得我在上大学的时候,当时有一个店讲书法,这个讲书法的人在泰山看到有人剑练的练得很好,他受了很大的启发,最后狂草是从练剑启发而来的,所以很多思想是相通的。所以这就是从中国画里面看SOA架构的思想。中国有很多中国文化的思想都可以用到SOA里面。
下面讲一下形、意、神。前一段时间我有幸跟中央美术学院的中画大家交流,看到他讲做中国画有三个字,叫“形、意、神”。什么叫做形?看到一幅画的时候把大的轮廓画出来。什么叫意?你要画的是什么?是一个老太爷还是一个小姑娘,还是山水画?要把它的意义表述出来。神就是要把神态、神姿体现出来。这是总结出来画好中国画的三字经。我后来回来琢磨了一下,我觉得这恰恰是SOA的三字经。为什么这么说呢?你可以看,形就是搭建我们的一些关键的构件,比如说一些基本的构件,像连通性、我们应用的整合、流程的整合,这些是最基本的。这些就是在我们搭架子的时候,它就是形。我们要做什么事、做什么应用呢?这个就是把我们做的应用的东西放进去,就是我们要做的意思放进去。这里面包括整合我们的流程,整合我们的信息,整合我们的人员,整合我们做的应用,这就是做意,把我们做的意思放进去。做神是什么?把它优化做出来。
所以这三个字虽然比较简单,但它的意义非常深刻,做形就一定要把这个架子搭起来,IBM有一套架构,比如在应用整合方面、流程整合方面、信息整合方面,以及我们怎么样通过一些工具,能够把开发者整合进去,以及什么样的流程、应该怎么编?在流程运转过程中我们有一个监控,这一套的东西都帮助我们做形,也不是每个都需要,但是可以从中挑出一部分。实际上最关键的是三个字,一个是连通性,另外是流通整合和应用整合,后面可以加信息整合、人员整合等都可以放进去,所以这些是最基本的架子要搭起来。
第二个字也是比较容易理解的。我们要做什么?比如这个图里面,我是要把老太爷画进去,中间的是要画秋天的风景,你要把你画的意思画进去。这里面主要是把我们在架构上,我们的业务整合、流程的信息方面的内容搭进去。这里面和我们在座的开发人员就有关系了,你做什么、怎么做?刚才金蝶的蔡总的ERP就是把他们的应用做进去。像网站使点击率很高,这就是把意思做进去。
怎么做有大概五个不同的方面:人员、流程、信息、连通性、重用性,我们叫做SOA整合的五个方面。人员,比如建立企业门户,简化业务流程,提高效率,从这方面考虑。从流程来讲,把很多文化服务串接起来。信息,信息到底存在什么地方并不重要,对我重要的是需要的时候能够给我,这个信息存在于哪个数据库上,对用户来讲不重要,是存在IBM数据库还是其他友商数据库,对于用户来讲没有任何意义,我要的时候给我就行,所以怎么样把流程整合,这就是工具,什么样的工具来做,这就有讲究了。像IBM有落地的工具,有流程服务器把它整合在一起。重用性,SOA讲的是重用性,刚才也提到很多软件目前不测试的话不知道有什么问题。软件的重用可以减少我们的风险,你把毛病找出来风险就会降低,我们开发的风险也会降低,将来测试需要的时间也会降低。所以重用对软件开发将来是一个很重要的关键,SOA正好把重用性研发出来,这是非常重要的事情。连通性,现在在中国企业里面经常应用之间是不互联的。怎么样把沟通的系统互联起来,而不让它变成信息库。互通互联这一点,连通性非常关键。连通性需要一个开放的标准,包括连通系统人员、业务渠道等等连接起来。
我们有很多的案例,但是由于时间的原因我不能全部展开讲。比如最近北京的朝阳区政府行业有很多电子政务、城市管理方面的案例,比如在医疗方面,内蒙古,包括北京西城区等等很多医疗整合都是在SOA架构上。比如我们在中远集团做业务流程的梳理,中远的运输公司要把货物从中国运到全世界各地区,运输要牵扯到不同的海关,海关政策经常变,政策一变要调的话需要两到三个月,这就麻烦了,不能装船,不能卸货,原来支持整个系统的是二十台服务器,这样大的UBS,就是电子数据交换的系统,现在通过SOA做到了,比如坦桑尼亚或者赞比亚,哪个国家在调政策,我在调应用的话两到三天,原来二十多台服务器支撑运输系统,现在三台服务器。所以可以看到SOA的确给企业带来很多的好处,这就是把意写进去。
最难的是神。做一幅画,一般的画家画一幅画比较容易,你能不能把神态画出来?比如徐悲鸿的画非常奔放,齐白石画小草、小鸟非常的精细,这就是有神。神韵这个东西是最难的,大画家和一般画家最大的区别就在这个“神”字。同样,你把一个SOA搭起来,做这个应用看看,一般也能做到,你能不能把它核心的价值挖出来,能够使客户对你满意?能够把客户关心的核心价值挖出来,他就能够一直长期的跟着你,这就是把神做出来。现在拿徐悲鸿的画出去一定很抢手。他的名字已经出来,他的无形资产已经在那。如果我们把神做出来,SOA就做出来了,你的钱就挣来了,这个神就是优化,只要做优化。
IBM上个月15号在上海发布了一个下面怎么把优化做出来的整套解决方案,我们叫智能SOA。IBM公司和一般的公司有点不一样,因为我也在很多公司工作过,IBM是我工作过的第三大公司。在IBM我呆了13年,但是我觉得IBM和其他的公司不一样,他能够看的远,看到前面。比如做中间件的时候,IBM做中间件的时候,整个中间件还不成气候,IBM能够看到整个市场。现在做SOA,大家都在一般的做,但是怎么能够把神做出来?IBM最近推出来一个很好的把神做出来的方法论,就是SmartSOA,这里面有很多内容,比如我们把SOA的图分成四步:基础的整合(一般是部门内的整合)、跨部门的整合、整个企业的转型、合作伙伴的整合,这样四步根据你的企业情况做一个适应。里面的内容包括智能SOA的四个阶段不同的切入点,包括Web2.0的扩展,今天和明天,IBM的同事会给大家讲IBMWeb2.0如何做拓展以及业务流程的管理和业务流程的完整性。什么是业务流程的完整性?比如我下一个订单,你怎么知道你下了订单以后一定会到供应商,哪个环节会出现问题?里面的信息一定是给该看的人,而不是被人盗窃。我举个例子,前一段时间有一家公司做了整合,结果只是IT部门做整合。比如这个公司是做制造的,制造有原配件,倒仓库去领,领的时候应该从计算机里面填单,领原料的人认识仓库管理员,他去了以后打了个白条把东西拿走,但是整个系统不知道,整个流程就断了。你怎么能够保证一环扣一环,流程能够完整的运行下来,你的订单一定能够到你的供应商那。这些东西都是由流程完整性帮助整个SOA贯彻执行下去的很关键一点。以及管控,我说SOA需要重用,你就不中用,怎么办?你就需要相应的机制,需要SOA的管控。你的SOA做的好还是坏,你需要有一个检查,就好象人体做身体检查一它有一个SOA的检查,来帮助你,看这个SOA到底做的怎么样。所以这一套的方法论构成我们智能SOA,怎么帮助你把这个神似做好。
我刚才讲了四个不同的演进图,从业务价值、IT价值、跨部门的技术整合、整个企业的整合以及不需要IT参与就可以做这么大的组织、业务变更的整合,这是四个不同的演进图,这也是我们能够把SOA做神的步骤。它对业务部门的价值、对IT部门的价值,它的重用有多少少,这张图里面表述的非常清楚。由于时间的关系我不能一一展开讲,但是可以看到,要把SOA做神,一定要有一套的方法论跟得上才能够做到,画家也是一样的道理,能够画出来是多年的修炼以及他的一些方法和思想。
再下面具体的画法。实际上黄老先生他总结出来七个重点,他叫堆墨、积墨等等不同的画法。在画的过程当中,这一套墨汁怎么去染、怎么构图,所以大家讲看黄宾虹先生的画,往往不看风景画的是什么,而是看他墨入的怎么样精细。同样我们做SOA的时候,我们要有一套方法论,怎么样把服务从业务里面抽出来。抽出来以后它还是业务的语言,不是IT语言,怎么把业务语言变成IT语言,这就需要一套的方法论。怎么能把抽出业务里面的服务变成IT的服务,IBM有一套的课程。有了这些IT的方法以后怎么把它实现出来,这就是我们讲的SOA的落地。我们构造很多东西的时候一定要有一套方法论,没有这些方法论很难做的到。从中国画来讲,它有一套的工具,有一套管理的办法。比如做画,需要墨、纸、砚台等等,做SOA怎么落地,刚才蔡总讲有的人做得很慢,其中的原因就是你没有工具,这样就比较难。再比如我们步行到一个地方和搭车到一个地方是不一样,所以要有代步工具。在SOA也有一套的工具,兼容有兼容的工具,设计有设计的工具,开发有开发的工具,管控有管控的工具,管理有管理的工具,部署有部署的工具,有不同的工具做起来事半功倍,可以看到工具对我们实现SOA是非常重要的。另外做出来的画需要管理,这个到底是张大千的画、徐悲鸿的画,还是黄宾虹的画?画的是什么、哪一年画的?这得有一套管理的工具,像图书馆一样,每年出了多少亿册出,不能每一版都存起来,但是怎么样选,所以图书馆有一套管理系统。同样,SOA也一样,我们是一套管理系统,怎么样把这个管起来。
怎么具体落实呢?IBM有一套的英才孵化计划,我们去年在70所大学有IBM的竞赛,比如在北京的清华和北大都有学生参与。我们还有百千万计划,全国培养一百个资深的SOA的设计架构师,通过资深的这100个SOA的架构师,带出来1000个SOA架构师,再带出来10000个SOA产品的工程师,在全国已经实行这个计划。同时还有SOA的认证,认证的课程可以帮助你,使得你能够看到你的资历,大家能够认可,你参加了培训,大家也知道你学习的经历等等。这样,我们整个的百千万计划可以再展开,同时今年我们在教育部所属的院校已经有SOA软件课程的教授开始在大学里面做报告,前一段时间我在北京、西安、上海等等大学都做过讲演。可以看到培养人才上是很关键的奥,同时IBM建立合作大联盟,帮助我们的合作伙伴提升。我们分成三个不同的会员:顶级会员、高级会员、一般会员。顶级会员,第一个顶级会员是浪潮,今年在7、8月份在浪潮定为顶级会员,用友也是我们的顶级会员。我们今年大概有五家会变成顶级会员。很多SOA全世界的资源都是可以通过这种组织进去,我们有100多个高级会员参与各个行业SOA的实践,形成一个很好的SOA的核心生态,使得我们全国的SOA有个大的发展。
总结一下,SOA和整个中国画,从黄宾虹老先生做画的布局、他的一些观念可以看到一些SOA的思想,从我们做中国画落地的三个字“形、意、神”也正是SOA的“形、意、神”,落地方法论,我们有一套的设计方法,比如我们的智能SOA,CDM等等,帮助我们把SOA的神做出来,以及我们的工具、我们的管理,真正你去参与的话,SOA有一套方法论,它和原来做的不一样的地方是它有一套系统,而且从哲学的高度更是能够反映自然的和谐。这个自然的和谐带到IT行业里面就是IT系统能够得到客户的认可,使他们的业务做的更和谐。
最后,SOA任重道远,还是需要大家共同努力,才能使SOA在中国各个行业开花结果。谢谢大家。