基于云计算架构面向领域的信息服务开发模式研究

2011-09-25 09:40:32
图书情报研究 2011年1期
关键词:构件领域环境

郑 华

(1.广西财经学院计算机与信息管理系 南宁 530003;2.南京大学工程管理学院 南京 210093)

基于云计算架构面向领域的信息服务开发模式研究

郑 华1,2

(1.广西财经学院计算机与信息管理系 南宁 530003;2.南京大学工程管理学院 南京 210093)

针对融合网络环境下用户多样性的信息服务需求,提出将云计算技术与领域工程方法相结合,从领域工程三个阶段出发分别进行面向服务的领域分析与建模、基于云计算架构的领域体系结构设计和面向服务的领域复用基础设施的构建,从而充分结合云计算技术在业务整合方面的优势,实现对领域内大规模分布式信息服务的开发、组装和复用。

云计算 领域工程 信息服务 构件

1 引言

Jean Tague Sutcliffe在其专著Measuring Information: An Information Services Perspective中指出:“信息服务是以独立的机构或机构的某一规定功能的形式所表现的一种资源, 它的目的是为用户群体提供信息。”[1]近年来,随着Web2.0的出现以及移动网络技术的应用,互联网呈现出网络的Web化特征。在这样一种融合网络环境下,信息服务所面临的是一个更加复杂、异构、开放、多变的环境,当前每个信息服务的部署、运行都依赖于一定的网络、资源等环境要素。同时,大量用户不确定的多样性服务要求,也导致了频繁变化与多目标的用户需求。未来信息服务的一个发展方向就是能够利用各种网络环境下的跨平台、松散耦合的若干服务,协同构造一个满足用户需求的增值服务。这就要求在针对新的用户需求进行服务设计时,一方面要保证服务易被其他服务重用,另一方面要保证可重用已有服务。这就涉及到如何建立满足用户需求的、并易被其他服务重用的服务开发流程。虽然,新的服务模式与技术不断涌现,如SOA、虚拟化技术、分布式计算技术、网格、云计算等,但缺乏行之有效的方法论,仍然制约了信息服务的进一步应用和发展。

2 相关研究

陈建龙深入分析了信息服务的各要素以及信息服务的基本模式、生成模式等内容,特别强调了信息服务活动是以信息用户为导向的活动[2]。刘昆雄等指出当前网络环境下用户信息需求呈现出社会化、多样化、即时性和动态性、精品化和高效化等特点[3]。夏南强等研究了融合网络环境下信息服务的相关问题[4]。刘高勇等指出Web2.0环境下的信息服务是以用户为中心,并提出了4种拓展模式[5]。从已有成果来看,图书馆学、情报学领域的学者更多地是从模式方法的角度研究信息服务的相关要素及其内部机制,强调了用户需求的重要性;但针对融合网络环境下信息服务开发模式的研究还较少,如何开发出能满足融合网络环境下用户多样性需求的信息服务仍然是一个亟待解决的问题。

云计算(Cloud Computing)[6]是一种新型的资源和服务交付方式,为用户提供服务的IT基础设施和网络都可以称为“云”,其概念最早由Google公司提出。云计算的定义一般可分为狭义和广义两种。狭义云计算是指通过网络以按需、易扩展的方式获得所需的资源;广义云计算是指通过网络以按需、易扩展的方式获得所需的服务。其主要特征是系统拥有大规模数据集,基于该数据集向用户提供服务。云计算使用大量的普通商用机来构建系统,通过冗余存储的方式确保整个系统的可靠性和可用性。

领域(Domain)是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域[7]。领域工程 (Domain Engineering)强调的是把已经掌握的领域知识和工程学相结合来完成某个领域应用工程的所有活动。融合网络环境下的信息服务开发同样可以利用该思想,但侧重于建立可复用软件构件的所有活动。其基本思路是:依据领域工程的三个阶段(领域分析、领域设计、领域实现)来识别、开发和组装可复用构件;当构造面向某个领域的信息服务系统时,首先根据领域模型来确定新应用的需求规约,接着根据特定领域的软件构架形成新应用的设计,最后从构件库中获取所需的资源,然后通过构件组装的方式来获得所需的应用程序。

