面向服务协作的模型驱动敏捷开发技术研究

来源 :中国科学院软件研究所 | 被引量 : 0次 | 上传用户:ZHANGLONGQI008
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着Web服务技术和面向服务的体系结构(SOA)的发展,运行时互操作已经不再是一个难题。但是,这就要求软件开发必须从使用本地丰富的内部应用资源向联接外部广泛分布的服务资源过渡。这一转变却正面临一些新的困难,新时期的软件开发必须回答如下三个问题:如何使包装为Web服务的软件资源协同工作、如何在技术演进的过程中保持平台的中立性、如何在当前动荡的Internet时代适应需求的变化?通过与这三个问题相对照,不难发现:传统的软件开发方法难以重用和协同软件资源,难以保持平台的中立性,也难以满足变化的需求。因此,迫切需要一种能够克服这些困难的新方法。 本文以服务协作作为解决以上三个问题的切入点和突破口;从模型驱动方法入手,定义具有形式化语义的服务协作模型,并实现服务协作模型的可视化建模;同时借鉴敏捷方法的原则和做法,以可执行服务协作模型为中心,使得面向服务协作的开发、部署和执行过程达到快速、轻巧、灵活的效果;最终形成了完整的面向服务协作的模型驱动敏捷开发技术框架,简称SOMA。通过发挥服务协作、模型驱动、敏捷开发这三种技术各自的优势,SOMA能够更好地支持网络分布式环境下的软件协同工作,在技术平台变化时保持软件开发过程和产品的平台无关性,同时对需求变更可以较低的成本迅速做出反应。 在深入到技术细节之前,本文给出了整个技术框架的全貌。首先,顺应面向服务的开发潮流,提出了一种新的软件开发范型,称为服务协作,意为将相近但是互补的服务连接为一个更大的共享系统,服务之间相互成为合作伙伴。经过分析服务协作的概念模型,本文指出服务协作的核心问题是如何协调多个服务参与到一个协作流程中。由于已有的控制驱动、数据驱动和混合驱动等协调机制不利于快速开发、平台移植和适应变化,因此,本文提出了一种模型驱动的解决方法,将数据和控制抽象为与实现平台无关的形式化模型。接着,本文认为,通过把敏捷方法对可执行代码的热衷转变为以可执行模型为中心,模型驱动与敏捷方法是兼容的,可以直接以形式化模型来驱动基于Web服务的协作,这要求在协调媒介的体系结构中包含解释器和协调器等重要组成部分。 接着,本文给出了可执行服务协作模型及其可视化建模技术。在该模型中提出的构造称为它的语法,而根据该语法构造的实例的属性和行为称为它的语义。为了便于可视化建模和可视化监控,服务协作模型是基于图论的,使用加权有向图来表达服务协作的流程。一个图代表一个流程,图中的结点代表活动,有向边代表活动之间的转换,指示控制流的方向,边上的权值则是转换条件。一个活动既可能对应于某个Web服务上的操作调用,也可能需要由某个子流程来实现,并且活动执行的过程中需要输入输出参数。因此,服务协作模型还包括了流程上下文数据的定义以及用于活动实现的服务与操作等定义。此外,本文还给出了服务协作流程模型的良构性定义和判断方法。同时,本文还以自主实现的ONCEPI系统的流程建模工具为例,讨论了服务协作模型的可视化开发技术。 服务协作模型之所以是可执行的,是因为它具有形式化的操作语义和具体的解释器。解释器可以基于操作语义中定义的规则解释执行根据模型生成的流程实例。本文将流程实例中当前所有上下文数据的取值看成为流程实例的状态。格局则被定义为解释器中当前正在执行的一系列次序无关的流程实例。流程实例的执行过程就是沿着流程模型中定义的控制流执行一系列活动实现,为此,本文定义了解释器对流程实例可用的一系列操作。流程实例一旦建立,就会在这些操作的作用下不断更新变化,形成该流程实例的踪迹。本文证明了所给出的操作语义是良好定义和无死锁的,可以用来推导流程实例踪迹和格局变化。本文还基于该操作语义,给出了用于解释器实现的解释执行算法。并且,本文基于解释器产生的流程实例踪迹,实现了可视化的流程监控。 鉴于协调机制是服务协作的核心问题,本文基于Web服务操作的行为模式给出了服务协作的协调模式,服务协作流程实例的执行过程也是协调媒介与若干个服务提供者之间的一系列交互过程。为此,本文参考CCS的思想,定义了称为服务协调演算(SCC)的进程代数模型。基于其语法可以将解释器、协调器和服务都描述为进程,并能够使用所给出的操作语义规则推导这些进程的同步和通信过程。本文以RPC风格的SOAP通信为例,研究了协调媒介与提供请求—响应类型操作的Web服务协调的过程。与前人有所不同的是,这种协调机制是模型驱动的,抽象的进程、动作和条件可以映射到服务协作模型及其实例。本方法的优点在于较为清晰的关注点分离,适用于将许多或者简单或者复杂的服务组织成更复杂更庞大的业务系统,可以实现敏捷的应用开发、运行和维护。 最后,本文介绍了自主实现的面向服务协作的敏捷开发支撑平台ONCEPI系统。ONCEPI的逻辑结构主要由开发平台中的建模工具和监控工具、运行平台中的解释器和协调器等模块组成。建模工具和监控工具是基于服务协作模型的语法定义构造的;解释器基于服务协作模型的操作语义,实现了流程实例的解释执行;协调器则由服务协作模型驱动,协调流程实例的基本活动执行与服务提供者的操作调用之间的交互。ONCEPI在J2EE平台之上实现,其关键的支撑系统是ONCEAS,ONCEPI中解释器与协调器间的实例上下文传递是基于JMS消息驱动的,对内外部Web服务的调用则是基于ONCEAS内置的SOAP引擎实现的。此外,本文还以UML图的形式介绍了一些关键类的实现,并给出了基于ONCEPI的敏捷开发过程。
其他文献
飞机融资租赁已成为全球各航空公司飞机融资的主要手段之一,也是我国各航空公司普遍采用的融资方式。该方式适应了我国航空公司资金不足的现状,提高了资金的使用效率,很大程度上
随着信息网络化和经济全球化的快速发展以及我国银行业改革开放步伐的加快,金融业正经历着前所未有的革新。作为二十世纪最重要的金融创新之一,电子银行凭借其在降低经营成本、
近年来,伴随着高等教育的跨越式发展,我国高等职业教育异军突起,改革不断深化,质量不断提高,一个基本适应我国社会主义现代化建设需要的高等职业教育新体系初步形成,但同时高职院校
在经济全球化的推动下竞争早已跨越国界,世界慢慢变成了一个大市场。中国,随着经济实力的日益强大在这个大市场中的地位日益提升,尤其是购买力不断增强的十三亿消费者成为本土企
进入21世纪,随着社会生产力的飞速发展,人们的物质需求得到了极大的满足,生活水平和生活质量显著提高,消费需求已经不仅仅只停留在获得更多的物质产品本身;消费者在消费时,越来越重
从党的十五届五中会议提出的“以信息化带动工业化”,到十七大提出的“把信息化作为与工业化、城镇化、市场化、国际化并举的重大形势和任务”,短短十几年时间中,中国在企业信息
在人脸识别中,特征抽取是影响识别效果的关键步骤。特征抽取方法的好坏对识别率的高低有着巨大的影响。迄今为止,人脸识别领域的专家学者们提出了众多特征抽取方法,经典的特
随着全球范围内经济的发展,技术的进步以及信息化时代的到来,现代企业面临巨大的挑战。不同企业所运用的不同的运营管理模式已经成为决定其企业命运的关键性因素。为了保持竞争
随着全球经济一体化的到来,国际竞争日益激烈,特别是知识经济的全球化,知识、技术和人才日益显示出其重要性。企业要想在激烈的竞争环境中取得一席之地,关键在于人才。企业之
绩效管理作为现代企业人力资源管理的重要工具和手段,已经被我国越来越多的企业认识其对自身发展的重要影响。由于一些企业在绩效管理的具体实施与操作过程中存在许多的问题,结果导致绩效管理的应用实施效果不佳。本文以绩效管理的理论与方法为研究基础平台,对华立公司组织结构、人力资源和现行管理模式进行了分析,并且重点分析了华立公司现有的绩效管理方案。在此基础上,以团队绩效相关性,目标分解、规范性与可操作性为指导原