构建弹性 SOA 基础设施之一

豆豆网   技术应用频道   2007年12月31日  【字号: 收藏本文

内容摘要:本系列描述构建弹性 SOA 基础设施的设计问题和技术,本文是其中的第 1 部分,重点介绍 IBM® WebSphere® Application Server for z/OS® 如何加入 SOA 以及其如何为 SOA 弹性做出贡献。

  弹性 定义为服务的持续可用性和性能,而不受其环境的负面更改的影响,它对面向服务的体系结构(Service-Oriented Architecture,SOA)至关重要。SOA 基础设施必须确保服务具有很高的可用性,而不受不可预测的条件的影响,如突然出现的大幅度的网络延迟,数据库响应时间的增加或依赖服务的服务质量降低等。本系列描述构建弹性 SOA 基础设施的设计问题和技术,本文是其中的第 1 部分,重点介绍 IBM® WebSphere® Application Server for z/OS® 如何加入 SOA 以及其如何为 SOA 弹性做出贡献。

  引言

  随着硬件和软件资源的虚拟化变得越来越普遍,中间件基础设施的弹性开始变得越来越重要了。弹性差的服务会对承载于相同虚拟化硬件和软件上的其他服务造成负面影响,例如,在通过可能会造成大量延迟的不可靠网络调用同步服务调用时锁定和保留共享资源。

  本文将讨论影响 SOA 基础设施的弹性的若干问题。本文将使用 WebSphere Application Server for z/OS 来对所述问题的效果进行量化。通过 IBM System z™ 提供的虚拟硬件和软件的高级监视功能、WebSphere Application Server for z/OS 的多进程服务器体系结构、用于确保弹性的内部机制,以及通过研究大量 WebSphere Application Server for z/OS 客户部署可以了解的高级概念,能够确定影响广泛的 SOA 领域的问题,并对所建议的解决方案可能造成的影响进行量化。

  应用程序服务器、虚拟化基础设施、弹性与SOA

  SOA 指南可帮助进行业务服务开发。业务服务 实际上是能够在整个企业共享的可重用业务功能。这些业务服务的粒度和分配将在设计新 SOA 时成为两个重要的方面。

  预先建立的最佳实践

  所建立的最佳实践以及通过相关技术积累的经验教训可为构建弹性 SOA 提供很好的指南。例如,通过 Java™ 2 Platform Enterprise Edition (J2EE) 技术我们了解到,位于相同应用程序服务器上的依赖 Enterprise JavaBeans (EJB) 组件的搭配考虑了按引用传递与按值传递的优化,同时还可减少服务器资源的使用,具体来说,这仅需要在一台服务器上使用一个应用程序服务器工作线程,而不是在 N 台服务器上使用 N 个线程。类似地,在 SOA 中紧密耦合的服务 应该带来与 J2EE 中类似的好处。

作者:Snehal Antani    责编:豆豆技术应用

正在加载评论...