论文部分内容阅读
时下,SOA正成为国际大厂商和CIO们共同的热点话题。与此同时,各分析机构乐观预测,SOA将大行其道。但放眼全球,由于缺少更多的成功案例,SOA正逐渐招致CIO怀疑的目光。
在未来,到底SOA将扮演一个怎样的角色?企业千差万别,IT系统又是各具特色,他们该如何寻找SOA路线图,实现SOA就绪?怎样让SOA发挥更大的效益?是什么使得CIO们在SOA面前变得永无宁日?
我们走近大师——SOA的鼻祖Eric Newcomer,听听他的声音。
来自CIO的置疑
2006年,在日本举行的年会上,Gartner公司乐观预测,SOA即将成为应用主流,到2007年,会有超过50%的企业采用SOA体系,到2010年该比例将会达到80%。但这一乐观预测遭到用户的广泛置疑,这到底是为什么?
记者:关于SOA的讨论已经很多,众多厂商也在各种场合不遗余力地宣讲SOA,但到目前为止并没有大面积推广起来。在您看来,其中的原因是什么?
Eric:许多机构仅凭它们在使用诸如SOAP、WSDL和(或)UDDL等Web服务技术,就认为它们已经采用SOA了,这对用户是一个误导。
其实,SOA是一种设计方式,它指导着业务服务在其生命周期(从构思开始,直到停止使用)中创建和使用SOA的方方面面。SOA也是一种定义和提供IT基础设施(IT Infrastructure)的方式,它允许不同应用之间交互数据、参与业务流程(Business Processes),无论它们各自背后使用的是何种操系统或采用了何种编程语言。
从技术上来说,目前已经有很多厂商开发出具备SOA形态的产品,如果一个用户要想从局部实现SOA,比如在企业内部采用SOAP协议实现功能的调用,买一个产品很快就可以实现。但作为一种实现业务和IT高度融合的IT架构方法,“SOA化”是一种很长的过程,一个企业用户肯定需要更长的时间。以IONA的客户为例,他们在SOA上的计划都是长期的、战略性的。以SOA的关键功能——集成来说,一个企业在长期运营过程中,将不断面对来自这方面的挑战,集成问题正成为那些CIO和IT经理们心照不宣的秘密。
记者:那到底是什么在影响SOA的进程?
Eric:从用户角度来看,有很多因素会影响企业接受SOA,主要包括:
首先,企业必须投入足够的精力和人员进行技术和业务流程的培训,才能确保所开发的服务是可重用的。
其次是如何更好地处理现有应用与新架构的关系。某些原有的应用需要加以调整或者借用另外的程序后才能融入SOA,应由业务分析师来定义业务流程,由系统架构师来将流程变为规约和规则,再由软件工程师来开发新的代码,而项目经理要跟踪整个过程。这是一项复杂的工作和过程。
第三是长、短期成本的管理。构建一个全面SOA的成本并不低,对现有系统进行再工程(Reengineering)的耗费是巨大的,并且回报期也比较长。
SOA与技术无关
在SOA的拥趸中,不乏很多的中间件厂商,甚至包含着EAI(Enterprise Application Integration,企业应用集成)厂商,他们都打着集成的口号进军SOA。面对不同的编程语言、技术架构、技术标准和供应商,用户会问,SOA的实现是否与具体的技术有关?
记者:我们知道,IONA是包括W3C、OMG、OASISI在内的很多SOA标准组织的成员。这是不是会给您参与制定SOA的标准带来一些困难?
Eric:有些人可能会感到惊奇,但面向服务的架构(SOA)确实已经存在20多年了!因为SOA是基于一种设计理念及一系列设计原则的,而这些都与技术无关——尽管SOA已经应用了这么多年,并遵守着一些公共原则。
在过去20多年里,可用于实现SOA的技术是多种多样的,它们包括:分布式对象——CORBA、J2EE、COM/DCOM,面向消息的中间件——WebSphere MQ、Tibco Rendezvous,事务处理监控器——CICS、IMS、Encinia、Tuxedo,B2B平台——ebXML、RosettaNet。
在这些技术中,有的适于构建SOA,有的则不然。一个技术,如果具有越多“与Web服务平台相当”的能力,它就越适于构建SOA。
对于任何用户而言,他们都希望能有一个统一的标准,以提高“技术的经济性”,这就是标准的价值所在,在SOA领域也是一样。对用户来说,这样实现SOA就会更为简便:比如,包括CA、IBM、BEA在内其他公司也可以用,但是同时又保持独立。
记者:一直以来,业界都存在着两个相互对立的观点:有人认为SOA将代替传统的EAI,而有人认为SOA概念的成熟将进一步推动EAI厂商的发展。您如何看待这两种对立的观点?
Eric:在我看来,SOA是革命性的技术进步,从某种意义上讲,SOA可以被看作是EAI的一种延续,但不是简单的延续。EAI与SOA同样解决企业集成的问题,但SOA解决的问题远比EAI解决的IT问题多得多、复杂得多,因此产生的影响要深远得多。
在企业IT系统中,有一部分集成问题是可以通过EAI来解决的。但是,EAI解决集成的问题往往是在事后,企业碰到了集成问题,才去想办法通过EAI来解决。与之相反的是,SOA架构解决企业集成的问题是事先的,也就是说,企业在一开始搭建SOA这一IT架构的时候,就已经考虑了集成的问题。这是SOA区别于EAI的一个重大不同。
另外,EAI解决集成问题时,可能会带来更多其他集成问题,最终会带来一个更加复杂的IT架构。SOA解决这些集成问题时,是将现有的系统以统一的标准接口进行一次重新梳理,不会再带来新的集成问题。它承认并尊重企业现有的IT架构,不会再引进不能兼容的新的IT架构。SOA会使得企业业务层面更加灵活,企业可以根据现有的企业IT系统的各种服务,组建新的流程,这就是SOA最大的特点之一。
SOA方法论与路线图
在很多技术问题之外,SOA的成功实施需要一个企业或组织做大量的工作,也就是说,SOA的实施是一个永续的过程。应该说,每个企业的业务和IT系统都是不同的,是否存在SOA就绪的方法论和路线图?
记者:面对SOA,很多用户不知道如何下手,应该采用什么样的方法。IONA是否从历史案例中总结出经验?
Eric:从用户方面来看,“自上而下”和“自下而上”的方法均可以使用。总结起来,就是9个字,“思于博,始于细,成其大”,这也是IOAN的企业理念。首先要根据企业的业务需要,通盘考虑需要的SOA架构,用中国的一个成语,叫“胸有成竹”;其次是从一个局部做起,以渐进的方式向SOA架构演进,避免大而全的SOA实施,这样可以最大程度地规避项目风险,降低初期投入;再次就是在局部成功实施SOA的基础上,构建完整的SOA架构系统。
作为全球分步式SOA的领导者,IONA公司的SOA成功案例,大多通过分布式的、基于标准的途径实现。其中最主要的特点就是用户可以渐进式地采用SOA。这样做的目的很明显,就是要降低客户初期的以及大规模实现SOA时的成本,IONA不需要企业用户再去购买服务器。具有讽刺意味的是,现在100%的SOA解决方案提供商都希望用户采购他们的应用服务器,然后在这些应用服务器之上去构建用户的SOA体系,用户的成本就大大提高了。
其次是使用国际标准,体现可兼容性,体现技术上的中立。可以说,用户业务是随时变化的。因此基于开放标准的解决方案对他们来说至关重要,这样可以广泛兼容现有系统,并为快速响应未来的业务变化打下坚实的基础。
记者:企业在实现SOA过程中,应如何发挥SOA最大功效?
Eric:一个企业要想最大化地发挥SOA的功效,需要从多方面来进行深入思考并做好准备,从而实现SOA就绪。
企业首先要建立新的成本及利益模型,然后利用新的团队建立业务框架模型。这个团队对业务进行整体规划和设计,打破单个业务使用独立IT系统的模式,特别是那些可以重复使用的,并判断哪些流程适合这一模式。
在此基础上,企业需要应用开发商不断提高技能并提供服务,需要应用程序开发商使用多种新的技术开发重用软件、不断提高服务能力正成为用户一项重要的技能。同时,建立区别于传统的技术支持中心。
我们可以把SOA看作是工厂里的产品装配线。它是一笔对将来业务运营的投入。所以在这笔投入发挥效益之前,需要做相关的计划、设计和开发工作。正如生产线上制造的第一辆车的花费要比第1000辆高出很多一样,用SOA部署的第一个服务所需的花费要比部署第100个多出很多。SOA的优势是逐渐体现出来的,不能一蹴而就。
记者:这么说来,SOA对一个企业来说将是一个长期的过程。是什么原因促成SOA过程的长期化呢?
Eric:導致企业在SOA上长期不断投入的主要因素包括:兼并与收购,内部重组,应用和系统整合,不一致、重复和零散的数据的共享,新业务战略,遵守政府条例,保持业务流程流畅等。
SOA治理(SOA Governance)的目的是让软件治理与业务治理相互配合,包括协调各领域之间的软件开发、软件获取及软件重用,以取得最大程度的机动性和规模经济性与范围经济性。SOA治理认为服务是整个生命周期都需要管理的企业资产。
在未来,到底SOA将扮演一个怎样的角色?企业千差万别,IT系统又是各具特色,他们该如何寻找SOA路线图,实现SOA就绪?怎样让SOA发挥更大的效益?是什么使得CIO们在SOA面前变得永无宁日?
我们走近大师——SOA的鼻祖Eric Newcomer,听听他的声音。
来自CIO的置疑
2006年,在日本举行的年会上,Gartner公司乐观预测,SOA即将成为应用主流,到2007年,会有超过50%的企业采用SOA体系,到2010年该比例将会达到80%。但这一乐观预测遭到用户的广泛置疑,这到底是为什么?
记者:关于SOA的讨论已经很多,众多厂商也在各种场合不遗余力地宣讲SOA,但到目前为止并没有大面积推广起来。在您看来,其中的原因是什么?
Eric:许多机构仅凭它们在使用诸如SOAP、WSDL和(或)UDDL等Web服务技术,就认为它们已经采用SOA了,这对用户是一个误导。
其实,SOA是一种设计方式,它指导着业务服务在其生命周期(从构思开始,直到停止使用)中创建和使用SOA的方方面面。SOA也是一种定义和提供IT基础设施(IT Infrastructure)的方式,它允许不同应用之间交互数据、参与业务流程(Business Processes),无论它们各自背后使用的是何种操系统或采用了何种编程语言。
从技术上来说,目前已经有很多厂商开发出具备SOA形态的产品,如果一个用户要想从局部实现SOA,比如在企业内部采用SOAP协议实现功能的调用,买一个产品很快就可以实现。但作为一种实现业务和IT高度融合的IT架构方法,“SOA化”是一种很长的过程,一个企业用户肯定需要更长的时间。以IONA的客户为例,他们在SOA上的计划都是长期的、战略性的。以SOA的关键功能——集成来说,一个企业在长期运营过程中,将不断面对来自这方面的挑战,集成问题正成为那些CIO和IT经理们心照不宣的秘密。
记者:那到底是什么在影响SOA的进程?
Eric:从用户角度来看,有很多因素会影响企业接受SOA,主要包括:
首先,企业必须投入足够的精力和人员进行技术和业务流程的培训,才能确保所开发的服务是可重用的。
其次是如何更好地处理现有应用与新架构的关系。某些原有的应用需要加以调整或者借用另外的程序后才能融入SOA,应由业务分析师来定义业务流程,由系统架构师来将流程变为规约和规则,再由软件工程师来开发新的代码,而项目经理要跟踪整个过程。这是一项复杂的工作和过程。
第三是长、短期成本的管理。构建一个全面SOA的成本并不低,对现有系统进行再工程(Reengineering)的耗费是巨大的,并且回报期也比较长。
SOA与技术无关
在SOA的拥趸中,不乏很多的中间件厂商,甚至包含着EAI(Enterprise Application Integration,企业应用集成)厂商,他们都打着集成的口号进军SOA。面对不同的编程语言、技术架构、技术标准和供应商,用户会问,SOA的实现是否与具体的技术有关?
记者:我们知道,IONA是包括W3C、OMG、OASISI在内的很多SOA标准组织的成员。这是不是会给您参与制定SOA的标准带来一些困难?
Eric:有些人可能会感到惊奇,但面向服务的架构(SOA)确实已经存在20多年了!因为SOA是基于一种设计理念及一系列设计原则的,而这些都与技术无关——尽管SOA已经应用了这么多年,并遵守着一些公共原则。
在过去20多年里,可用于实现SOA的技术是多种多样的,它们包括:分布式对象——CORBA、J2EE、COM/DCOM,面向消息的中间件——WebSphere MQ、Tibco Rendezvous,事务处理监控器——CICS、IMS、Encinia、Tuxedo,B2B平台——ebXML、RosettaNet。
在这些技术中,有的适于构建SOA,有的则不然。一个技术,如果具有越多“与Web服务平台相当”的能力,它就越适于构建SOA。
对于任何用户而言,他们都希望能有一个统一的标准,以提高“技术的经济性”,这就是标准的价值所在,在SOA领域也是一样。对用户来说,这样实现SOA就会更为简便:比如,包括CA、IBM、BEA在内其他公司也可以用,但是同时又保持独立。
记者:一直以来,业界都存在着两个相互对立的观点:有人认为SOA将代替传统的EAI,而有人认为SOA概念的成熟将进一步推动EAI厂商的发展。您如何看待这两种对立的观点?
Eric:在我看来,SOA是革命性的技术进步,从某种意义上讲,SOA可以被看作是EAI的一种延续,但不是简单的延续。EAI与SOA同样解决企业集成的问题,但SOA解决的问题远比EAI解决的IT问题多得多、复杂得多,因此产生的影响要深远得多。
在企业IT系统中,有一部分集成问题是可以通过EAI来解决的。但是,EAI解决集成的问题往往是在事后,企业碰到了集成问题,才去想办法通过EAI来解决。与之相反的是,SOA架构解决企业集成的问题是事先的,也就是说,企业在一开始搭建SOA这一IT架构的时候,就已经考虑了集成的问题。这是SOA区别于EAI的一个重大不同。
另外,EAI解决集成问题时,可能会带来更多其他集成问题,最终会带来一个更加复杂的IT架构。SOA解决这些集成问题时,是将现有的系统以统一的标准接口进行一次重新梳理,不会再带来新的集成问题。它承认并尊重企业现有的IT架构,不会再引进不能兼容的新的IT架构。SOA会使得企业业务层面更加灵活,企业可以根据现有的企业IT系统的各种服务,组建新的流程,这就是SOA最大的特点之一。
SOA方法论与路线图
在很多技术问题之外,SOA的成功实施需要一个企业或组织做大量的工作,也就是说,SOA的实施是一个永续的过程。应该说,每个企业的业务和IT系统都是不同的,是否存在SOA就绪的方法论和路线图?
记者:面对SOA,很多用户不知道如何下手,应该采用什么样的方法。IONA是否从历史案例中总结出经验?
Eric:从用户方面来看,“自上而下”和“自下而上”的方法均可以使用。总结起来,就是9个字,“思于博,始于细,成其大”,这也是IOAN的企业理念。首先要根据企业的业务需要,通盘考虑需要的SOA架构,用中国的一个成语,叫“胸有成竹”;其次是从一个局部做起,以渐进的方式向SOA架构演进,避免大而全的SOA实施,这样可以最大程度地规避项目风险,降低初期投入;再次就是在局部成功实施SOA的基础上,构建完整的SOA架构系统。
作为全球分步式SOA的领导者,IONA公司的SOA成功案例,大多通过分布式的、基于标准的途径实现。其中最主要的特点就是用户可以渐进式地采用SOA。这样做的目的很明显,就是要降低客户初期的以及大规模实现SOA时的成本,IONA不需要企业用户再去购买服务器。具有讽刺意味的是,现在100%的SOA解决方案提供商都希望用户采购他们的应用服务器,然后在这些应用服务器之上去构建用户的SOA体系,用户的成本就大大提高了。
其次是使用国际标准,体现可兼容性,体现技术上的中立。可以说,用户业务是随时变化的。因此基于开放标准的解决方案对他们来说至关重要,这样可以广泛兼容现有系统,并为快速响应未来的业务变化打下坚实的基础。
记者:企业在实现SOA过程中,应如何发挥SOA最大功效?
Eric:一个企业要想最大化地发挥SOA的功效,需要从多方面来进行深入思考并做好准备,从而实现SOA就绪。
企业首先要建立新的成本及利益模型,然后利用新的团队建立业务框架模型。这个团队对业务进行整体规划和设计,打破单个业务使用独立IT系统的模式,特别是那些可以重复使用的,并判断哪些流程适合这一模式。
在此基础上,企业需要应用开发商不断提高技能并提供服务,需要应用程序开发商使用多种新的技术开发重用软件、不断提高服务能力正成为用户一项重要的技能。同时,建立区别于传统的技术支持中心。
我们可以把SOA看作是工厂里的产品装配线。它是一笔对将来业务运营的投入。所以在这笔投入发挥效益之前,需要做相关的计划、设计和开发工作。正如生产线上制造的第一辆车的花费要比第1000辆高出很多一样,用SOA部署的第一个服务所需的花费要比部署第100个多出很多。SOA的优势是逐渐体现出来的,不能一蹴而就。
记者:这么说来,SOA对一个企业来说将是一个长期的过程。是什么原因促成SOA过程的长期化呢?
Eric:導致企业在SOA上长期不断投入的主要因素包括:兼并与收购,内部重组,应用和系统整合,不一致、重复和零散的数据的共享,新业务战略,遵守政府条例,保持业务流程流畅等。
SOA治理(SOA Governance)的目的是让软件治理与业务治理相互配合,包括协调各领域之间的软件开发、软件获取及软件重用,以取得最大程度的机动性和规模经济性与范围经济性。SOA治理认为服务是整个生命周期都需要管理的企业资产。