采用AOP构建高可扩展性持续集成系统的研究与实现

采用AOP构建高可扩展性持续集成系统的研究与实现

论文摘要

无论采用哪一种软件开发流程,集成都是必不可少的一个环节。随着敏捷开发思想逐渐取代传统开发流程,持续集成(Continuous Integration,CI)取代了传统的最终集成。敏捷开发思想提倡高频率地进行集成动作,在代码更新后第一时间发现潜在的BUG,并予以修复。由于敏捷开发思想逐步被大部分软件组织所采纳,持续集成系统已经成为大多数软件项目不可缺少的一部分。然而,虽然市场上有丰富的持续集成系统产品可供选择,但就软件组织而言,一个成熟的持续集成系统往往不适合直接使用于项目之中,这是因为特定的软件组织往往都对项目流程有着特定的功能需求,而持续集成系统正处于整个项目流程的核心位置,所以这些特定组织的功能需求需要依靠持续集成系统来实现。具统计,80%以上的中大型软件组织都需要在使用前对成熟的持续集成系统进行扩展。软件组织对持续集成系统的扩展需求有一定的特殊性,不同于持续集成系统本身所覆盖的核心业务功能,这些扩展所附加的功能一般都属于横切功能,常见的包括日志记录、动作计时、特殊异常捕获、数据缓存等。采用一般的面向对象思想对持续集成系统进行扩展的话,容易造成核心业务模块和横切功能模块过于耦合,横切功能模块共享性差的问题。本文的研究内容是采用面向方面编程(Aspect-Oriented Programning,AOP)的思想对持续集成系统进行扩展的研究与实现。AOP的基本思想是分离系统的核心功能和横切功能,这样可以有效地降低两者之间的耦合度,这一点对于CI系统的扩展来说特别适用。本文首先介绍了AOP思想的本质和其实现,重点介绍了AOP在.NET平台上的实现;然后研究了使用AOP来扩展持续集成系统的方法,包括如何定位横切功能、连接点和通知类型的设计、如何控制横切面的粒度以及扩展持续集成系统时需要遵守的原则,最后针对集成扩展中常用的集成计时、集成触发捕获和非预期异常捕获三个功能在经典的CI系统:CrujseControl.NET进行扩展,以验证方法的有效性。本文提出的扩展方法以及其实现已经在惠普公司的ISEE、UPS项目中得以应用,AOP的使用使得横切功能和核心功能彻底解耦,而方面模块在项目之间又能较好地共享。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 论文的背景与意义
  • 1.2 国内外研究与应用现状
  • 1.2.1 持续集成的研究与应用现状
  • 1.2.2 AOP的研究与应用现状
  • 1.2.3 AOP在企业级系统中的应用现状
  • 1.3 本文的研究内容及难点分析
  • 1.4 论文的章节安排
  • 第二章 AOP思想与其在.NET平台上实现的介绍
  • 2.1 AOP思想的起源
  • 2.2 AOP思想的概述
  • 2.3 AOP实现的理论研究
  • 2.3.1 AOP的动态横切实现
  • 2.3.2 AOP的静态织入实现
  • 2.4.NET平台上使用动态横切实现AOP的介绍
  • 2.4.1 代理模式
  • 2.4.2 动态代理
  • 2.4.3 使用动态代理实现动态横切AOP
  • 第三章 使用AOP扩展持续集成系统的研究
  • 3.1 持续集成由来与持续集成系统解析
  • 3.1.1 敏捷开发和持续集成
  • 3.1.2 CI系统的体系结构
  • 3.2 使用AOP扩展持续集成系统的方法研究
  • 3.2.1 横切功能的定位
  • 3.2.2 连接点和通知类型的设计
  • 3.2.3 横切面的粒度控制
  • 3.2.4 持续集成系统的扩展
  • 3.3 持续集成系统横切功能案例分析
  • 3.3.1 持续集成的时间统计
  • 3.3.2 集成的触发截获
  • 3.3.3 非预期异常的捕获
  • 第四章 使用AOP对CruiseControl.NET进行扩展
  • 4.1 CruiseControl.NET架构分析
  • 4.1.1 CruiseControl.NET运行时的网络拓扑
  • 4.1.2 CruiseControl.NET的工作流程
  • 4.1.3 CruiseControl.NET的系统解析
  • 4.2 扩展CruiseControl.NET实现时间统计功能
  • 4.2.1 架构与设计
  • 4.2.2 功能的实现
  • 4.3 扩展CruiseControl.NET实现集成触发的捕获
  • 4.3.1 架构与设计
  • 4.3.2 功能的实现
  • 4.4 扩展CruiseControl.NET实现非预期异常的捕获
  • 4.4.1 架构与设计
  • 4.4.2 功能的实现
  • 4.5 扩展CruiseControl.NET实现横切功能的总结
  • 第五章 结论
  • 5.1 总结
  • 5.2 展望
  • 参考文献
  • 致谢
  • 相关论文文献

    • [1].塔台管制集成系统初探[J]. 中国新通信 2020(03)
    • [2].集成超越理念在环亚医用集团的成功实践[J]. 中国建筑装饰装修 2020(06)
    • [3].集成灶行业 进入对产品及服务精细打磨阶段[J]. 现代家电 2020(06)
    • [4].新型集成房屋在装配式技术与模块化设计的比较分析[J]. 砖瓦 2020(09)
    • [5].渔家傲·贺《道医集成》出版[J]. 中国道教 2019(03)
    • [6].集成设置与测试[J]. 网络安全和信息化 2018(09)
    • [7].探析电子集成技术的现状及发展方向[J]. 山西农经 2016(16)
    • [8].消费者选购集成灶需谨慎[J]. 中国防伪报道 2017(08)
    • [9].对光传输网络网管集成维护系统的应用分析[J]. 有线电视技术 2017(08)
    • [10].集成灶进入概念炒作阶段[J]. 现代家电 2015(16)
    • [11].综合集成防护发展探讨[J]. 防护工程 2015(04)
    • [12].方正国际助力信创集成新业态[J]. 中国信息界 2020(05)
    • [13].企业集成创新的知识管理及其微观机理分析[J]. 湖北经济学院学报(人文社会科学版) 2020(11)
    • [14].智能建筑集成管理信息化平台研究[J]. 决策探索(中) 2020(05)
    • [15].团体标准《集成箱式房屋》编制工作正式启动[J]. 中国建筑金属结构 2018(12)
    • [16].奇数年的方太新物种,集成厨电的往事浮沉[J]. 家用电器 2019(09)
    • [17].帅丰:十年磨一剑,推动集成灶行业更上一层楼[J]. 电器 2019(09)
    • [18].行业大视野[J]. 现代家电 2018(20)
    • [19].大数据下的Web数据集成与挖掘[J]. 电子技术与软件工程 2017(22)
    • [20].集成融汇技术在数字图书馆信息服务中的应用[J]. 图书馆学刊 2016(08)
    • [21].期待集成灶行业的春天[J]. 现代家电 2015(06)
    • [22].基于产业集群集成创新的分析——以福建为例[J]. 太原理工大学学报(社会科学版) 2015(05)
    • [23].标准[J]. 东方艺术 2014(11)
    • [24].集成创新理论的研究现状评析[J]. 改革与战略 2011(03)
    • [25].小议企业创新集成的驱动因素及意义[J]. 中国科技财富 2011(03)
    • [26].集成灶 从认知到认同[J]. 现代家电 2010(14)
    • [27].企业集成创新网络理论的演进与发展[J]. 企业家天地 2009(07)
    • [28].基于油田数字化的异构数据源整合与集成技术分析[J]. 中国设备工程 2020(06)
    • [29].揭开集成广福与富滇银行的纠纷疑云[J]. 中国中小企业 2019(08)
    • [30].集成灶的克短板 助长板[J]. 现代家电 2019(16)

    标签:;  ;  ;  

    采用AOP构建高可扩展性持续集成系统的研究与实现
    下载Doc文档

    猜你喜欢