Using aspect-oriented PHP to implement crosscutting concerns in a collaborative web system
Otávio Augusto Lazzarini Lemos, Daniel Carnio Junqueira, Marco Aurélio Graciotto Silva, Renata Pontin de Mattos Fortes, John W. Stamey · 2006
Aspect-Oriented Programming (AOP) is a new technology that was proposed to improve separation of concerns in software development. AOP's main focus is to use aspect modules to implement concerns that would be generally scattered across the system and tangled with other modules (crosscutting concerns). Although much research has focused on AOP's application to traditional software development, little has been done towards its application to Web development. Aspect-oriented PHP (aoPHP) is an addition to PHP that allows the use of AOP in the Web development context. In this paper we describe an application of aoPHP to show that AOP can also be effectively used in theWeb development context. In particular, we have implemented two crosscutting concerns in a collaborative Web system named CoTeia: the access control and the version control functionalities. Furthermore, we discuss how AOP can enhance the design of Web applications by reasoning on the refactored system