数年来, SOA一直都是大家所关注的热点技术。但是,到目前为止,这项“值得关注”的技术仍然处于推广应用的早期阶段。企业该如何部署SOA项目,满足其业务发展的需求呢?记者于近日专程采访了BEA系统有限公司首席技术官Rob Levy先生。
将技术融入业务
记者:从许多失败的SOA案例中可以看到,其中一个重要原因是很多IT工程师仅从技术的角度看待业务问题,SOA的精髓是从业务角度看待IT,BEA如何帮助这些工程师转变以往的观念?
Rob Levy:有一些SOA项目失败,源于很多人把它当作一个纯粹的项目对待。BEA认为作为一个成功的SOA实施,必须结合两方面。一方面,必须以业务的思维从投资回报率(ROI)的观点考虑这个项目,同时又要根据技术的能力和工具来进行定制。
首先,针对业务人员,BEA能够提供一种方法帮助人们更好地了解业务。具体而言,我们可以提供一系列工具,让他们不需要掌握任何技术技能,而以他们自己非常熟悉的业务思维方式思考,例如以思考ROI的方式思考这个项目。所以,我们并不要求、期待业务人员了解明白任何编程、组件的术语,我们以他们了解的语言与他们沟通,我们会与他们谈SOA服务协议、ROI和业务流程,我们给他们由这些语言组成的工具,如WorkSpace360°,让他们从更高的层次理解这个项目。
另一方面,是针对工程师的,我们也不期待工程师能够完全了解业务方面的语言。既然SOA包括了编程和业务,那么我们就必须把业务逻辑和编程逻辑的应用、执行分开。所以我们会有架构师,由他们负责翻译业务语言和工程语言。我们会给架构师一些工具,让他根据业务要求定义组件,再根据组件建立必要的业务的流程,这就意味着工程师能够开发这些组件而不需要了解具体的业务流程。所以,我们也会为工程师提供编写描述这些组件的工具,帮助他们利用这些工具把组件放到数据库,并且在数据库中发现可以重复使用的原来就存在的组件,所以这些组件的可复用性和可视性都提高了。工程师在做这些工作的时候并不需要担心这些组件为哪些流程所使用。所以这就是我们的魔力所在。
记者:有些人认为,开发平台应该作为工程师和业务人员的交互工具,而您刚才在他们之间加了一个架构师,您认为这样做的意义是什么?
Rob Levy:其实我谈了四个角色:工程师、架构师、业务人员、IT人员。之所以加入了架构师和IT部署人员,是因为我们能够建立了全球参考框架(架构)。其实架构师的工作不是定义具体的编码,而是建立一个统一的开发视图,比如选择开发的环境和部署环境。尽管在WorkSpace360°中,他是为四种角色提供工具的,但是架构师可以跳过开发人员直接到IT人员。比如,我们编写了一个应用,这个应用可以访问多少个数据库以及哪几个数据库,这是由架构师决定的。
其实架构师也分为两种,一种是技术导向的架构师,他主要关心什么样的开发环境和什么样的参考架构,另一种是业务导向的,负责以电脑语言将纯业务需求定义为统一的业务流程。
循序渐进 灵活部署
记者:2006年Garter的一份报告显示:2008年将有83%的企业部署SOA,但是今天中国的大部分企业仍在犹豫是否部署SOA,如何打消他们的疑虑?
Rob Levy:首先,SOA不是一个简单的应用架构,它将带来一系列其它改变,比如企业组织的调整。事实上,其它国家的企业和中国企业也有同样的犹豫。这些企业的CIO、CTO不仅仅想获得SOA作为技术带来的价值,还想全面捕捉到SOA各方面的精神。
不会有公司突然宣布:“我们公司要进行SOA全部的部署”。事实上,大部分公司在部署SOA时,都是一步一步地进行。很多的CIO、CTO都是先在某些领域进行SOA部署试点,一旦这个测试点成功了,那就会快速地、加速地进行SOA部署。所以,他们之所以犹豫,就有如当你还没有学会游泳的时候,别说全身投入冷水中,就算是把一只脚伸进冷水你也不愿意,只有当你学会游泳,才会全身心地投入其中,速度才会快起来。
记者:在SOA部署过程中,可视化非常重要。如何才能够让企业获得360度的可视化SOA部署?
Rob Levy:可视化分为几个层次,最基本的层次是将业务流程和可以重复使用的组件分开。所以首先应该具备这样的能力——能够在整个的资料库中可以看到现有的业务流程、组件以及业务流程与组件以什么方式组合在一起。
第二个层次是对投资回报率的影响。负责SOA项目执行的人员,必须能够清晰地看到并展示在新的SOA投资以及能够带来的非常明显的效率提高。我们的WorkSpace360°就提供了一系列能够衡量尺度的工具,比如各组件的可重复使用的级别,编写了多少编码,和项目开始到部署到结束的时间周期。
第三个层次是可跟踪性和审计,这是从法规遵从角度来说。目前的方式是,整个应用开发出来了然后会进行完整的调试,调整过后再测试,最后才放到生产中。从这个角度来说,必须建立一个治理的框架,管理整个应用的授权、使用的版本和性能。但是现在进入SOA新的世界,每个用户可能都会改变某个组件或者业务流程,这就要求对整个业务具备跟踪能力,因为对一个流程的修改的应用可能会影响到其它多个流程。
1
2
下一页>>