SOA在整合复杂业务应用方面优势明显,但随着应用的深入,许多用户对于如何有效驾驭SOA仍然感觉到困惑,这也成为企业应用SOA的主要障碍。为了推进SOA的部署与应用,《计算机世界》举办了“2007 SOA应用年会暨SOA应用方案颁奖典礼”,来自企业、用户、院校的各方代表从多个角度勾勒出了SOA的应用与架构。
SOA部署应用作为IT应用中的亮点,一直受到用户、厂商等多方的追捧和关注。据Gartner公司预测,2007年在新生以及实现关键任务程序和商业处理中,SOA应用范围将超过50%,到2010年这一数据将超过80%。
目前,国内用户也已经清晰认识到SOA在整合复杂业务应用的重要性。业内专家表示,如果说从2006年开始,SOA是推进产业发展的契机,那么到2007年,SOA就已经进入实际部署应用时代。随着应用的深入,许多用户对于如何有效驾驭SOA这一优势明显的技术仍然感觉到困惑,这也成为企业应用SOA的主要障碍。
正是在这一背景下,为了推进SOA的应用,《计算机世界》举办了“2007 SOA应用年会暨SOA应用方案颁奖典礼”。在本次SOA年会上,来自企业、用户、院校的各方代表,围绕当前SOA部署应用的主流热点,以及如何在千差万别的业务应用中驾驭SOA,分享、交流了各自的思想。虽然各方的观点各不相同,但正是这些真知灼见从多个角度勾勒出了SOA的应用与架构。
SOA时代的企业应用
在技术和业务新的发展趋势下,IT在企业中应用的目标已经从要求减少成本转为增加收入,这也就要求企业必须在IT与业务结合上持续创新。
20世纪90年代,几乎所
有企业都在搞业务流程再造,结合ERP企业资源管理,以此提高效率。到了2000年,电子商务借助互联网的发展应运而生,但是电子商务相关技术在企业中得到很好应用的案例仍旧是凤毛麟角。
对于当下企业IT应用发展最新的态势,SAP中国大中华地区首席技术官张侠指出,“整个企业发展的新业务模式,都是基于SOA的技术理念结合在一起的。”张侠认为,SOA的优势在于从底层通过标准化的接口,使各种标准技术实现流程优化和低成本运行,并通过各种各样的方法使得业务流程变得更具灵活性,用所谓的复合应用对应业务,最终通过各种各样软件模式把信息传递给企业的业务用户,使得他们利用这些信息为企业创造价值。“为什么企业用户会对SOA感兴趣,就是因为SOA是在为企业用户服务。”张侠说。
SAP工程师宁建华表示,SAP强调在SOA基础之上增加企业服务,其中包含两层含义:一是所谓的Web服务;二是客户通过自助服务将自己想做的事情做好。对于后者就不单单是提供技术上的Web服务,而是提供一个有业务功能的服务,比如说订单处理、服务的一些自助处理等。
对于SOA企业应用,中创软件商用中间件有限公司段文良则认为,越来越多的企业用户都在强调业务协同,就是将具有共同商业利益的合作伙伴整合起来,通过对整个商业周围中的信息进行共享,实现和满足不断增长的客户的需求,同时也提高企业本身的活力。通过整合各个合作伙伴的竞争优势,共同创造和获取最大化的商业价值。
针对SOA的实施部署,中创软件对中间件进行了分装和改造,提供一系列中间件来满足SOA的部署需要。“其中主要分为三部分:服务开发、服务管理和服务运行,主要包括的服务有展现进服务、业务服务、数据服务以及通用性的公共服务。”
段文良进一步解释,“展现服务主要包括有界面层的应用润色的支持,包括内容发布服务、数据可视服务、报表服务、单点登录服务、权限管理服务、表现逻辑编排服务、安全保护服务等。业务流程服务作为一个核心的服务,在整个流程管理平台中提供流程的建模、设计、开发、执行、监控甚至之后分析的全程支持。
通过业务流程服务的实施能力提高企业的核心竞争力,把面向部门、面向具体垂直管理系统的部门转化为一个面向全局流程的企业。中创利用企业级的集成中间件来实现数据基础服务,包括可以提供数据统一访问、数据采集、数据转换、数据传输等服务。另外,公共服务包括容器服务、目录服务、安全服务、事务服务等。”
SOA应用回归理性
虽然用户对SOA应用的受关注程度越来越高,许多厂商也带着各自的目标和期望值将SOA产品投放市场,但我们看到的结果却不容乐观,有的一败涂地,有的困难重重。这不免
让厂商和用户都开始回头审视SOA应用。中科院计算技术研究所研究员韩燕波教授认为,“SOA得到广泛的关注,应用存在盲目性,特别缺乏长远的合理的规划,SOA不是一种能治百病的良药,吃了以后第二天就有明显的效果,实际上它更需要合理的规划。”
中创软件商用中间件有限公司副总经理黄三伟则认为,SOA应用像其他技术一样,要按照其具有的模式和规律来发展。
黄三伟表示,面向服务代表的是一种理念,是围绕服务对象,通过构建灵活的体系架构,满足服务对象需求的一种理念。对于业务系统设计者来说,面向服务体系架构最为重要的是让他们更多地关注系统、部门、企业和组织之间的业务集成,能随需地调整业务流程和综合业务应用。而对于服务对象来说,SOA能更好屏蔽后台复杂的业务流程和业务处理。
IBM软件集团大中华区总架构师寇卫东更是套用中国的太极拳和国画对SOA应用进行了全新的阐释。他认为,太极拳所讲究的“心志到、气血通、招式对,重心顺势四两拨千斤”和SOA应用有着异曲同工之处。“心志到”意指练拳时提起精神,心静无丝毫杂念;SOA的应用不能报着尝试的态度,而是要静下心一步一个脚印地实施。“招式对”,太极拳一招一式连起来就是套路,这就像SOA应用的流程,招式串接成为套路,而每一个套路中可能有一个招式得到重用,而SOA应用里面最主要的思想也是流程的重用。“气血通”,血脉流通才可以使人富有活力,也是很多人练太极拳的目标之一。
而对于SOA应用来讲,IT应用并非冰冷的机器和各种固定的流程。它们也是具有生命的,信息就是在它们间流动的“气血”,它们的生命就是在于信息的流动。太极拳强调“重心顺势四两拨千斤”,一旦对方出现小小破绽,就可以施以巧力将其制服。对于SOA而言,追求架构灵活、适应变化,把各种各样的资源整合在一起,也是为了达到以最小的代价“以柔克刚”来实现最终的目的。
寇卫东还认为,很多用户都在为SOA应用如何落地而发愁,如果能按照中国国画“行、意、神”来理解SOA,那SOA应用落地也就易如反掌。“国画所讲究的‘形’,就是把大的框架画出来,‘意’是把想画的内容填进去,‘神’就是把神态描绘出来。SOA也是这样,‘形’是搭建SOA关键部件与基础架构,‘意’是整合业务、流程、信息,‘神’是按照自己的理念来实施。”
在介绍IONA的解决方案如何方便SOA落地时,爱尔兰IONA科技有限公司技术总监张雪枫也表示,“对于SOA应用来说,IONA实际上不希望用户一步实现终极目标,而是一步一步达到SOA的整体架构方案。在实现的过程中,要进行系统调研,分析哪些系统适合实施SOA,从而确定应该如何设计架构。在最终确定的设计基础上,还需要对集成的系统部署ESB(企业服务总线)产品,使得这些系统提供Web服务的接口。但是,服务的流程会因此变得复杂,所以还需要再进行一些服务的编排,以满足一些服务库和服务治理的要求,最终真正达到SOA最理想的状态--不尽要使服务可以重用,而且服务容易得到管理和编排,能够适应企业快速部署。”
SOA以使用者为中心
SOA强调以“使用者”为中心。以往的信息系统架构是人围着技术转,譬如服务器、数据库,做大量的二次开发和维护工作。而SOA
架构下的信息系统则如同餐馆服务员围着食客转。对使用者而言,服务(即业务所需要的功能)是一个屏蔽了复杂的底层技术的黑盒子,使用者不必了解内情,只管调用。而且这些业务功能是完好封装的,可以在不同业务流程中通过标准接口多次调用。
对于SOA架构,北京东方通科技有限公司技术总监李青春的观点是,SOA所关注的视角就是关于服务的使用,如何使用服务,方便灵活地进行系统重构。在SOA大的范畴里面,一些设施是松耦合连接起来,而不是像以往那样很紧密地耦合在一起。
“SOA也是一种顶层设计方法,使架构设计师更多地关注业务及业务之间的交互。SOA本身还需要有一个机动的IT基础设施来支持,支持面向服务系统开发、部署和管理的基础”。黄三伟认为,首先需要有一个协议转换支持异构的、已有的应用或数据;将简单的服务组合成具有复杂业务功能的组合服务,通过流程的编制,实现业务之间的交互;应用可以集成到企业门户中,服务之间的交互是基于消息的,是一种松耦合的状态。服务的定位对于服务消费者而言是透明的,使得服务不但是可管理的,而且服务的质量也有所保障。
金蝶公司Apusic SOA产品支持总监王学军则表示,SOA架构的总体发展方向就是要解决用户业务与IT技术之间的隔阂。“展望未来,用户可以自己用IT技术解决自己的问题,而不需要专业的技术人员去维护和支持。业务的不断变化,促使我们为用户提供SOA这样一个技术架构支撑,另外,从用户IT基础架构来讲也需要这样一个变化。”
网络化SOA
IT应用大都是基于需求建立的,也是基于各种技术建立的,所以它必然面临时间跨度大、协议种类繁多的局面,从而容易形成各种“信息孤岛”。纵观目前电信、金融服务、政府、制造
、物流、医疗卫生等各个行业,都有很多“信息孤岛”存在。而对于客户而言,如何在第一时间得到最及时的服务,并且是最有价值的服务,这就需要对“信息孤岛”进行整合,充分挖掘已经建立的IT资产。
爱尔兰IONA科技有限公司大中华区总裁薛志勇认为,如果要对IT应用进行整合,就需要有一些相应的工具和技术,最好的方式就是利用一种网络化的方法进行整合。所以,IONA提出网络化SOA,可对基于不同中间件协议的应用进行整合。
薛志勇认为,这和当初TCP/IP的整合非常类似的,整合的关键就像当初的多协议路由器一样,需要有一个多协议的“桥”。这座“桥”就是现在的ESB,这样一个“桥”面临着多重的中间件协议,包括MQ、CORBA等,同时它也基于开放标准的Web Service协议。
具体到网络化SOA的具体形式,薛志勇说:“SOA网络首先要对多协议的应用环境进行封装,封装为Web Service标准;还要具备对SOA管理的模块和功能,对SOA要有安全服务;如何保证使用SOA的QoS,还有如何注册以及进行策略的管理,这些都是SOA注册、存储库要做的功能。
服务编排把不同的服务基于应用进行整合,就像VPN,可以根据服务调用不同的应用。除此之外,SOA网络还要具备SOA定位服务,保证在找到某个应用的时候,顺利调用这个应用。这就是网络化的SOA,就像互联网一样,给大家提供了一个全面功能性的解决方案,有了这些方案,很多企业CIO关心的SOA实施、管理、安全等问题都可以迎刃而解。”
SOA的开源时代
在互联网时代,建立在单纯技术垄断基础上的企业盈利模式已经丧失了主导地位,而以免费共享技术资源为手段、以多方共赢为目标的开源精神,给软件行业乃至整个工商界带来全面
革新。开源软件在很大程度上体现了一个新的软件开发模式,最终帮助所有开发人员以及用户进行相应的合作。
据来在Huihoo开源组织的程勇介绍,下一代SOA的支撑运行环境OSGi就具有开放的规范。
“现在,包括IONA、IBM等厂商在内都已经开始在中国提供具有保障的开放源码的服务。”程勇透露,软件厂商通过一些成熟的技术与开放源码社区的活跃份子进行互动,来推出开放源码的核心服务,最后通过咨询、服务的方式来为不同行业提供专业服务。这已经成为开放源代码在中国落地生根的一种途径。
程勇表示,“开放源码SOA的优势首先是简单、开放、可购买,能够快速部署到现有应用里面;第二,所有开放源码都采用统一的标准;第三,起步的成本相对低廉。第四,性能高效而稳定。所以,真正高质量的开放源代码体系完全能够支撑SOA架构的实施。”