软件世界:SOA中国的关键任务


 2008-06-24 00:00:00       749

SOA中国的关键任务

在SOA理念盛行的今天,为了帮助SOA落地,各个SOA厂商纷纷祭出了ESB的大旗,开始鼓吹ESB的神奇作用,仿佛有了ESB就等于实现了SOA。对ESB在构建SOA项目中的盲目夸大严重误导了用户,使得SOA的实施往往走入迷途,因为它忽略了SOA更为重要的内容--服务的构建。

当企业要实施SOA时,即使在购买了ESB、BPM等新型的服务路由与编排等软件产品后,若没有灵活、标准、可复用的SOA服务本身,就类同于一个城市在没有汽车的情况下,大规模地建设高速公路,似乎好看却无实效。可以说,如果不能很好地解决SOA中“S”(服务构造)的问题,SOA的全面有效实施将寸步难行。

而在中国的SOA项目中,服务的构建显得更加重要,普元CEO沈惠中说:“目前中国SOA的困惑在于没有‘服务’的存在,所以当前首要的任务是把服务做出来。”

普元副总裁,OASIS SOA技术委员会专家程朝晖认为,SOA项目的整个生命周期来看,无外乎四个方面的问题--服务构造、服务管理、服务流程和服务治理。这其中,服务治理是SOA实施进入成熟阶段后,所需解决的问题;服务管理和服务流程则可通过目前国外众多厂商所提供的企业服务总线(ESB)、业务流程管理(BPM)等方案得到较好解决。但对于中国客户实施SOA最为基础也是最为关键的“服务构造”这—环节--它们包括服务的规划、标准、实现等,却才是众多中国客户须马上面对却又难以逾越的一道鸿沟。

构件是搭建服务的捷径

既然服务的构建如此重要,那么如何来搭建一个服务呢?不同的SOA厂商有不同的策略和侧重点,普元公司则把构件作为服务搭建的核心。“通过构件拼成服务,再把服务拼成应用,最后很多应用拼成一个企业的IT环境。”沈惠中说。

在SOA项目中服务构造是一件非常繁琐的事情,其中服务粒度的定义尤其是困难。“服务的颗粒化问题是没有解的。”程朝晖这样告诉记者。因为服务粒度需要根据业务的实际状况来定义,而业务的需求则是不断变化的,从整个企业的角度上来梳理业务需求,找到灵活性和效率的最佳平衡点来构建服务是一件困难的事情,也可以说是一个伪命题,因为你永远无法找到最好的答案。

沈惠中说:“服务做多大和做多小,大家都很难定。以前我们说软件要变,所以把它拆成很多小的服务,问题是服务也定不了,它也要不断的变化。”

但是构件化的方案则可以在一定程度上解决这个难题,或者说避免直接面对这个问题。沈惠中指出,普元的思想就是继续拆,最后用最小的构件拼出来服务,这样服务拼大也行,拼小也行。“这样的方式做出来的服务是很灵活的,今天的服务要改了,我们就用现成的构件重新组装出一个合适的服务出来。”

构件之所以稳定,是因为它解决的是最底层的技术问题,往往不涉及到业务的需求,而这些技术问题在任何地方都是相同的。“这些原子级的构件都是收敛的,因此可以屏蔽需求的变化。”程朝晖说。

构件化、图形化和标准化是普元一直倡导的理念,除了通过构件的方式来灵活地组装新的应用,普元还为基于构件的开发提供了图形化的界面。程朝晖介绍,在普元提供的开发环境中,可以通过图形化的构件来拼装出流程和逻辑,就像画图一样,而不需要写代码来实现。这样不仅加快了服务构造的速度,也提高了服务的灵活性,可以根据需求的变化快速进行逻辑和流程的重新编排。

另外,作为SOA国际标准的唯一亚洲参与企业,普元的构件都是严格地按照国际标准来开发,因此这些构件不仅可以方便地互相集成,也可以和外面的系统很容易地实现对接。“这些构件就像螺丝螺母一样,是标准件,可以很容易地搭配起来。”沈惠中做了一个形象的比喻。

在构件之上,普元还提供了完整的组装环境和运行环境,沈惠中继续比喻说,就像飞机组装,来了一万个零件都能在我的环境中组装起来,同时这些零件能各就各位地运转起来。而在这个环境当中,普元也提供了完善的治理方案。

通过构件来组装服务,一旦服务需要变化,相应的构件组装方案也必须跟着变化,这时候普元就能提供一个所有构件之间依赖关系的清晰的视图,通过这个视图你可以快速地弄清楚各个构件之间的关系,并迅速地做出调整。同时也可以监控整个系统的构件库中每个构件的使用频率,从而可以优化构件的开发和装配。

“构件是有魔力的,他统一了业务、管理和技术之间的矛盾,使三者达到最好的平衡。同时它帮助中国企业只需要相对国外1/10的成本和时间,完成10倍与国外的性能和容量。另外构件又是艺术的,它进行了高度的抽象,并以唯美的形式表达出来,它让软件变得更美。”程朝晖向记者描述着构件的魅力。

软件业的福特模式

今年是福特T型车诞生100周年,1908年,福特开创性地利用流水线的方式,通过配件的组装生产了第一批T型车,批量的制作和低廉的价格使得汽车作为一种实用工具走入了寻常百姓之家,美国亦自此成为了“车轮上的国度”。

我们再看现代大型飞机的生产过程,各种或大或小的零部件分散在世界各地生产,最后集中在一个地方进行装配,模块化、标准化和大规模的协作使得大型飞机的批量制造变成可能。

工业化时代,标准化和分工协作是实现大规模制造的前提,制造业早已进入了这个阶段,甚至连文化和服务业也开始出现这种迹象,我们看看好莱坞的电影和麦当劳的快餐就会明白。而软件业同样也不会例外,“这是必然的趋势”,沈惠中说。

软件世界中的构件化(Componentization)正承担了这一使命。原来的应用系统则不断地被构件化所打破,企业渐渐不再有固定的应用系统,取而代之的是处于各个层面的模块构件来实现某个层面的相应功能。下图是构件化企业应用的一个范例。


 
企业应用通过底层的技术构件来作为实现应用的基础技术功能,技术构件的适用性往往是最为广泛和跨行业的,在各种应用中都会被高度复用。而再上一层的则是企业根据业务总体模型设计出来或是在不断的应用项目实践中不断提炼归纳出来的某个业务或是管理域的业务构件,这些业务构件往往是企业最为重要的资产和竞争能力。有了这些业务构件,企业就可以根据具体要实现的业务和管理流程,组成具体的应用实现,满足业务的需求。

业务构件化和技术构件化的逻辑模式首先让企业可以开始不断规划设计、项目积累和梳理回归不同层次上的技术构件、业务构件和业务流程,通过专业化分工和流程协同达到组织级能力的提升。并且在此过程中和基础上可以更为精细化地运营和管理。企业根据需要灵活注入对于业务和技术构件的管控和治理策略,从而找到自身的核心能力模块,找到自身的高利润业务职能模块。进而不断投入、扩展和优化自身的核心优势能力,限制、调整和外包自身的劣势能力,达到不断提升企业整体竞争能力和赢利能力的目的。

构件化通过模块化和层次化,梳理优化生产关系;通过专业化和流程协同提升组织级生产力。

另外,为了实现整个软件业的工业化运作,普元一直在倡导软件界的分工协作。“每个企业都专注在自己的领域里,从而构筑自己核心的竞争力,最后大家共同合作形成最终的解决方案。而普元只会做一个技术平台的提供者,帮助其他伙伴解决底层的技术问题。”沈惠中说。

 

相关阅读: