云化的业务生成环境模型# 张茜,邹华** 基金项目:中国863高科技项目基金(2011AA01A102) 作者简介:张茜(1988-),女,硕士研究生,下一代网络技术 通信联系人:邹华(1969-),女,教授,"通信软件"和"下一代网络增值业务提供". E-mail: zouhua@bupt.edu.cn (北京邮电大学网络技术研究院,北京 100876) 5 摘要:随着社会的高速发展,桌面应用程序已经不能满足人们的需求,移动办公、资源共享、协同工作等一系列要求被提出。同时,对于电信业务的开发一直是业界难点,因为这要求业务开发人员具备专业的电信知识。在本论文中,为了解决上述问题,提出了云化的业务生成环境模型。旨在为电信业务开发者提供图形化的构件拖拽开发界面,环境自行生成可运行的BPEL流程,并采用构件虚拟复用的方式进行业务运行。该环境可直接通过浏览10 器获取,同时提供子网运算能力定制。 关键词:云计算;构件;虚拟复用;BPEL;业务 中图分类号:请查阅《中国图书馆分类法》 Cloudy Service Creation Environment Model 15 ZHANG Xi, ZOU Hua (Institute of Network Technology,Beijing University of Posts and Telecommunication,Beijing 100876) Abstract: As the high speed development of the society, the desktop applications can not meet the needs of us, mobile office, resource sharing, collaborative work and some other requirements are 20 coming up. At the same time, the development of telegraphic service is a big problem as the high demandingness of telegraphic knowledge to the developers. In this paper, to solve the problems above, we propose the cloudy service creation environment model. It aims to provide graphic development view and produce BPEL process automatically and running service via components virtual reuse way. The environment can be reached by browser and provide the customization of 25 subnet compute power. Key words: cloud computing; component; virtual reuse; BPEL; service 0 引言 从微机时代的到来开始,桌面应用程序便一直占据着桌面市场的绝对优势,C/S架构也30 被大家公认为当时软件开发的优秀架构设计[1]。但是,随着信息化的互联网时代的到来,客户端应用程序的弊病逐渐暴露:需要不断升级到最新版本,多台机器上的软件版本不统一;不同机器上需要重复部署开发环境;资源不能共享;几乎不能实现移动办公;不能协同工作等等问题[2]。 与此同时,对于电信业务的开发,向来只有经过专业电信知识培训的开发人员才能胜任。35 而对于普通的软件开发人员,对于电信知识的生疏无疑是一个巨大的鸿沟。 为了解决上述问题,在本论文中,我们将提出一种基于B/S架构的用于电信业务开发的云化业务生成环境模型。该模型的提出将解决以下问题: 通过对于云计算的支持和融合提供了资源定制的解决方案同时解决了移动办公、资源共享等问题 40 通过浏览器获取开发环境资源,解决了版本升级、重复部署、移动办公等一系列问题 通过对于电信业务构件的封装以及图形化的开发界面,除去了普通软件开发人员对 于电信业务开发的壁垒 通过提供协同工作的解决方案,使得软件开发周期进一步缩短,同时为敏捷软件开45 发团队提供支持 本论文的后续结构如下:在第二部分将介绍相关工作;第三部分是本论文的核心,将着重介绍服务器端的设计主要是构件xml到bpel的映射;第四部分将介绍各个模块间的交互详细;结论和后期工作将在第五部分进行介绍。 50 1 相关工作 Taverna是一个开放源码和域名的独立工作流管理系统,一个用于在设计和执行实验科学的的工作流程和助手工具套件。它定义的工作流,通过工作流引擎在分布式计算资源上完成作业,并且提供图形化的界面。Taverna提供基于SCUFL(Simple Conceptual Unified Flow Language)的桌面编程环境并且制定了科学的工作流引擎。该工作流引擎可以被拆分同时用55 其他一些支持SCUFL的引擎替代。但是,SCUFL并未被广泛使用,同时,Taverna也不提供直接对于代码的修改和编写环境[3]。 Bpel designer是一款基于eclipse的bpel插件,它旨在为eclipse提供定义、编写、修改、部署、测试和调试程序的合成环境,这些程序都是基于WS-BPEL(Web Services Business Process Execution Language) 2.0的。它的主要功能包括:设计、建模、校验、运行时框架60 以及调试。该插件同时为第三方开放接口并支持第三方有效扩展。相对于SCUFL语言,BPEL语言目前应用广泛,但是该项目只是基于eclipse的插件项目,只能在eclipse客户端应用程序环境中使用,没有运用到其他环境,特别是web端的可扩展性[4]。 对于电信业务,在过去数十年里几乎都是对于语音通话的需求,在近十年里开始出现了短信,彩信等增值业务。近年来,由于3G网络甚至4G网络的迅速发展,过去束缚电信业65 务发展的带宽问题得到了解决。于是,各种电信增值业务如雨后春笋般涌现。但是各家业务提供商各自为营,目前为止仍然没有一个专业的、通用的、融合的电信业务开发平台为电信业务运营商以及各个中小企业提供电信业务开发环境。 为了解决上述问题,在本论文中将提出云化业务生成环境(Cloudy Service Creation Environment)。该环境采用B/S架构,以及通用的BPEL语言。为电信业务开发者提供可70 扩展的统一开发平台,该平台同时支持图形化开发界面和代码编辑开发界面。同时支持协同工作以及后台资源定制。 2 服务器端设计 服务器端设计是本论文的重点,在本部分内容中,将着重介绍服务器端设计。主要包括服务器端整体架构的设计以及各个模块详细设计。 75 首先,明确业务生成环境在系统中的位置,如图1所示。与其交互的有业务测试环境、业务管控与访问环境,及构件搜索环境。在开发过程中,业务在STE中进行正确性测试,并可以通过构件搜索添加已有的构件,开发完成后,业务发布到业务管控与访问环境,并在业务运行环境中运行。 业务生成环境SCE搜索环境业务管控与访问环境业务测试环境STE构件搜索业务正确性测试业务发布业务运行环境业务加载运行 80 图1 云化业务生成环境系统图 Fig.1 cloudy service creation environment system diagram A. 整体架构设计 云化业务生成环境的系统架构图如图2所示。主要包含两个接口,A接口为浏览器和平台的接口,负责将用户在浏览器中的操作提供到服务器端,B接口为平台和业务管控与访问85 平台的接口,业务开发完成后,通过该接口将业务发布到业务管控与访问平台。 业务运行环境业务生成环境服务器浏览器登录界面图形化开发界面构件配置文件库构件扩展器构件分析器BPEL Designer业务加载/卸载模块业务管控与访问平台BPEL引擎BPEL文件构件运行文件库AB搜索功能业务搜索引擎C 图2 云化业务生成环境总体架构图 Fig.2 cloudy service creation environment framework 在云化业务生成环境中,最重要的一点是该系统采用了构件虚拟复用的方式。该技术方90 式的主要思想是:运行时调用。用户不需要在客户端保留庞大的所有业务文件,只需要拥有业务描述文件即可,对于业务运行所需要的运行文件将在运行环境进行统一管理。这样一来需要将业务分为描述文件和运行文件,同时可以将业务切割成更小粒度的可复用模块,于是构件的思想应运而生。 首先,将构件切分为较小的粒度,保证构件完成功能单一、可重用性高。其次,在业务95 搭建时只需保有构件描述文件,而不真正拥有完成构件功能的执行文件,将构件执行文件的统一管理的工作交付业务运行环境。不为每一个特定的业务配备所有的执行文件,可使业务构成更加清晰、明确。 B. 模块详细设计 100 在本论文中我们设计了以下六大模块以完成云化业务生成环境的功能,他们分别是构件管理模块、活动管理模块、变量和属性配置管理模块、BPEL生成模块、构件搜索模块、业务加载模块。 本系统中的详细模块设计如图3所示: XML预处理模块XML映射模块构件搜索模块业务加载模块BPEL生成模块活动节点管理模块业务连线管理模块活动管理模块构件分析器模块构件扩展器模块变量管理模块属性配置模块构件管理模块105 图3 详细模块设计图 Fig.3 Detailed module design 构件管理模块 该模块的主要功能是管理云化业务生成环境中的各类构件,构件按照一定的粒度进行划分,每一个构件都可以完成单一、明确的部分功能,将这些构件按照一定的逻辑进行组装就110 可以生成不同的业务。在构件管理模块中,包含构件分析器模块、构件扩展器模块、变量管理模块以及属性配置模块。 构件分析器模块包含两部分的功能:首先,对于希望加入本系统构件库的构件。构件分析器对其进行分析,判断其是否符合本系统构件规范,如果符合才能加入到构件库中。其次,用于记录和管理构件具体信息,如输入属性、输出属性、输出等。当用户使用某一特定构件,115 构件分析器进行分析并提供相应属性供用户配置。 构件扩展器模块用于对第三方的开放扩展,第三方可以通过遵照该业务生成环境的规则对构件库进行扩展,生成目标功能的构件同时放入构件库中进行使用以丰富和完善原有构件库。 变量管理模块的主要功能是管理云化业务生成环境中的各类变量。所有变量都属于业务120 的“全局”变量,可以作为构件的输入属性和输出属性。比如用户可以创建变量A,然后将构件M的输出属性赋予变量A,并将变量A作为构件N的输入属性,让构件N对其进行加工。如此一来,用户可以根据业务逻辑进行相应的变量声明并全局使用。 属性配置模块的主要功能是对于已选择的业务构件进行属性配置。当用户选择某一构件,属性配置模块从构件分析器中读取需要配置的项目并负责暴露配置项给用户,一般包括125 用户的输入属性、输出属性以及输出。针对每一属性都可能有不同的变量类型,如已确定的常量、字符型、整数型等。 活动管理模块 该模块包含两个子模块:活动节点管理模块和业务连线管理模块。其中,活动节点管理模块用于管理云化业务生成环境中除构件以外的各类活动,包含BPEL标准活动以及逻辑选130 择。业务连线管理模块用于管理云化业务生成环境中的业务连线逻辑,包含构件与构件、构件与活动以及活动与活动之间的连线。当用户选择某一特定的活动时,如开始、结束、顺序、选择、循环等,该模块对该活动进行记录,并预计该活动的作用域对其进行管理。当用户为某两个活动(构件)进行连线时,该模块负责进行记录点对点的连线。最终,将活动信息以及连线信息交付给BPEL生成模块进行进一步处理。 135 BPEL生成模块 该模块是本系统的核心模块,主要功能是根据用户搭建的图形业务生成相应的业务逻辑BPEL代码[5]。它包含了XML预处理模块和XML映射模块。其中,XML预处理模块需要和构件管理模块、活动管理模块进行交互,取得业务的全部信息,包括使用的构件、构件中各项属性的配置、各个构件之间的连线逻辑关系,前两项均从构件管理模块取得,逻辑连线140 关系从活动管理模块取得。然后,XML映射模块负责对收集到的信息进行整合和映射处理,生成业务描述XML文件。最后,将该XML文件处理为符合BPEL规范的BPEL可执行文件[6]。 学术论文网Tag:代写硕士论文 代写论文 代写MBA论文 代写博士论文 |