基于上述分析可知,由于网络环境的复杂性、用户需求的多样性,造成各类信息服务难以开发和复用,制约了信息服务的进一步发展。针对这些问题,本文引入领域工程的思想并结合云计算技术,研究如何针对一个特定应用领域,利用其特有的领域知识,来有效的设计并实现满足用户需求的信息服务。

3 面向领域的信息服务开发模式

融合网络下的信息服务面对的是一个更加开放、异构的复杂网络环境,一个满足用户需求的信息服务往往是由多个跨网络、跨组织部署的信息服务按照一定的方式进行组装得到的。由于信息服务面临环境的异构、开放、复杂、多变等特性,给信息服务的运行带来了多种不确定因素,使得信息服务的性能和服务质量难以得到保证。此外,在融合网络下,一个满足用户需求的信息服务往往跨越多个网络,传统的分析、设计及保证方法和技术都难以适应面向信息服务技术局部自治、自主协同、动态演化等特点。

由于融合网络环境下的多用户需求问题非常复杂,本文讨论的信息服务首先限定在某个特定领域范畴内。在这里,我们把某种信息服务的实现看作是通过构件的形式所实现的业务过程的软件实现。与领域内其他系统相比,某个应用系统虽然自身具有一些特点和需求,但更多的是具有领域内的共性。通过借鉴共性的域知识,按照软件复用的原则不断修改、演化软件系统的各组成部分,逐渐抽取和演化可复用的构件,并逐渐形成原型系统。融合网络环境下,原型系统和用户的个性化需求还有一定的差距,因此随着开发者对业务流程的认识不断加深,原型系统还需要不断的进行补充和完善。考虑到软件开发成本以及软件复用机制不完善,系统开发还主要是以尽快满足当前用户需求为目的。随着领域知识的增加和积累,会逐渐形成较成熟的领域体系结构和应用框架,并逐步将软件的更多部分演化成可复用度较高的构件。借鉴领域工程、构件化开发的思想,结合云计算技术在业务整合方面的优势,本文提出一种面向领域的信息服务开发模型:分为面向服务的领域分析与建模、基于云计算的领域体系结构设计和面向服务的领域复用基础设施构建三个阶段,涵盖了领域分析、领域设计和领域实现三个层次。其实现过程如图1所示。

图1 面向领域的信息服务开发模型

在整个开发模型中,应用系统开发的重点是单个系统,而领域工程的重点则是在一个域内的多个相关系统;领域工程活动的结果可被应用系统开发所用,应用系统开发的活动又反过来影响未来的领域工程活动。

3.1 面向服务的领域分析与建模

领域分析是通过分析、研究一组应用系统的特性,发现并表示出需求的共性和差异的活动,其目的就是界定领域的边界, 以及获取用户的需求模型。面向服务的领域分析与建模阶段,开发人员首先从领域专家处获取域知识,接着利用已有的域知识帮助进行用户需求分析活动,获取领域内可复用需求,最终形成用户需求规约,实现领域需求模型的构建。

目前,针对领域分析有很多种方法,如面向对象的领域分析方法OODA、面向特征的领域分析方法FODA、组织领域分析模型方法ODM等,它们各有优缺点。现阶段运用最多的是FODA,但它缺少成熟的工具可以运用。UML模型是一个比较成熟的产品,可以用来实现面向服务的领域分析与建模。其主要思路是首先进行领域需求分析,收集需求,并利用用例模型、静态模型、动态模型建立领域需求模型。

3.2 基于云计算架构的领域体系结构设计

