Computer Engineering and Applications 计算机工程与应用2011,47(35)1引言随着互联网时代信息与数据的快速增长,各个计算领域都需要处理大规模、海量的数据,而目前的孤身奋战的台式计算机远远不能满足当今对计算能力的需求,这时就需要不断增加系统硬件投入来满足日益增长的系统可扩展性的要求。
另外,由于传统并行编程模型应用的局限性,客观上要求一种容易学习、使用、部署的新的并行编程框架。
在这种情况下,为了节省成本和实现系统的可扩展性,“云计算”的概念被提了出来。
云计算是分布式计算、并行处理和网格计算的进一步发展,它是一种基于互联网的计算,能够向各种互联网应用提供硬件服务、基础架构服务、平台服务、软件服务、存储服务的系统[1]。
SOA 是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互(http :// )。
在面向服务的架构策略中引入云计算。
二者的优势就会凸显(安全性、灵活性、性能等),由此必然会带来网络资源共享的一个新浪潮。
首先介绍了云计算与面向服务的架构的研究现状与主要特征,从而分析了将二者结合的必要性。
接下来给出了基于SOA 的云计算框架模型的设计与实现过程,并在实验室环境中进行了模拟实验,证明该模型实用、先进,有效地体现了面向服务的架构和云计算的优势,并将二者很好地结合起来。
2相关工作2.1云计算(1)云计算的概念由于云计算的含义是指用户从互联网上获取某些能力—硬件、软件以及业务流程的执行或数据的存储等。
用户既不知道、也不在乎这些能力从何而来、如何汇聚也不用关心自己的数据被存储在什么地方。
随着云计算这一新的网络计算模式的出现,互联网时代的计算和数据存储已经从以客户端软件为中心的时代向以“云”服务为中心的“云"时代转变,迎来了“云"时代新的挑战[2-3]。
(2)云计算分类根据云计算的定义,至少可以将其分为三种:基础硬件云(Hardware cloud )。
又被称为“基础设施即服务”(Infrastructure as a Service ,IaaS )。
建立一个非常巨大、非常复杂的数据中心,为用户提供服务器、存储器和网络等硬件设施的使用服务(根据使用情况付费)。
你可以用它运行企业程序、储存数据或者进行电子商务交易。
如果高峰时期需要更大的处理、存储能力和带宽呢?没问题。
这种硬件云基础设施能够根据你的需求进行扩张或收缩,而你只需要根据使用量支付费用。
至于供应商如何向你提供服务和在什么地方进行计算,用户并不清楚,而且理论上也不必关心。
系统平台云(Platform cloud )。
又被称为“平台即服务”(Platform as a Service ,PaaS )。
用户不需编程即可开发包括基于SOA 的云计算框架模型的研究与实现梁爽LIANG Shuang沈阳理工大学应用技术学院,辽宁抚顺113122Polytechnic School of Shenyang Ligong University ,Fushun ,Liaoning 113122,ChinaLIANG Shuang.Design and realization of cloud computing framework model based on puter Engineering and Applications ,2011,47(35):92-94.Abstract :Cloud computing is a way to provide hardware to a variety of Internet applications services ,infrastructure services ,platform services ,software services ,storage services ,systems ,and SOA is a component model ,it will rely on well-defined in-terfaces between services and linked contract applications.Cloud computing and SOA will be combined together closely to form a cloud computing framework model based on SOA in this paper.Experiments show that the model is simple ,practical and fully reflects the cloud computing and service-oriented architecture advantages.Key words :cloud computing ;Service-Oriented Architecture (SOA );framework ;model摘要:云计算是一种能够向各种互联网应用提供硬件服务、基础架构服务、平台服务、软件服务、存储服务的系统,而SOA 是一个组件模型,它将依靠各服务之间定义良好的接口和契约的应用程序联系起来。
将云计算与SOA 紧密地结合起来,形成一种基于SOA 的云计算框架模型。
实验证明,该模型简单、实用,充分体现了云计算与面向服务的架构的优势。
关键词:云计算;面向服务的架构;框架;模型DOI :10.3778/j.issn.1002-8331.2011.35.026文章编号:1002-8331(2011)35-0092-03文献标识码:A 中图分类号:TP 393.08作者简介:梁爽(1976—),女,副教授,主要研究方向:网络安全,计算机网络。
E-mail :ls_happiness@收稿日期:2010-08-09;修回日期:2010-11-11;CNKI 出版:2011-02-24;/kcms/detail/11.2127.TP.20110224.1050.004.html922011,47(35)CRM 、OA 、HR 、SCM 、进销存管理等任何企业管理系统,而且不需要使用其他软件开发工具并立即在线运行。
应用软件云(Software cloud )。
又被称为“软件即服务”(Software as a Service ,SaaS )。
它是一种专业化软件,员工可以通过Web 浏览器调用该软件;通常,企业要根据用户数量(或者说按“席位”)来付费。
供应商负责对硬件和软件能力进行管理,使之能够满足企业所需要的用户席位和服务级别。
至于具体硬件设施或软件结构,用户不用知道也不必关心,而且企业不用建立自己的数据中心[4-5]。
2.2基于服务的架构(1)SOA 的定义面向服务的体系结构(Service-Oriented Architecture ,SOA )是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。
这使得构建在各种这样系统中的服务可以一种统一和通用的方式进行交互。
(2)SOA 的特征SOA 具有如下一些特征:①服务的互操作(interoperability ):在SOA 中,通过服务之间既定的通信协议进行互操作。
主要有同步和异步两种通信机制。
②服务是自治的(Autonomous )功能实体:服务是由组件组成的组合模块,是自包含和模块化的。
SOA 非常强调架构中提供服务的功能实体的完全独立自主的能力。
③服务之间的松耦合度(Loosly Coupled ):服务请求者到服务提供者的绑定与服务之间应该是松耦合的。
这就意味着,服务请求者不知道提供者实现的技术细节。
服务请求者往往通过消息调用操作,请求消息和响应,而不是通过使用API 和文件格式。
④服务是位置透明的(location transparency ):服务是针对业务需求设计的。
需要反映需求的变化,即所谓敏捷(agility )设计。
要想真正实现业务与服务的分离,就必须使得服务的设计和部署对用户来说是完全透明的。
也就是说,用户完全不必知道响应自己需求的服务的位置,甚至不必知道具体是哪个服务参与了响应。
2.3结合云计算与基于服务的架构的必要性通过上面的分析可以看出,云计算的各部分与企业数据中心的各部分一样.同样包括诸多编程语言、操作系统、数据库、Web 服务器、协议和应用编程接口(API )。
关键就是确认哪些云服务真正适合自己内部的系统、应用程序和专长技能。
而云计算得以推广的根本是必须确保云服务与本企业的基础架构相互集成[6]。
这就需要一种易扩展、二次开发费用低的基础架构能够结合两者。
而SOA 架构刚好弥补了云计算在这些方面的缺点,可以将二者有机地结合起来,从而形成一种更有竞争力的框架模型。
3基于SOA 的云计算框架模型设计给出模型图,说明各部分的功能基于服务的云计算框架主要由三种角色组成:服务提供者、服务消费者和服务代理。
基于SOA 的云计算框架模型如图1所示。
(1)服务提供者:是网络上的一个节点,它为那些软件服务(执行一组具体操作)的接口提供了访问服务。
服务提供者节点提供了对业务系统、子系统和组件的访问服务。
由于服务提供者需要同时为Internet 上若干的消费者提供网络服务,所以需要服务提供者具有相当强的计算能力,故这里采用云结构来对外提供服务。
在面向服务的云计算结构中服务提供者共分为4层:云计算应用接口层、云服务管理层、云服务虚拟机层、云资源服务器层。
主要通过云计算接口层对外提供服务用户所需的云服务。
云资源服务器层是基于SOA 的云计算服务架构的最底层,是云计算结构的核心层,是给上层提供云计算服务的基础设施层。
①云计算应用程序接口云计算应用程序接口的作用是为终端用户消费云计算服务提供统一规范的接口。
终端用户通过专用入口通道进入云计算服务中心,订制和消费其所需的服务。
通过云计算应用程序接口,终端用户可以在不投入大量资金来改善本地机器性能的情况下进行远远超过其机器性能上限的高强度计算和大存储容量的工作。
②云计算服务管理层云计算服务管理层是云计算服务请求和响应层。
云计算服务管理层也可称为云计算服务决策层,其作用是检测和响应云计算应用程序接口层提交过来的云计算服务消费请求。
云计算服务管理层一个最重要的特征是实时更新可用资源库,以便不会错误地处理终端用户的云计算服务请求。
当接收到云计算应用程序接口提交过来的云计算服务消费请求时,云计算服务管理层先检测当前的云系统资源中是否还有此请求所要消费的资源,如果已分配完毕则拒绝此请求;如还有此资源,则查找资源所处的具体位置,并将该位置传送给资源请求方,在云服务管理层的资源分配表中记录已分配的资源,消费者可以消费某一台机器上的某种资源。