Aspect-Oriented Web Development vs . Non Aspect-Oriented Web Development

Aspect oriented programming is a way of reducing the complexity of software development, in the sense that it is easier to reason about isolated concepts. The complexity of web applications has been increasing in the last few years, mainly, because customers are requesting more and more. We think that advanced separation of concerns can be a good strategy to reduce the complexity of web applications. In order to pool the drawbacks and strengths of aspect oriented technology for web development, we have developed the same application, on the one hand, using AspectJ and Java Server Pages (JSP), and, on the other hand, using Cocoon, a web framework based on XML for publishing web pages. While developing the application, a few concerns brought up, but we are going to focus this paper on two of them, authentication and design by contract, because they help us give a clearer explanation of our results.

[1]  Antonia M. Reina Quintero,et al.  Separating the navigational aspect , 2002, Proceedings 22nd International Conference on Distributed Computing Systems Workshops.

[2]  C. M. Sperberg-McQueen,et al.  eXtensible Markup Language (XML) 1.0 (Second Edition) , 2000 .

[3]  Adrian M. Colyer,et al.  Aspect-oriented programming with AspectJ , 2005, IBM Syst. J..