SOA虚拟化应用实例解析虚拟化架构优化(一)

 
   | |

导读:企业在SOA中应用虚拟化的概念有三种独特的方法:虚拟端点能够在你与这个实际的端点隔离开来的时候允许SOA定义服务的虚拟位置。虚拟服务不仅仅是对SOA测试有用。

关键词:SOA 应用虚拟化 虚拟端点 服务 虚拟服务

 
正在加载数据...

  目前,主要企业都依赖多种分布式技术和新的功能,如SOA等。虚拟化能够提高这些系统的质量和上市的时间。但是,团队如何实施虚拟化以便提高不在一个集中的团队控制下的SOA功能和加快上市时间呢?这个扩展的机构必须要通过把共享的服务行为虚拟化才能把这两个战略联系起来,从而成倍增加SOA的价值。

  三种类型的SOA虚拟化

  企业在SOA中应用虚拟化的概念有三种独特的方法:

  1、硬件虚拟化包括在一个硬件设备中,以虚拟机的方式运行多个版本的操作系统。这将为在数据中心运行的内部应用程序提供更低的成本、更大的灵活性和风险管理的好处,并且为SOA系统提供一个复制测试平台的有用的途径。

  2、虚拟端点能够在你与这个实际的端点隔离开来的时候允许SOA定义服务的虚拟位置。这对于SOA应用程序中固有的动态流程是很理想的,因为一个服务的物理地址也许需要根据它什么时候和如何用作一个指定的工作流的一部分而进行改变。

  3、虚拟服务不仅仅是对SOA测试有用。虚拟服务通过优化整个实践的开发和应用来提高价值。

  对于SOA应用生命周期的其它方面来说,我们创建虚拟测试平台的努力只能达到这个程度。企业通常为了验证和开发SOA而依靠实时的实施。然而,这些复杂的相互连接的环境能够通过硬件虚拟化技术复制。我们需要把虚拟化扩展到实际的分布式软件组件中和在这些环境中运行的服务中。

  如果SOA不能虚拟化,它就没有灵活性

  在硬件和数据中心的级别上实施虚拟化可以产生立竿见影的节省运营成本的回报,可直接节省数百万美元IT成本。

  然而,当我们把组件或者服务开发任务分配给多个团队的时候,我们经常忘记这些团队仍需要实时访问这个应用程序的其它部分以完成自己的开发和测试目标。所有这些团队之间仍需要高水平的依赖性和相互沟通以提供一个完整的工作流。对于大规模企业系统来说,这给SOA的投资回报提出了严格的限制。

  有一种方法可以是使用SOV(面向服务的虚拟化)把这两种技术联系起来:模拟应用软件资产行为的策略以及合成制作企业SOA应用程序的组件。不利用SOV的优势,在整个企业范围内最大限度地实现SOA价值是很困难的,如果不是不可能的话。

  挑战:SOA的障碍

  企业采用SOA的最佳做法实现商业灵活性和成本的好处。遗憾的是,当SOA应用程序试图通过升级来满足大型企业的现实需求的时候,最佳的SOA架构和治理战略仍很缺乏,即使拥有虚拟的服务器也是如此。出现这种事情有若干原因。

  共享的系统资源的冲突

  SOA就是通过把企业系统当作共享的服务提供来发挥企业系统的优势。然而,访问共享的资源问题危害每一个单独的SOA计划。一个主要的ERP系统管理员或者大型计算机管理员可能会对他们在生产中的应用程序采取保护措施,限制开发和测试团队直接访问这个应用程序以避免出现不可预料的问题。

  此外,即使允许访问,实时的服务经常会受到一个SOA环境中的多个机构需求的限制。当各个团队被迫排队等候访问一个现实的环境以便进行测试和开发的时候,灵活性就受到了影响。在大型企业应用程序中,通过硬件虚拟化本身创建另一个环境的实例成本太高,是不允许的。

  不连贯的开发和整合生命周期

  开发人员需要把服务接口做成一个占位符模型以便确定他们的服务如何与其它服务互操作。例如,一个开发团队正在扩建用户数据,而第二个开发团队正在创建账户数据。由于这些应用程序是并行开发的,这两个团对需要相互依赖对方的服务。每一个团队都需要依靠访问接近完成或者已经实施的服务来证明他们自己的服务能够正确地互操作。

  SOA通过把松散耦合的组件当作服务来实现灵活性。因此,更小的和更分散的团队能够并行开发和集成这些服务。当仍然存在依赖性的时候,我们如何才能达到这种并行开发的水平呢?看一下这个典型的项目计划或者甘特进度表。在下一个开发团队继续开发下一个组件的之前,肯行会遇到一个项目中可用组件的下一个“依赖性”。这正是我们希望用SOA打破的一个模式。

  增加的复杂性和异质性

  虽然许多做SOA的计划都是以Web服务(WSDL/SOAP)为中心的,但是,在最佳的企业实施的SOA计划中只有大约50%是基于Web服务的。有多种技术可以用来创建SOA中间件软件。这些SOA中间件软件也许是非常合法的,对于一个指定的机构来说也许比一个Web服务栈更好,例如使用一个几乎不依赖Web服务的企业服务总线。要保证SOA的质量,各个团队需要验证实施状况和对各种不同技术产生的副作用,而不仅仅测试自己选择的Web服务或者中间件软件层。

  SOA测试环境维护和技术支持的高成本

  要向一个SOA应用程序提供服务,许多机构试图复制和维护自己的测试环境。然而,复制他们需要在自己的过渡环境中进行交流的全部组件是一个成本非常高的过程。它需要高水平的配置、许可证成本和维护,以保证那个测试构件保持最新状态,即使它是在虚拟的硬件中运行也是如此(虚拟的硬件也有一些增量的许可证成本)。SOA利用的许多企业系统都太大了,有太多的开销,不能实施虚拟化。

  不要试图通过复制数十个变化的服务来创建一个巨大的测试基础设施,SOA需要一个策略解除这些团队对这些实施的依赖。这将提供一种根据部署中存在的现实状况进行测试和开发的方法。

  数据和系统记录的庞大规模

  达到企业级SOA应用水平的最后(也许是最困难的)障碍是需要管理的系统和数据的庞大规模。要测试一个SOA应用程序的实际效果,机构需要输入一套逼真的数据,然后离开正在测试中的环境。

  虽然他们能够在架构和设计过程中根据制定的元数据描绘出与其它服务之间的互动,但是,一旦他们通过连接这些端点的理想的模型,他们还必须要应付一个CRM大型计算机或者企业系统以及这些系统的管理者。嵌入在这些层的数据和商业逻辑在过去的若干年里已经增加并且客户化了。把这个系统和数据制作成完整的镜像副本并且根据另一个企业许可证和实施团队的要求进行测试成本太高了。


SOA虚拟化
 如果SOA不能虚拟化 就没有灵活性(二)
 如果SOA不能虚拟化 就没有灵活性(一)
 实施SOA虚拟化是环境的基础
 解决虚拟化SOA给数据中心流量暴增危机
 挑战SOA障碍 虚拟化的益处多多
 虚拟化技术将成为SOA应用的推动因素
 SOA+虚拟化+SaaS 云计算容量多大
 SOA和虚拟化
 虚拟化、SaaS、SOA:开创面向服务编程
 解决虚拟化SOA给数据中心流量暴增的危机
 寻找业务分析师
 SOA虚拟化应用实例解析虚拟化架构优化(二)
 SOA虚拟化应用实例解析虚拟化架构优化(一)
 数据虚拟化:数据整合问题的解决方案?
 虚拟化是SOA环境的基础
 看好虚拟化 观望SOA
 实施SOA虚拟化是环境基础
 虚拟化技术趋成熟 企业IT架构受冲击
 云计算还是虚拟化?企业应如何选择
 虚拟化和云计算:切莫混为一谈
 用私有云应对服务器增长

原文出处:http://tech.sina.com.cn/smb/2009-01-05/1559947192.shtml
 
来源:新浪科技    
 
 
 
 
 

SOA性能

 
一些较长久的标准组织正在尝试衡量SOA性能。SPEC基准组织有兴趣听取大家关于这一主题的信息。目前SPEC成员包括IBM,Oracle和VMwar正致力……
 
如果改造的中间件不是解决问题的方案,那么什么是呢?答案当然就是架构。但这么说只是问题的一小部分。那我们还按照集成开发者的语言来说……
 
在典型的集成环境中,你首要关心的是数据的移动或者业务逻辑的合并以便完成特别的任务。在这种思想指导下,大多数集成开发者考虑的是输入……
 
Edward R. Murrow曾经说过:“人常说谈话是门失传的艺术;我经常希望真的是那样啊!”对于IT开发商和舆论导向者来说这很正确,这更适用于SOA……
 
数据存储:Android改变了开发者关于数据存储的观点,那就是没有一个普通的文件系统可以被所有应用系统所共享。

热门技术手册排行

 

随着开源技术越来越成熟,一个稍有开发经验的人通过学习就可以用开源的产品和技术构建一套可用的系统。对于从事软件开发的人员,尤其是对Java或动态语言相关领域的人来说,“开源”也许是他们最喜爱的单词。但是,很多时候我们需要的不仅仅是一个可用的系统,而是希望这个系统开发更简易、性能更高和扩展性更好等。这确实是一个令人头痛的问题。本指南很多地方都是点到为止,要深入了解相关信息的读者请借助参考资料、网站等自行挖掘。

 

本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。

 

业务流程管理(business process management,bpm)不是一个新概念,甚至不是一个新名词。它是从相关的业务流程变革领域,如业务流程改进(bpi)、业务流程重组(bpr)、业务流程革新中发展起来的。流程管理技术也是从早期的工作流管理、eai、流程自动化、流程集成、流程建模、流程优化等技术中发展起来的。

 

TOAGF是一个架构框架,简而言之,TOGAF是一种协助发展,验收,运行,使用,和维护架构的工具。它是基于一个迭代(Iterative)的过程模型,支持最佳实践和一套可重用的现有架构资产。

 

云计算的概念越来越流行,Amazon、Google和IBM是第一批将云计算引入公众视线的公司。云计算就是新的Web2.0,一种既有技术上的市场绽放。

 

Mashup是一个非常cool的新的应用程序种类。如果你想真正的了解它们,我们需要回过头来看看你现在的计算机,其实它就是一个非常好的帮助你理解mashup的模型。现在开源的操作系统无疑是非常好的apis的集合或应用程序编程接口,帮助开发者去构建其应用程序。计算机本身也是一个很好的为用户提供接口的例子,键盘和鼠标可以被理解为你通过计算机的接口而使用的不同的应用程序。本技术手册为读者提供了一些相关信息,如果需要深入了解mashup,读者可以借助其他参考资源。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录