论文部分内容阅读
SAP系统是大型企业管理软件的典型代表,在SAP系统中广泛存在着许多不明显的横切关注点,如合作伙伴决策、一致性检查、各应用组件间的相互依存关系以及过程相关的关注点等。同时,在实际的SAP实施项目中,为了满足多种多样的客户需求而进行的各种扩展开发程序中也存在着许多横切关注点,如日志功能、自定义权限检查等。妥善处理SAP系统中横切关注点分散的问题,无论是对SAP系统内核结构的优化,还是对SAP实施项目的扩展开发效率的提高都具有重要的意义。面向方面软件开发(Aspect-Oriented Software Development, AOSD)是目前软件开发研究领域的一个倍受关注的课题。它是对面向对象软件系统的扩展,是对系统横切关注点抽象的进一步深化。它将存在于对象中的横切关注点进行独立描述,然后再统一整合到系统之中。面向方面软件开发可以很好地解决横切关注点的散布问题。但是,将面向方面软件开发的思想与应用技术引入到大型企业管理软件体系中还面临着一些问题。一方面,由于面向方面软件开发的理论研究并不十分成熟,在应用过程中出现了一些在面向对象软件开发过程中未曾遇到过的问题。这些问题属于面向方面编程(缩写为AOP,Aspect-Oriented Programming)自身固有的问题。另一方面,以SAP系统为例,诸如系统内核的升级、产业链开发过程的控制、系统的维护与监控等许多方面都会由于引入面向方面的软件开发思想而受到深刻的影响。这些问题又属于产品特定的问题。这两方面问题是在实际的大型企业管理软件中应用面向方面软件开发技术的主要障碍。本文以SAP系统为研究对象研究并设计了SAP-AOP体系的基础框架,它包含了三个组成部分:SAP-AOP体系各元素的语法体系、用以支撑SAP-AOP体系各概念的数据库表模型以及SAP-AOP管理器,将面向方面软件开发技术平滑引入到SAP系统中。在本文中实现了SAP-AOP管理器的主要功能。SAP-AOP体系以SAP增强框架体系为基础、结合SAP应用模块体系的层次结构和SAP产业链的扩展开发实际作为参考而设计。它综合了AOP整合系统横切关注点的能力和SAP系统的高度控制能力两方面的优势,使二者相辅相成。一方面,利用AOP对横切关注点的分离与整合能力,抽取并模块化散布于SAP系统中的系统横切关注点,可以优化SAP系统内核的体系架构,并且提高整个产业链扩展开发的效率。另一方面,借助SAP系统的高度模块化和高度控制能力,SAP-AOP体系对横切关注点的粒度选择、方面与业务应用间关系的管理与维护等问题的解决都有所改进。最后,在SAP报表扩展开发项目中将本文所设计的SAP-AOP体系进行了应用,应用效果表明这一体系在节约项目成本、提高开发效率等方面起到了积极作用。