拼吾爱程序人生

首页 » 编程相关 » 应用系统 » 价值百万美元的SOA问题:选择软件ESB还是硬件设备?
cobra - 2008-4-28 1:11:00
文/Shiva Bhajekar  译/袁发明  出处/IT168

  SOA已经成为实现各种IT业务价值的规范。基于SOA的方案可以提供很好的敏捷性、松耦合性和基于组件的方法(composition-based),这些优势使方案对业务需求有更好的适应性、更少的操作成本,并使标准设备有更好的可插入性(pluggability)。服务只是实现某种功能的业务单元的抽象,比如定购、收集客户信息,或者修改个人信息等功能。理论上,可以通过任何含有请求/应答参数或自组网(ad-hoc)数据的绑定/协议/接口对这些服务进行访问。基于标准的服务将以XML格式构建有效负载(payload)。

  在传统的老式结构中,业务功能是以封包或有预定义的用户接口的应用程序实现。在SOA中,如果将这些传统的“封闭式”业务功能放在相当大的实体中,并使用更现代化的交互机制,它们将发挥更大的价值。要实现这些业务功能的真正解放,需要将传统的信息技术基础设施以新的技术成份为基础进行转换。新的服务基础结构有两个主要作用:服务代理(service brokering)和网守(gatekeeping)。当然,还有一些其它辅助作用,包括知识储存库(repository)、终端管理,以及诸如流程编排的高层次运用。本文将详细讨论服务代理和网守这两个主要作用,以及实现这些作用的各种技术部分。

服务基础架构的主要作用

1. 服务代理

  服务代理是SOA成功的关键。服务代理的作用是将访问转移到相应的业务功能,并且可以实现复杂的集成模式,比如外部服务(service fa?ade),消息聚集(message enrichment),消息过滤(message filter),内容路由(content-based routing),动态路由(dynamic routing)和分离-聚合器(splitter-aggregator)。服务代理还负责协议桥接、消息传输,以及各种消息模式的桥接等任务。它也可以根据消息或请求的内容进行访问授权。

2. 网守

  网守的功能类似于网络安全中的防火墙,有时也称为XML防火墙,主要用来阻止恶意请求以保护业务服务。在安全方面,只要认证请求是显式传入的,网守就是第一道防护线。另外,网守还可以验证(定义的XML模式)请求、限制对服务的访问,以及阻止可能导致阻断服务(denial of sevice)的攻击。

 您可能对 [应用系统] 的这些文章也感兴趣:

Google图表及gchartrb初探
Google发布开源Web应用安全审核工具
ESB是通向SOA的简单解决方案吗?
Google App Engine 未公开的Search API
注释代码的13条注意事项
如何将falsh插入到Excel中
你了解数据仓库和数据集市的异同吗?
IE6将要寿终正寝?
架构、敏捷和SOA实践--访支付宝首席架构师程立
微软的新型页面等级"BrowseRank"比谷歌的"PageRank"更准确?
八种常见的防盗链方法总结及分析
在MOSS中实现自动上传图片
cobra - 2008-4-28 1:12:00
实现新功能的各类方案

  随着SOA的兴起,各技术供应商针对新服务基础架构的需求提供了各种各样的方案。Web服务管理(WSM)供应商将主要精力放在业务服务终端管理方面。硬件设备供应商通过XML防火墙及随后增加的各种安防功能来宣告占领周边领域。其它进行过消息或企业应用集成(EAI)开发的技术供应商则或发展其服务策略,或用其专门技术创建基于软件的中间件方案:企业服务总线(ESB)。由于当时没有一种全面的解决方案,以上三种产品在架构实现中都发挥着重要的作用。

  随着各方案逐渐走向成熟,它们都开始努力实现我们现在所了解的ESB功能。Web服务管理工具没有在消息与服务中介方面取得显著进展,但新兴的硬件设备可以作为服务中介和集成设备的替代品。

  下面我们来看一下这些硬件设备和软件ESB,它们的特征,以及各种方案在服务基础结构中的优缺点。

1. 硬件设备

  很难对所有的硬件设备进行归纳分类。市场上有许多设备;你也可以在http://en.wikipedia.org/wiki/XML_appliance上找到一个有代表性的列表。

  通常这些硬件设备有以下显著特点:



  说完优点,随后便是缺点。这些硬件设备有以下难以解决的弊端:




  应该注意的是,已经出现了一些专门用于解决服务基础架构中niche问题的硬件设备。

2. 软件ESB

  企业服务总线的概念是从企业应用集成(EAI)中广泛使用的消息总线中形成的。由于继承了EAI的部分功能,并使用企业级消息接发,以及良好的软件开发周期,软体ESB获得了以下优点:



  当然,软件ESB也有缺陷。它不能以最大线速处理XML;缺少网守功能并在设置时需要依赖硬件。使用硬件设备作为ESB的协处理器可以减少线速限制的影响。
cobra - 2008-4-28 1:16:00

参考架构(Reference Architecture)

  从前面的讨论可以清楚地看到,硬件设备很适合简单、高流量、可重复的代理运作。它以边界网关的方式实现网守功能。另外,软件ESB适用于提供服务代理、复杂的消息处理,以及全面的集成功能。


 附件: 您所在的用户组无法下载或查看附件
图3:网守与服务代理的概念结构

价值百万美元的问题:如何选择

  回到文章的主题,到底应该为我们的SOA选择什么,硬件设备还是软件ESB?答案很简单:“看情况!”

  如果服务代理和集成是项目的主要目标,特别是当服务的使用范围是在企业内部时,你可以从软件ESB开始。对于企业单元内部较小规模的部署来说,可能只用软件ESB就足够了,然后用比较传统的网络防火墙补充网守的功能。

  如果周边的安全性比较重要,服务使用者处于外联网或者不同的企业,并且服务是可重用的,就从硬件设备开始。虽然对集成需求不高的小型企业来说,服务代理功能可能也已经足够了。但最终还会由于设备的灵活性不足和对复杂集成模式支持的缺乏导致对软体ESB的需求。

  硬件设备是完美的周边网守,而软件ESB是完全的服务代理。完备的基础设施都会在周边部署基于硬件设备的方案的同时使用软件ESB进行服务中介、路由、协议桥接以及服务/应用集成。并且在SOA完全成熟后,硬件设备和软件ESB最终都将发挥完全不同的重要作用。

  还应该注意,由于许多公司中烟道式(stove-piped)企业结构的存在,联合式(federated )ESB是不可避免的。因为这些不同供应商提供的ESB产品可以很容易地满足硬件设备和软件ESB的要求,所以各企业或各应用领域可以部署截然不同的ESB。

1
查看完整版本: 价值百万美元的SOA问题:选择软件ESB还是硬件设备?
Modify by pin5i DZNT_ExpandPackage 2.1.3295 2007-2009 pin5i.com
 Total Unique Visitors: