随着SOA(Service Oriented Architecture,面向服务的架构)和云计算的迅速发展,各类企业都面临着此项技术发展所带来的巨大挑战和机遇。众多企业技术架构都纷纷转向SOA或与其它架构混合构建的模式,提供充分利用云交付的服务。其中,云计算模式是重要的一个合作架构,云计算提供商在网上创建了巨大的资源,企业可以利用这些架构充分利用资源。IT已经成为业务转变时滞后的部分。为解决此问题,先后进行了结构化计算的变革、面向对象的变革、分布式对象、组件开发、企业资源规划、客户关系管理,最终是SOA。这些解决方案的关注超出对问题本身关注的方式导致了企业架构上的断层。越来越复杂笨重的架构,因当时流行的那些产品被拖人数据中心,形成了另一层复杂性,不仅增加成本,而且使企业架构更加脆弱,紧耦合而且难于变更。
1.SOA
目前的解决方案仅是在现有的技术外添加一层新技术,却使问题变得更加复杂。SOA通过将大部分现有系统封装成服务,将这些服务抽象到一个统一域,并在该域中使用这些服务形成新的解决方案。
1.1 SOA简介
SOA架构促使企业内部及外部所有相关的系统公平访问定义良好的服务,以绑定那些信息的信息,它们又进一步抽象成流程层和组合应用,从而形成新解决方案。SOA为架构增加了更多灵活性,使得我们可以灵活地通过配置层完成系统的更改。
1.2 SOA体系结构图
SOA体系结构如图l所示。
图1 SOA体系结构
1.3 SOA优势
SOA具有以下优势:
(1)服务与行为的重用,不需要大量重复开发或集成的工作就能在一个系统中使用另一个系统行为的能力。
(2)敏捷,即在现有服务及信息流之上,按照需要快速修改业务流程使之支持易变的业务的能力。
(3)监控,即实时监控信息点与服务点并判断企业应用与交易的情况,SOA还提供了根据企业的利益实时修改与调节业务流程的能力。
(4)范围延伸,可以将某些业务流程公开给其它外部实体,从而实现跨企业合作或共享流程的目的。
2.云计算
云计算使用按用量付费的模型,实现了通过网络访问的、可配置的计算资源池(如网络、服务器、存储、应用和服务等)的可达性、便捷性和随需应变性,使得仅需最少量的管理工作或与服务提供商的沟通就能快速获得和释放资源。
2.1 云模型特征
(1)随需应变的自助服务。消费者可以根据需求单方面地获得计算能力,如服务时间和网络存储,而不需要与每个服务提供商进行人际交互。
(2)无处不在的网络访问。功能存在于网络中并且通过标准的机制进行访问,促使了功能在异构的瘦客户端或胖客户端平台中的使用。
(3)位置无关的资源池。提供商的计算资源放在资源池中,使用多租户模型向所有消费者提供服务,根据消费者的需求对不同的物理资源和虚拟资源进行动态分配或重分配。客户端通常并不了解分配到的资源的具体位置,也无力控制资源的分配,包括存储、处理能力、内存、网络宽带和虚拟机。
(4)快速而灵活。能够快速且弹性地提供功能以实现扩展,并且可以快速释放资源来实现收缩。对于消费者而言,可用于租用的资源似乎是无限的,并且可以在任何时间进行任意数量的购买。
(5)按使用付费。功能的收费使用按用量计算的有偿服务或使用基于广告的收费模型来提升资源使用率。
2.2 云计算的组件
(1)存储即服务(Stoorage-as-a-seivice)
将物理上的远程网站中的存储资源在逻辑上当做本地存储资源一样,供任何需要存储资源的应用程序使用的能力。
(2)数据库即服务(Daas)
提供了使用远程托管的数据库的服务能力,为多个用户共享此数据库并且在逻辑上像使用本地数据库一样使用该数据库。
(3)信息即服务
通过一种定义良好的接口对远程托管的任何类型的信息进行消费的能力。
(4)流程即服务
将多个资源捆绑在一起创建业务流程的远程资源,可把业务流程想象成一个元应用,它跨多个系统,将关键服务与信息串连起来形成某种流程。
(5)应用即服务(Aaas)
通过网络平台为终端交付的任何应用,终端用户通常用浏览器使用这些应用。
(6)平台即服务
平台包含应用开发、接口开发、数据库开发、存储和测试等,并通过远程托管的平台交付给订购者。
(7)集成即服务
包括传统企业应用集成技术中的大部分特征和功能,以服务的形式交付。
(8)管理/治理即服务(Maa/Gaas)
提供了管理一个或多个云服务的能力的服务。
(9)测试即服务(Taas)
使用远程托管的测试工具和服务对本地或云平台中交付的系统进行测试的能力。
(10)基础设施即服务(Iaas)
即数据中心即服务,或远程访问云计算资源的能力。
云计算的组件构成了可以通过在网络中订购并使用的大量服务,数据中心所提供的大部分服务都可从云平台中获得。为描述云计算,提出了云计算服务栈,该栈用于定义和提炼云计算概念的模型,如图2所示。
图2 云计算服务栈
3.SOA与云计算
云计算涉及的是位于防火墙外的可被企业IT跨因特网使用的任何玎资源,包括存储、数据库、应用程序开发、应用服务。云计算核心理念是以服务的形式使用这些资源,在需要时进行购买要比用于搭建数据中心的硬件和软件付出的资源少。云计算提供了可以按需使用的IT资源包括可以托管数据、服务和流程的资源。可将SOA扩展到企业防火墙之外并延伸到云计算提供商。SOA对于云计算的重要性体现在以下几个方面。
(1)SOA是一个合理地创建信息系统的很好的架构方法,使用SOA机制使得这些系统在企业内部或外部能很好地运转以及合作。
(2)为充分利用云计算资源,需要延伸到企业外部并接触云计算资源的接口和架构。虽然在核心的企业信息系统与云计算资源之间创建快捷而随性的链接,但在企业内部,仍需要一个SOA架构去使用云计算技术。
(3)SOA解决方案是一个较好的根据架构原则和指导原则去记录和组织架构。
因云计算的实际价值在于使用防火墙之外的数据中心(SEDC,somebody else’s datacenter)中的服务、数据以及流程,若只使用云计算而缺乏合理架构,不能充分利用其它海量资源,甚至在考虑到风险和移植方面的成本时,可能会起到反作用。在云环境中合理利用SOA架构终会获得成功,SOA与云计算结合是一个较好的解决方案。
4.结合云计算的SOA测试
SOA与结合云计算的SOA测试方法不同,后者采用复杂的分布式计算问题。根本方法是在于选择合适工具,制定详细的计划并进行周期测试。结合方案无法进行整个架构的测试,需要把架构切分成各个组件,对每个组件进行从最基本的到最复杂的测试,即需要把整个架构细分到各个领域模块,并对每个模块用已有方法和工具尽可能进行测试。将云计算的SOA测试分为:服务层测试、流程层测试、治理层测试、信息层测试、集成层测试、安全层测试。
使用SOA和云计算的架构把设计模式归结为以下情况:
(1)以事务为主的架构,是在线事务处理型的应用程序集群在它们所使用的架构中,对事务程序的使用和访问频率要高于其它服务。
(2)以数据为主的架构,大部分是数据服务,或代理信息多于代理行为的服务。
(3)以流程为主的架构,其核心动态性是通过流程层驱动的。
和测试复杂的分布式系统相比,测试云计算和本地服务难度较大,需要仔细规划,并理解核心架构和相互依赖性,即必须在整个架构的上下文中进行测试,并把云计算和服务关联起来。
5.结束语
介绍了SOA体系结构、优势,讲述了云计算概念,包括云模型特征的分类、云计算组件分类。云计算的组件构成了可以通过在网络中订购并使用的大量服务,数据中心所提供的大部分服务都可从云平台中获得,为更加详细描述云计算模型,提出了云计算服务栈,以定义和提炼云计算概念的模型。对SOA架构与云计算技术结合提出了解决方案,并讲述了如何在两者结合后加以测试。
猜您还喜欢:
1.云计算的关键技术
2.简述云计算是什么与云计算技术
3.云计算技术的6个惊人的进展