环境对信息服务影响重大,是实现信息服务正常运行及最优化运行的关键。基于云计算架构的领域体系结构设计阶段将依据前一阶段获得的领域需求模型,抽象出领域中一类应用系统共有的架构,以此为基础为下一阶段可复用构件的设计实现提供解决方案,是一种更高层次的设计。在领域体系结构设计中要考虑系统级的问题,典型的有容量、吞吐量、一致性、兼容性等,软件体系结构风格为大粒度的软件复用提供了可能。

领域体系结构与技术环境和软件基础设施有关,还包括了在软件平台之上的系统架构,也就是业务构件的组成。通过考虑系统实现环境(如操作系统、数据库、通信机制、中间件等)和应遵循的标准等因素,并为变化性预留空间,本文设计了如图2所示的基于云计算架构的领域体系结构。在该结构中,服务构件资源部署在云中,前端的用户界面允许用户通过服务目录来查找和选择所需的服务,当服务请求发送并验证通过后,由系统管理器来找到合适的服务资源,接着调用服务提供工具来挖掘服务云中的资源。在服务执行过程中,服务提供工具需要先经过资源监控和配置器的配置以及运行时监控。基于云计算架构的领域体系结构可以避免系统部件的耦合,实现了把构件作为服务通过网络透明地提供给用户,用户只需基于实际使用的资源来支付相关的服务费用。这能够提高开发的效率,降低系统的复杂性,增强系统的可扩展性、可重构性和可维护性。

3.3 面向服务的领域复用基础设施的构建

这一阶段所对应的是领域工程中的领域实现,其目标是进行领域可复用服务构件的开发(设计、编码、测试等活动),并存入领域服务构件库中,以便基于架构的高效复用。经过前一阶段得到系统的构件架构,下面用编码的方式将其实现。目前主要的构件技术标准有三个:Microsoft公司的COM/DCOM;OMG组织的CORBA;SUN公司的Java Bean /EJB。服务构件的实现,可选择的开发工具主要是JAVA和.NET,它们都有很好的开发环境,并且包含很多可复用的基础类,编出的代码可移植性也很高。在一次领域工程中,对于不同的构件可能采用不同的实现方式。基本思想是利用已有的构件和将要开发的构件来快速组装高质量的软件。基于构件的开发至少应该包括构件的获取和构件的使用两个过程,构件的获取主要涉及构件的获取途径,构件的使用主要涉及分布式环境下大规模构件的组装和调用。

图2 基于云计算架构的领域体系结构

任何信息服务过程都可以看成一系列有序业务的集合,这些业务被封装在服务构件中,通过操作服务构件来实现具体的业务。构件组装大多是基于工作流类型机制(如BPEL4WS等)以及Petri网,为此我们将领域模型中的业务过程抽取出来,同时将反映领域特性的特征加入,形成领域组装模型。领域组装模型代表了该领域内一族具有共性和变化性系统的业务过程,通过领域组装模型和用户的具体需求可以确定该应用系统中哪些服务是必须的、可选的和多选一的,并且可以根据需求之间的依赖和互斥关系来确定服务之间的关系,用以指导服务构件的组装。

针对部署在云中的大规模服务构件资源,如何实现分布式调用是一个重要的问题。本文主要引入云计算中的MapReduce并行计算编程模型,它向上层用户提供接口,屏蔽了并行计算特别是分布式处理的诸多细节问题。最简单的MapReduce应用程序至少包含3个部分:一个Map函数、一个Reduce函数和一个main函数。Map函数接受一组数据并将其转换为一个键/值对列表,输入域中的每个元素对应一个键/值对。Reduce函数接受Map函数生成的列表,然后根据它们的键(为每个键生成一个键/值对)缩小键/值对列表。main函数将作业控制和文件输入/输出结合起来。首先将需要的服务构件传送到多个节点,然后由每一个节点并行执行,将得出的结果归并到输出。同时第一阶段的输出又可以作为下一阶段执行的输入,因此可以想象到一个树状结构的分布式计算图,在不同阶段都有不同产出,同时并行和串行结合的计算也可以很好地在分布式集群的资源下得以高效的处理。执行一个Map-Reduce程序需要五个步骤:输入文件、将文件分配给多个worker并行地执行、写中间文件(本地写)、多个Reduce workers同时运行、输出最终结果。本地写中间文件在减少了对网络带宽的压力同时减少了写中间文件的时间耗费。执行Reduce时,根据从Master获得的中间文件位置信息,将Reduce命令发送给中间文件所在节点执行,进一步减少了传送中间文件对带宽的需求。具体流程如图3所示。

