SOA是死了还是仅仅处于休眠状态?

最近,软件架构团体对于SOA是否死亡了出现了争论。或者更准确地说,SOA的“元概念”正在消亡,落后于它立足的实际架构。SOA究竟是死了还是仅仅处于休眠状态?

一种编程方法肯定能成为让公司董事会在经济危机中幸存下来的一种理念吗?也许能,但是,如果这种理念本身经历的时间不够长,那会发生什么事情呢?

业内人士Scott M. Fulton说,在80年代末和90年代初,当他是兼职的软件开发人员的时候,他认为程序设计不应该把数据与使用数据的代码紧密地联系起来。当时,不仅有人说他反对一种方法,而且还说他威胁了业务的基本原则,有人甚至说他反对一种生活方式。

Fulton说,在本十年的大多数时间里,我都在为自己的观点辩护。基于Web的开发模式是它的基本原则之一,对于数据有一种名为“松耦合”的方法。实际上,这个原则就是说,一个申请获取网络应用程序数据的外部的客户只需要了解申请那个数据的协议,而不需要理解产生这个数据的服务器的应用程序架构。这就出现了一种位于服务器和客户机之间的经济。在这种经济中,客户在消费服务器提供的服务。这就是SOA的基本概念。

下面是SOA在历史上应用的一个例子,不管这个例子是否合适。这是IBM出版社在2005年出版的名为“面向服务的架构指南”一书中的一段话:企业是根据可持续发展的推测建立的,他们的重点在运营方面。另一方面,资本市场是根据不连续的推测建立的,其重点是创建和毁灭。这个市场鼓励快速和广泛的创建,从而创造更多的财富。当长时间效益不佳的时候,资本市场的承受力不如企业市场。失败的关键原因是忽略了更高价值的市场,不能应对更高级的技术竞争或者低成本竞争。现在,企业必须是比以前更加动态的才能生存。企业需要新的、发展的方法来处理这种竞争。企业的基础设施必须要支持他们在几年前没有遇到过的独特的挑战。我们认为,SOA是企业开发能够支持动态企业的IT基础设施的方法。

最近,软件架构团体对于SOA是否死亡了出现了争论。或者更准确地说,SOA的“元概念”正在消亡,落后于它立足的实际架构。

这个争论是市场研究公司Burton Group研究经理Anne Thomas Manes最近发表的一篇题为“SOA死了,服务万岁”的文章引起的。这篇文章称:“SOA曾被认为是IT的救世主,然而,SOA却变成了一个巨大的失败试验,至少对于大多数机构是如此。SOA要大规模减少成本和提高灵活性。除了极少的情况之外,SOA没有提供它承诺的好处。在投资数百万美元之后,IT系统并没有比以前好。在许多机构中,情况变得更糟糕:成本提高了,项目需要更长时间,系统比以前更脆弱。掌握钱袋绳索的人已经受够了。随着2009年预算的紧张,大多数机构都削减了它们的SOA计划开支。”

Manes说:“现在是接受现实的时候了。SOA疲劳已经变成了SOA觉醒。业务人员不再相信SOA能够提供巨大的好处。SOA已经成为一个糟糕的词汇。它必须要从我们的词汇表中删除。”

Manes的这篇文章引起了微软软件设计师Denny Boynton的反应。Boynton建议要分析SOA,不仅要确定SOA的死亡原因,而且更重要的是确定SOA是否真的死了。他写道:在过去的几年里,SOA已经获得了成为一种灵丹妙药的声誉,能够控制超支的预算和让IT机构再一次年轻和具有活力。善意的人们把SOA当作解决系统集成挑战的最终的解决方案并且当作企业再利用的圣杯。此外,许多高级行业分析师和记者都在说同样的事情。这些因素使大型企业从上到下都对SOA感兴趣。这就意味着投入了大量的资金实施SOA。

Boynton承认他是努力推广这个概念的人之一。但是,这个计划很快就像气球一样达到了一种无法控制的状态。他说,我们突然感到要设法解决与SOA有关的巨大的战略问题。我们担负着对若干部门和业务部门之间的流程实施标准化的任务。我们同许多人谈了有关服务的问题。这些服务将对公司中他们的那部分业务能力实施标准化。我们制订了分类、词典和注册处以便管理一个最终的环境。

因此,Boynton列出的SOA的死亡原因之一类似于病态肥胖。销售SOA的计划增长超过了执行SOA的流程的规模。但是,Boynton继续说,SOA也许还没有死,就像是处于”深昏迷”状态。他认为,SOA是一种面向服务的方法,重点是具体的行动和不是泛泛的活动。用他的话说就是要做一碗汤,而不是试图煮开整个海洋。

Manes和Boynton的观点引起了Progress软件公司设计师David Bressler回应。他认为SOA处于半死状态,没有Manes说的那样严重,但是比Boynton说的严重一些。

Progress Software公司生产一种名为”Actional”的SOA平台。这家公司仍在夸耀自己的SOA传统。尽管这家公司最近几年以SOA为主要业务,但是,这家公司发现自己并没有推销SOA概念的好处,而是推销没有这个概念的好处。最近发表的一篇白皮书劝告企业用户评估自己当前的IT基础设施,分别列出可能使企业面临风险的因素。

正如Bressler写的那样,他的公司发现自己正摆脱SOA的”信息”,同时没有牺牲SOA的基本内容。他说,从我们Actional部门的角度看,SOA的死亡从市场的角度看(不是从技术的角度看!)已经有一段时间了。我们显然没有把重点放在SOA信息方面。SOA似乎没有流行起来,有关SOA的幻想破灭了。然而,我们并不是唯一的SOA厂商,还有许多竞争对手。我们的一个竞争对手已经认定还有许多热门的话题,并且用一个Flash动画让人们相信他们的SOA解决方案同云计算、软件服务、Web 2.0和复合应用程序一样好。

Bressler说,我们的观点是不同的。从我们的观点看,SOA信息是有局限性的。我们基本上是管理/控制服务以及任何在服务的基础上建立起来的东西,不管是否使用了SOA架构。我们认为,通过围绕SOA的宣传,那些幻想破灭的机构将把婴儿与洗澡水一起泼出去。实际上,使用Actional软件,企业能够得到巨大的投资回报。

这里的信息是:这个问题与思考和工作的具体方法没有关系,而是与谈论它的方法有关。这是家庭产品厂商和政治家可能提供的一个教训:如果一个产品不畅销,把这个产品改个名字再试一试。这种方法对于旅行车、职业摔角和美国前总统理查德?尼克松等都好用,然而它到目前为止对于服务还没有发挥作用。除了想法、概念、技术、协议、软件、销售规划、出版支持、广告、研讨会和体恤衫之外,SOA已经完全死了。