技术开发 频道

价值百万美元的SOA问题:选择软件ESB还是硬件设备?

实现新功能的各类方案

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

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

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

1. 硬件设备

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

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

  • XML加速(XML acceleration):通过芯片集的支持,这些设备可以进行快速的XML处理,比如消息传输和模式验证。
  • 快速的SSL卸载(SSL offloading)、负载(payload)的解密与加密:由于可以使用“在线(on the wire)”技术,这些设备再一次展现了在这种操作方面的优势。
  • XML防火墙:这些设备使XML防火墙的功能得到进一步提升。它们还支持验证机制,保证发出请求的实体确实是合法实体。
  • 简易的设置和操作:由于是预先定制好的封闭式设备,限制了对设备内部的访问并没有周边连接,所以很容易在IT基础设施中进行设置。也有同样简单的基于网络的设置方法。

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

  • 升级和更新:固件升级,特别是生产环境内的固件升级,可能导致严重故障。这也使得硬件设备在支持最新的SOA标准的时候显得无力。
  • 无法摆脱硬件与芯片集的束缚:这种设备无法利用新兴的硬件技术。你将无法摆脱你开始选用的硬件。摩尔定律终将使所部署的设备过时并使设备性能变得迟钝。
  • 设备扩散:过多的硬件设备将导致离散的硬件扩展和更高的数据中心成本。这个方案无法利用可以降低能源消耗并得到高效方案的软件虚拟化的方法。
  • 集成限制:虽然这些设备有时是用作集成设备,但其对复杂的集成模式的支持是有限的(这也是在支持的前提下)。另外在使用软件(编码)出口(software exit)时也没有很好的扩展性。
  • 与软件开发过程脱节。

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

2. 软件ESB

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

  • 灵活性(Flexibility):它们支持极其复杂的集成模式。它们不仅支持标准的连接,还可以服务重用的方式使用传统的或封装的应用程序中的业务功能。它们能更好地支持新兴标准并仍在迅速发展中。
  • 健全的软件开发周期:软件ESB通常都有一个有健全的调试、追踪能力以及整合了源码控制环境的集成的开发环境。可以将软件ESB中新的消息流作为整体软件开发过程中的一个环节进行部署。
  • 与架构工具之间有良好的互操作性:为表明这个观点,我们来看一下服务组件架构(SCA),它是一个用SOA方案构建系统的模型。通过SCA标准,软件ESB可以利用架构师设计的服务装配模型(SAM)对服务集成进行建模。SCA是一种用来组合部署服务网络的语言无关的规范。


图1:服务装配模型

  • 与服务注册库和储存库(service registries and repositories)的紧密结合:这样便能在部署消息流及自动服务关联时引入强力治理。

 

图2:通过元数据储存库进行服务关联

  • 虚拟化的环境:软体ESB一个最大的优势是可以利用虚拟化技术大量减少数据中心以充分利用物理硬件并减少操作成本。

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

0
相关文章