基于以上三个阶段的工作最终实现了融合网络环境下面向领域的信息服务原型系统的开发。通常,这3个阶段是顺序进行的。但在实际运作过程中,非常有可能需要返回到前一阶段进行修改和完善,然后再回到当前步骤,在修改的基础上进行本阶段的工作。

4 结语

本文提出的信息服务开发模型综合了领域工程、构件化开发的关键技术,充分结合云计算技术在业务整合方面的优势,将信息服务开发分为需求、设计和构件三个层次,并为后续的利用复用开发提供了原型系统的支持,使得开发者能快速构建应用系统并且保持相对稳定,减少了开发与维护的工作量,实现了对领域内大规模分布式信息服务的开发、组装和复用。

图3 基于MapReduce的服务构件调用执行模型

下一步的工作是:怎样将领域工程紧密地和各个领域的信息服务系统联系起来,使领域工程的研究成果能够提高系统开发的效率,更好地满足用户的需求。

[1] Tague-Sutcliffe J. Measuring Information: An Information Services Perspective[M]. San Diego: Academic Press, Inc, 1995:15-35.

[2] 陈建龙. 信息服务模式研究[J]. 北京大学学报(哲学社会科学版),2003,40(3):124-132.

[3] 刘昆雄,王秀丽. 基于网络的信息服务转型理论研究[J].情报理论与实践,2009,32(10):40-44.

[4] 夏南强,殷克涛. 网络融合环境下信息服务研究的思考[J]. 情报理论与实践,2010,33(7):31-34.

[5] 刘高勇,汪会玲. Web2.0环境下信息服务的变革[J]. 图书情报工作,2009,53(7):39-42,8.

[6] 陈 康,郑纬民. 云计算:系统实例与研究现状[J].软件学报,2009,20(5):1337-1348.

[7] 李克勤,陈兆良,梅 宏,等. 领域工程概述[J]. 计算机科学,1999,26(5):21-25.

AModelforDomain-OrientedInformationServiceDevelopmentBasedonCloudComputingInfrastructure

Zheng Hua1, 2

1. Department of Computer & Information Management,Guangxi College of Finance & Economics, Nanning 530003, China;2. School of Management and Engineering, Nanjing University, Nanjing 210093, China

In view of the diversity of users' demand for information services in the converged network environment, this paper suggests service-oriented domain analysis and modeling, domain architecture design based on cloud computing infrastructure and construction of service-oriented domain infrastructure by combining cloud computing technology and domain engineering. The combination will help to make full use of the advantages of cloud technology in business integration to promote the development, assembly and reuse of large-scale distributed information services in the domain.

cloud computing; domain engineering; information service; component

TP311.5

郑 华,男,1978年生,广西财经学院计算机与信息管理系副教授,南京大学工程管理学院在职博士研究生,研究方向为管理信息系统、电子商务,发表论文20多篇。

猜你喜欢
构件领域环境
长期锻炼创造体内抑癌环境
一种用于自主学习的虚拟仿真环境
孕期远离容易致畸的环境
领域·对峙
青年生活(2019年23期)2019-09-10 12:55:43
环境
建筑构件
国际木业(2016年8期)2017-01-15 13:55:22
建筑构件
国际木业(2016年12期)2016-12-21 03:13:28
建筑构件
国际木业(2016年3期)2016-12-01 05:04:52
建筑构件
国际木业(2016年1期)2016-12-01 05:04:09
新常态下推动多层次多领域依法治理初探