任何一种新技术、新模式的出现,都多多少少有点“石破天惊”的效果。SOA也是一样,没有一种技术是魔法,也没有一种技术在推广的过程中不会遇到问题。“‘SOA已死’的言论也正说明了一种新事物发展的正常规律”,用友软件股份有限公司U9研发本部总经理、总技术构架师黄涛说,“新生事物刚开始时会被逐步放大,如果出现某些问题,又很容易被打压。”

  而用友U9产品市场部总经理傅毅认为,SOA已死言论的诞生,可能是因为我们在对它的认识上存在一个误区。

  SOA并不是一个新名词,它的核心意义是组件化,而组件化是管理软件发展趋势的核心,之所以要通过SOA的名字提出来,是因为组件化最后又应用于互联网的平台,但它的本质还是组件化。因此,无论叫不叫SOA,软件工程始终是按照组件化的趋势去发展的。

  另外,当我们强调组件化的时候,大量的咨询公司和管理公司已经把组件化的高度提炼到企业本身角度了。因此管理软件厂商的发展也要遵循组件化。

  目前,国内管理软件厂商用友和金蝶在SOA方面投入了多年的持续研究,取得了令人瞩目的成绩。就SOA整体解决方案来说,国内厂商无论在整体产品架构还是咨询服务能力上,和国外的巨头之间的差距也正在缩小。金蝶中间件公司技术总监张勇说:“我们希望通过未来几年的努力,建立中国软件厂商自己的SOA软件体系和更为符合我们国情的服务咨询。”

  近期,用友正式对外宣布一条全新的重要战略业务线事业部成立。这一事件不仅意味着将支撑用友未来十年发展的旗舰产品正式独立运营,也将促使U9产品的销售从2008年的限制型转变为批量交付用户的规模应用期。

  作为一款基于SOA架构的世界级企业管理软件,U9不仅承载了用友自己的产品阶段跨越和历史使命,也让我们对SOA的认识和应用迈入了一个新阶段。

  用友是国内SOA的强烈拥护者。在具体的SOA实践上,用友有自己的SOA整体解决方案,它主要分为四个方面。一个方面是商务应用驱动,第二个是面向服务的全程应用开发,第三是企业最佳始建于可应用资产率,最后是应用开发框架与IDE。

  用友U9的组件化服务,不光是后台的组件,也有前端表现的组件,通过组装,U9交付表面上还是产品,但是这个产品是由不同服务组成的。UAP支持SOA架构,实现ESB支持BPM,第二个基于框架模型和模式,全面支持基于服务的可视化业务过程建模,自动生成组件代码框架控制服务和配置。遵循开放的技术标准,方便与其他软件的操作性,业务与技术相分离的架构,易于扩展和更新,内置国际化支持,全面支持集中式、分布式、混合模式的应用部署。

  2008年推出的完全基于SOA架构的产品U9是用友未来十年的主打产品。U9是从设计到实现完全SOA化的产品,在设计过程中,和IBM进行了深度的合作研究。在用友U9产品发开以前,就将SOA确定为U9技术架构的关键战略,并将这一战略决策在U9产品进行了彻底的贯彻和落实。

  U9 SOA帮助企业打造随需应用的IT架构,包括敏捷企业完全SOA解决方案,业务驱动的IT系统,企业应用开发平台UAP以及用户体验。它采用先进的SOA架构,构建出专业、安全、高效的企业管理软件平台UAP,率先实现了全程模型驱动开发(MDD)模式,实现了UAP Studio的集成开发环境,完全支持企业级的集成与应用协同。

  金蝶中间件作为一个基础软件厂商,应用服务器是它的主打产品,这为SOA提供了可靠的基础软件的支撑。

  在SOA的理念提出后不久,2005年,金蝶就开始实现自己的Web Service引擎。2007年金蝶推出了saaS的基础平台ApusicOperaMasks,同年推出Portal产品。2008年又推出了ESB平台。在2009年,金蝶预计还将推出BPM。通过这些产品,逐步构成金蝶自身特有的SOA基础支撑架构体系。

  目前“服务”这个组件的模型,是用SCA这个标准模型,那么SCA会给功能组件本身带来什么好处呢?张勇认为,从纵向技术本身来看,SCA并没有比EJB这样的组件技术有太多的发展。SCA更多带来的是一个松耦合、分布式的特性,在分布式的应用系统之间,带来很好的应用集成特性。

  同时,从金蝶公司目前的技术特征来看,SOA这样的框架在应用于新建系统时可能会带来性能问题。目前来说,SOA更适合于松耦合的异构系统之间的集成和整合。张勇说:“这也是目前金蝶关注的重点。”通过一系列的产品,通过金蝶不断的发展和完善,实现应用系统之间的数据集成、应用集成、流程集成和界面的集成。

  目前,金蝶的ESB产品,已经可以有效地解决应用系统之间的灵活的数据集成和应用接口集成。Portal产品,可以实现用户界面的集成。金蝶马上要做的BPM产品,可以实现流程集成。张勇说:“未来,在公共软件基础设施非常完善的情况下,我们还会尝试去做Mashup。”

  “目前来看,国内的企业或者政务部门,采用SOA去解决的难题,还是解决信息孤岛和跨系统的业务整合问题,”张勇说,“也就是,异构系统之间的集成和整合问题。”

  从金蝶中间件目前实施了几个项目,包括企业的项目和政务部门的项目,大部分都还是停留在数据集成的阶段。只有很少的部分开始基于Web Service、JMS接口这样的技术,进行异构系统之间的应用接口的串联和集成。不过,从长远来看,这样的情况会越来越多。未来3到5年的应用间的集成,不会再停留在数据的阶段,而是从业务层面,通过统一的认证和授权,通过统一的主数据管理,完成应用接口之间的根据业务需求的灵活、敏捷、有机、快捷的组合。

  SAP也是SOA的倡导者之一。最早开始SOA的应用是在2003至2004年,这个时期主要做平台;2004年至2005年主要致力于把业务解构划分为不同粒度的服务;2005年至2006年推出了商务套件Business Suite 6,把客户的业务需求转化为一个一个的SOA应用。

  SOA的企业应用由于功能复杂,关联性强,但又需要根据企业业务变化而快速更改,所以功能都要分解为组件来管理。而SAP既做标准的技术框架,也围绕SOA这个技术做应用,更多的是把原来的业务功能一个一个解构为服务,按照不同的业务功能划分为不同的粒度的服务。

  粒度不同,灵活性也就不同。划分的粒度越小,组件越多,功能也就越灵活,反之则灵活性降低,但并不是粒度划分的越小越好,不同的业务功能需要划分的粒度也不同。SAP平台NetWeaver,应用方面有商务套件Business Suite。另外,SAP还建立了自己的“企业应用知识库”。

  SAP致力于把企业的流程用SOA来表述,在SOA的基础上提出了eSOA,也就是企业服务架构。因为SOA体系是与具体业务无关,直接应用SOA开发基于之上的应用比较难,所以SAP又封装出了一层。eSOA是一个概念,它更强调企业里面SOA应用,把技术方面的标准过渡到业务标准。

  在eSOA中,服务被分为了四个模块,即业务流程组合与管理、业务介面服务、事件服务、信息组成与应用。而在具体处理这些服务模块的时候,要经过需求分析、建模与实现、创建与编排、、管理、优化修改,这样就形成了eSOA的一个完整的生命周期。

  在SOA的道路上,SAP仍然需要不断改进,使SOA应用促使产品更好的转型。未来在服务粒度的切分是否合理上,还需要市场的验证。

  这样看来,SOA把软件工程的组件和企业的组件结合到一起后,提出来的一个崭新的技术和管理思想。它来源于组件化的思想,同时当这个技术组件化的概念又覆盖于企业的业务职能的组件化的时候,就诞生了SOA的思想。SOA不仅是一种技术架构,更是一种技术业务的思想,它是新瓶装老酒,又是技术加业务整合的一个产物。如此说来,对SOA生死存亡的担心就是多余的了。