SOA绝非万能 揭秘对SOA的七个误读
作为一种深奥、复杂的理念,SOA要么被简化,等同于一些产品、技术;要么被神化,认为无所不能。
SOA是计算机领域业已公认的实用解决方案。从根本上讲,SOA针对系统开发和系统集成提供企业级方法,它将遗留系统作为分散的业务功能、封装为标准服务接口。
过去几年来,SOA的普及程度成指数增长,逐步成为各公司以灵活、复用和经济方式结合应用程序和流程的一种方法。SOA的功能划分为不同的单元或服务,开发人员通过网络进入用户平台,在创建企业应用程序的过程中将不同的单元或服务进行最佳结合与复用。通过从一项服务到另一项服务传输数据,或者在两项服务或多项服务之间协调活动,实现多项服务之间的通信。
然而,与其他任何技术、业务流程或计算方法一样,现实中确实存在对 SOA 的误读—SOA 是什么,如何工作,有哪些优势和风险以及适合哪些用户。
1误读: SOA 等同于 Web 服务
首先要提到的是人们对 SOA概念的误读非常之大。有人直接说 SOA 就是Web 服务,甚至随便互换这两个概念。事实上,Web 服务,例如基于HTTP的SOAP协议,是一种定义接口的标准方式,符合SOA定义的架构模式。尽管这些标准有助于不同类型的系统在无需所有者协议的情况下互相通信,但我们依然不能夸大其重要性。
相反,SOA以基础导向架构原理为依据,结合所谓的“最佳实践”,将Web服务应用程序的功能以开放的方式呈现。SOA和Web服务不可互换。当然,Web服务可用来创建 SOA;其实,Web服务是配置SOA的行业标准。然而,SOA不是必须依靠 Web服务标准,因为 SOA 还可以通过CORBA、JMS、MQ和其他接口/消息传输标准,单独实施或并行实施。
实际上,Web 服务可以更多地视作SOA中的互动模式,通常指客户端和HTTP服务器之间的互动,而不是和SOA本身的互动。
从根本上讲,SOA可以以 Web 服务为基础,或以SMTP电子邮件接口标准为基础。但是,如果将Web服务等同于SOA就会忽略许多其他类型的SOA接口和功能,这些接口和功能适用于定义真正的SOA的松散偶合、自发且可复用的组件。
2误读 :可以“购买”SOA
对SOA的主要误读之一就是认为SOA是一件可以购买的东西,可以买卖的一个实实在在的产品。许多公司愿意花大价钱购买基础架构组建SOA,同时购买带有诸如目录、发现或消息传输功能的组合产品。购买这些之后,他们就声称自己现在有SOA了。
然而,事实还远远不止于此。SOA的真正优势不是其依托的基础架构,而是从基础架构延伸而来的服务。许多公司错误地专注于技术基础架构的创建,认为那就是成功的SOA实施,完全不知道创建一个有价值的实用服务平台才只是第一步,更不知道需要依托SOA基础架构进行并行的服务识别、定义、设计和开发。
尽管您可能确实需要购买进行服务管理、方便其他应用程序查找的登录库以及供客户和供应商交换信息的机制,但是不购买这些新的服务项目您同样可以开始应用SOA。
3 误读 :SOA复用 很简单
尽管软件复用可以小规模地进行,但企业级别的复用就很难实现,这一点SOA也不例外。“强行”复用会适得其反,尝试创建企业中单个应用程序或数据库的服务可能导致维护和兼容方面的严重问题。
根本的一点就是在SOA开发过程中,最好不要尝试仅以复用为目的的设计。最好的选择是在企业级别根据要求允许SOA服务自动复用。那样的话,多次修改接口后,“服务”开始自动复用。
4误读:购买SOA价 格昂贵
许多人认为实施SOA耗资庞大。无疑,创建SOA需要大笔资金支出,但通常情况下,初期资金只是用于前面提到的基础架构组件创建的资金。许多公司认为创建SOA需要创建包括目录服务、发现服务、消息服务和物理媒体中介服务在内的一套完整的SOA组合,还有可视化和显示门户。但是不必购买许多这些组件,同样可以实现SOA的核心优势。
随着各公司对SOA应用的成熟化发展,会出现许多便宜或免费的服务,保证基础架构组件的功能扩展。现在其实就有提供高效而灵活的SOA平台功能的许多开放源码技术。在很大程度上,这些开放源码技术非常完善,可以促进SOA在整个企业的增强应用。
5误读 :SOA解决 所有集成问题
SOA可以解决所有集成问题的这个误读非常普遍。实际情况是SOA只能解决紧密偶合系统引发的集成问题;应用SOA后,许多问题依然存在,例如语义集成方面的相关问题。还有就是集成方面的许多问题与公司的内部政策、人事等权力相关。全球最佳的SOA项目就是避开这些非技术问题。
6误读 :SOA 是新兴的
有观点认为SOA相对来讲是新兴事物。只要纵观整个IT基础架构所提供的功能(例如服务),而不是只关注特定硬件环境下的一系列分散应用程序,我们就会发现SOA早已不是新兴事物。
20年前,就有公司以服务接口标准为基础创建模块化COBOL应用程序。如果我们仔细想想就会发现COBOL应用程序具有与XML和WSDL非常相似的分级数据结构。再回到10年前的面向消息的中间件时代,您会发现SOA企业模式早已崭露头角(当然那时还是其它名称)。
事实上,企业集成模式的SOA存在至少已有二十年之久。确实,技术标准发生了变化,语言和中间件也有所变化,但是基础集成模式没有变。一切过去的事物都可以再次体现新意。
7误读 :一劳永逸
如今,在许多大型公司中,管理层已经引入SOA概念并将SOA作为补充现存遗留功能的工具和确保未来发展的有效途径。他们认为,一旦必要的SOA基础架构技术到位,具体实施完成,问题就解决了。
错!SOA实施需要参与、坚持和连续测评,以确保真正成功实施。SOA不是具体问题的一个答案,而是可以解答未来问题的途径和方法学。另外,使用SOA解决方案和标准要求一些约束和强有力的管理。使用系统的高层管理、中层管理、乃至普通员工都必须积极支持SOA。SOA不是应急之道、权宜之计,也不是可以呼之即来、挥之即去的解决方案。
SOA不是企业中解决所有IT和经营问题的灵丹妙药,应用和实施也不是一蹴而就的事情。然而,只要企业愿意系统而认真地加以了解应用,SOA还是可以带来极大优势的——而且需要企业花时间了解SOA的真正概念:究竟是什么,不是什么。