Font Size: a A A

Build The Highly Extensible CI System By AOP

Posted on:2009-09-12Degree:MasterType:Thesis
Country:ChinaCandidate:Y ZhuFull Text:PDF
GTID:2178360272489545Subject:Software engineering
Abstract/Summary:
No matter which software developing process to apply, integration would be one necessary step. With the agile method is applied in place of traditional process, continuous integration is applied by more and more teams. Continuous integration advocates frequently integration rather than putting off the integration to the last step of the cycle. With continuous integration, the bug can be discovered and fixed soon; it helps to improve the efficiency of developing. Since the agile method has been adopted by most software organizations, the CI system has become a necessary component of the project.According to the authors experience and investigation, although there're many mature CI products, the software organizations always have their own requirements because each organization has its own process and specific functionality requirement. CI system is the core component in the project, so all those specific requirements need to be implemented in CI system. According to statics, more than 80% software organizations need to extend the CI system before using it in the projects. In a word, the requirements of specified software organizations are special, unlike the core business functionalities, the functionalities wanted by software organizations always belong to assistant functionalities, for example: logging functionality, timing functionality, exception capture, data cache and so on. It leads to high coupling between core business model and assistant model when extending the CI system using traditional OOP method, and the aspect model is not shareable.The content of this paper engages in the research and realization of extending the continuous integration system by AOP. AOP decreases the coupling degree between core business component and assistant aspects which is proper for continuous integration system. In the paper, the author introduces AOP first, especially how to realize AOP base on .NET Framework; the author researches how to extend the CI system using AOP including how to define the assistant functionality, how to design the join point and advice and how to control the granularity of aspect, then the author tried to analyze three functionalities: timing, catching the trigger of integration and catching the unexpected exceptions. At Last, the author uses AOP to extend the famous CI system: CruiseControl .NET.The method has already been used in ISEE and UPS in HP, the core business models and assistant models can be decoupled, and the assistant model can be shared across the whole organization.
Keywords/Search Tags:Continuous Integration, AOP, Dynamic Proxy, CruiseControl .NET
Related items