论文部分内容阅读
办公自动化(OA:office automation)是一个需求变化很快的领域。使用传统技术开发的OA系统质量差、难维护、可靠性低、可扩展性差,基于构件的软件开发(CBSD:Component Based Software Development)目前被认为是解决这些问题的有效方法之一。 OA系统中安全性的实现技术是决定其成败的关键。采用传统的技术解决OA系统的安全性问题时,实现代码分散于业务逻辑中,不能有效地模块化,它所带来的缺点有代码冗余、系统可维护性和可扩展性差等。因此我们在本OA系统的开发中引入了AOP(Aspect- Oriented Programming,面向方面编程)机制。AOP机制可以有效地将OA系统中的安全性服务与业务逻辑分离,实现安全性服务的模块化,能较好地解决系统中安全性服务的代码冗余、维护困难和扩展困难等缺点。 基于以上考虑,本文所做的主要工作如下: 1、系统地研究了CBSD技术,通过对多个CBSD开发平台进行分析比较,我们选择了符合J2EE规范的支持基于构件的软件开发框架—Spring来实现本OA系统。 2、对信息安全和访问控制策略进行研究和分析,引入适用于Intranet下信息系统的基于角色的访问控制(RBAC:Role-Based Access Control)模型。 3、研究和分析了AOP机制的核心思想,应用AOP机制来实现RBAC。 4、采用Spring框架中支持AOP机制的Acegi安全框架构建本OA系统中的安全子系统,使得传统OA中的安全性实现与业务逻辑分离。 由于本OA系统采用基于构件的方法开发,我们很好地实现了业务逻辑模块化,提高了软件的质量、可维护性及可扩展性;又由于采用AOP机制实现本OA系统的安全性需求,使得安全性子系统可以象业务模块一样成为一个构件,支持“即插即用”式的构件组装,它不仅可以用于本OA系统,还可以十分方便地应用于其它类似的应用系统。 从该OA系统在江西省财政厅等多家单位部署和实施后的试运行效果看,初步实现了设计目标,满足了日常办公需要,在一定程度上提高了软件可靠性、可维护性。