skip to main content
10.1145/1166324.1166358acmconferencesArticle/Chapter ViewAbstractPublication PagesdocConference Proceedingsconference-collections
Article

Using aspect-oriented PHP to implement crosscutting concerns in a collaborative web system

Published:18 October 2006Publication History

ABSTRACT

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

References

  1. C.R.E. Arruda. CoTeia project. Online, 2006. available at http://freshmeat.net/projects/coteia/ - accessed on 08/22/2006.Google ScholarGoogle Scholar
  2. C.R.E. Arruda and M.G.C. Pimentel. Design and implementation of a collaborative authoring system. Revista Eletrônica de Iniciação Científica, 1(1):1--12, 2001 (in Portuguese).Google ScholarGoogle Scholar
  3. J. Benn, C. Constantinides, H.K. Padda, K.H. Pedersen, F. Rioux, , and X. Ye. Reasoning on Software Quality Improvement with Aspect-Oriented Refactoring: A Case Study. In W.T. Tsai and M.H. Hamza, editors, Proccedings of the 2005 Software Engineering and Applications, Phoenix, AZ, USA, November 2005.Google ScholarGoogle Scholar
  4. S. Casteleyn, Z. Fiala, G.-J. Houben, and K. van der Sluijs. From adaptation engineering to aspect-oriented context-dependency. In WWW '06: Proceedings of the 15th international conference on World Wide Web, pages 897--898, New York, NY, USA, 2006. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Y. Coady, G. Kiczales, M. Feeley, and G. Smolyn. Using aspectC to improve the modularity of path-specific customization in operating system code. In ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering, pages 88--98, New York, NY, USA, 2001. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. CVS Community. The Concurrent Versions System Home, 2005. available at: https://www.cvshome.org/accessed on: 07/29/2005.Google ScholarGoogle Scholar
  7. T. Elrad, R.E. Filman, and A. Bader. Aspect-oriented programming: Introduction. Communications of the ACM, 44(10):29--32, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Guzdial, J. Rick, and C. Kehoe. Beyond adoption to invention: Teacher-created collaborative activities in higher education. Journal of the Learning Sciences, 10(3):265--279, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  9. J. Hannemann, G.C. Murphy, and G. Kiczales. Role-based refactoring of crosscutting concerns. In AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development, pages 135--146, New York, NY, USA, 2005. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W.G. Griswold. An overview of AspectJ. In ECOOP '01: Proceedings of the 15th European Conference on Object-Oriented Programming, pages 327--353, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. G. Kiczales, J. Irwin, J. Lamping, J.-M. Loingtier, C. Lopes, C. Maeda, and A. Menhdhekar. Aspect-oriented programming. In M. Akşit and S. Matsuoka, editors, Proceedings of the European Conference on Object-Oriented Programming, volume 1241, pages 220--242, Berlin, Heidelberg, and New York, 1997. Springer-Verlag.Google ScholarGoogle Scholar
  12. G. Kiczales and M. Mezini. Aspect-oriented programming and modular reasoning. In Proceedings of the 27th International Conference on Software Engineering (ICSE'2005), pages 49--58. ACM Press, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Kojarski and D.H. Lorenz. Domain driven web development with webjinn. In OOPSLA '03: Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 53--65, New York, NY, USA, 2003. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. U. Ogbuji. Thinking XML: Learning Objects Metadata. accessed on 07/29/2005. available at http://www-128.ibm.com/developerworks/xml/library/x-think21.html.Google ScholarGoogle Scholar
  15. L.T.E. Pansanato and R.P.M. Fortes. Strategies for automatic LOM metadata generating in a web-based CSCL tool. In WebMedia '05: Proceedings of the 11th Brazilian Symposium on Multimedia and the web, pages 1--8, New York, NY, USA, 2005. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M.P. Robillard and G.C. Murphy. Concern graphs: finding and describing concerns using structural program dependencies. In ICSE '02: Proceedings of the 24th International Conference on Software Engineering, pages 406--416, New York, NY, USA, 2002. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. D. Shepherd, J. Palm, L. Pollock, and M. Chu-Carroll. Timna: a framework for automatically combining aspect mining analyses. In ASE '05: Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, pages 184--193, New York, NY, USA, 2005. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. I. Sommerville. Software Engineering. Addison Wesley, 8 edition, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. Stamey, B. Saunders, and S. Blanchard. The aspect-oriented web. In SIGDOC '05: Proceedings of the 23rd annual international conference on Design of communication, pages 89--95, New York, NY, USA, 2005. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J.W. Stamey and B.T. Saunders. Implementing database solutions on the web with aspect-oriented programming. Journal of Computing Sciences in Colleges, 20(4):249--255, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J.W. Stamey, B.T. Saunders, and M. Cameron. Introducing aoPHP. International PHP Magazine, June 2005.Google ScholarGoogle Scholar
  22. K. Sullivan, W.G. Griswold, Y. Song, Y. Cai, M. Shonle, N. Tewari, and H. Rajan. Information hiding interfaces for aspect-oriented design. In ESEC/FSE-13: Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering, pages 166--175, New York, NY, USA, 2005. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. The PHP Group.PHP.net. Online, 2006. available at http://www.php.net/ - accessed on 08/21/2006.Google ScholarGoogle Scholar

Index Terms

  1. Using aspect-oriented PHP to implement crosscutting concerns in a collaborative web system

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      SIGDOC '06: Proceedings of the 24th annual ACM international conference on Design of communication
      October 2006
      224 pages
      ISBN:1595935231
      DOI:10.1145/1166324

      Copyright © 2006 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 18 October 2006

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate355of582submissions,61%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader