SOA不是产品
记者:请您直接了当地告诉我,SOA是什么东西?
Jason Weisser:不如这样,我告诉你SOA不是什么。SOA不是“东西”,不是产品,不是可以放在光盘上的软件套件。你不可能拿起一个刻着SOA软件的光盘,往机器里一装,然后第二天公司就进入SOA时代了。最近我听说一些公司纷纷推出SOA的产品,这很可笑。因为SOA不是产品。
记者:能说SOA是技术吗?
Jason Weisser:SOA是一种技术。但是它不是一个一般意义上的技术,它是一个具有分水岭性质的重大技术,我在IT产业工作超过30年,在企业开发领域,SOA是我30年来所见到的最重要的技术变革。我以IBM最近发布的SOA框架为例来讲解一下SOA的基本结构。在这个SOA框架的支持下,软件系统的开发是从业务流程分析开始的,使用组件化业务建模的方法识别和分析各种业务模型,并将各种最佳实践融入其中,在这个基础上我们建立一组用例,用例直接产生BPEL,这些BPEL则可以被融入一个服务整合框架中。在这个框架中有可能有一至几条企业服务总线(ESB),所有的服务都通过ESB提供,甚至包括一些管理协议,也通过XML格式的消息在这条ESB上传输。遗留的数据库、CRM、各种既有系统等等都连接在ESB上。而在这个框架里有一个用WSDL编写的metadata库,这个metadata库描述了关于各种服务的信息,从而把ESB上的各个模块统一起来,形成一个巨大的服务仓库(service repository),所有与业务流程直接相关的服务都可以在这个服务仓库中找到。所有的服务都是100%可复用的。实际上这个服务整合框架是SOA的核心,也是我们目前努力在做的工作。这个服务整合框架是一个基于开放标准的监管层,任何东西要在SOA中运作,必须符合一系列规则。显然,这样一个框架绝对不能说是产品,它是一种技术,一种方法学,甚至是一种企业业务指导思想。我的意思是说,除了SOA作为技术的一方面,这种IT架构的大规模应用必然要求企业的业务经营也相应作出调整。毫无疑问,这种调整将大大提高企业业务水平。
记者:很多人理解SOA只是通过新的标准和方式将过去的服务暴露出来,难道这种看法不对吗?
Jason Weisser:显然不全面。SOA是一个架构,如果仅仅是一种服务接口规范,那么架构的一面在哪里?
SOA,IBM是认真的
记者:IBM对SOA是什么态度?
Jason Weisser:我们非常非常重视SOA。IBM从6年以前就开始重视面向服务这个方向。我是3年前加入IBM的,之后我关注的重点是如何在工作流层面上对业务进行描述,并且让这种描述能够被实际执行。当时IBM刚刚收购了一家在面向服务方面积累深厚的公司,而且我们的软件产品也越来越成熟。我的部门在IBM内部是一个新型组织,我们直接帮助客户基于SOA构建解决方案,同客户一起面对各种复杂的问题。我们建立了四个中心,其中北京这家是最早的。几年来我们已经同超过200家、分布在各个业务领域内的大型公司合作,在SOA方面取得了实际的经验。两周以前,Gartner报告说IBM在SOA领域是第一。
记者:但是其他的公司也纷纷宣称支持SOA,并且发布SOA平台。
Jason Weisser:让我告诉你一件事,SOA很难、很复杂,超过了一般技术公司所能把握的程度。如果你看到一家公司在过去三年里对SOA只字不提,而且其高级技术人员不断地被Google这样新生企业挖走,却突然在一周内推出一个SOA平台,那么请你保持高度的怀疑。我们IBM在过去几年里在SOA领域投入了10亿美金,并且与大量的客户开展了是实在的合作,才取得了今天的成绩。但IBM从来没有、也不会发布什么SOA产品,或者ESB产品,因为根本没有这样的东西。IBM是实实在在的,我们只是在5月发布了一个SOA的框架。过去一两年以来.我们跟一些“小公司”密切合作,比如福特汽车,戴姆勒――克莱斯勒公司,纽约银行等等,我们已经证实了自己的技术和能力,其他的公司需要证明他们自己。
记者:那么微软呢?
Jason Weisser:如果你听懂了我刚才对SOA的解释.你就知道,SOA是很复杂的,这项技术需要处理大量的技术细节,怎样让一个用BEPL描述的组件正确工作,而且安全、可管理、高效、透明,这非常难。不错,微软的确有能力做到这一点,但是微软志不在此。微软始终是把面向大众的消费类产品放在首位的,面向企业集成的SOA不是微软的竞技场。我以前在微软是首席企业架构师,但我发现微软认为整个世界是单一的,服务端跑着Windows,客户端也跑着Windows,很遗憾,这与现实世界是不相符合的。这也是我离开微软的原因。
中国应该直接进入SOA时代
记者:看来SOA很难,而且主要用于整合现有系统。不过中国现在更多地需要开发新系统,是否意味着SOA不适合中国?
Jason Weisser:我的十八代祖宗住在草房子里,难道我也必须住在草房子里?中国企业有很好的机会,在SOA这样先进的架构上建构自己的IT基础,为什么要重复我们走过的老路?其实我认为中国企业有很多特点正适合SOA。比如你们的业务变化比较多,相关性比较大。如果采用传统的基于构件的开发方式,开发难度和可复用性都不理想。提到可复用性,我不是说构件不可复用,而是说复用的层次不够高。企业希望复用的是业务,这一点构件化的方法做不到。在过去,IT产业一直是根据自己的能力来为企业提供解决方案的。我们看到很多时候,业务部门对IT部门说,我们需要这样的东西,而IT部门直接回答说做不到。当开发者在开发应用程序的时候,主导开发的不是业务部门,而是技术部门。这是IT产业的耻辱。我想在中国的情况也差不多。SOA是改变这一切的一个机会,SOA成熟之后,技术人员可以更有效地满足业务部门提出的新的、变化了的需求。我告诉你一个事实,在美国,整整一代开发者在企业开发上走了很长时间,经历很多失败和挫折,也积累了大量的经验,如果中国的开发者要走这条老路,你知道这意味着什么?这意味着你们会远远地落后。如果你们要做类似SAP那样的系统,你们可能超过德国人吗?可能超过印度人吗?而且一旦SOA成为主流,那么就意味着你用传统方法作出来的系统,一落地就是“遗留系统”。而如果你们大胆地迈向SOA,直接进入SOA时代,整个情况就反过来了,你们将领先世界!
文章来源于领测软件测试网 https://www.ltesting.net/