Nothing Special   »   [go: up one dir, main page]

Skip to main content

Abstract

Aspect programming with the use of AspectJ illustrates how the AOP techniques can be used to avoid the occurrence of application problems related to the information systems creation when using the Object-Oriented programming paradigm. Implementation of cross-cutting concerns using OOP forces programmers to repeat many times the same code instructions in the system. The approach provided by Aspect-Oriented programming allows maintaining the modular design of the application by extracting the cross-cutting concerns from it, its modularization in terms of aspects, and its reintegration into the applications main part in the weaving process or with the use of a proxy mechanism.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 189.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 249.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 249.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Gregus, M., Kryvinska, N.: SOA and its Business Value in Requirements, Features, Practices and Methodologies. Comenius University in Bratislava, Bratislava (2014)

    Google Scholar 

  2. Kryvinska, N.: Building consistent formal specification for the service enterprise agility foundation. J. Serv. Sci. Res. 4, 235–269 (2012). https://doi.org/10.1007/s12927-012-0010-5

    Article  Google Scholar 

  3. Kaczor, S., Kryvinska, N.: (PDF) It is all about Services—Fundamentals, Drivers, and Business Models. In: ResearchGate (2020). https://www.researchgate.net/publication/280830838_It_is_all_about_Services_-_Fundamentals_Drivers_and_Business_Models. Accessed 30 Apr 2020

  4. Gregus, M., Kryvinska, N.: Service Orientation of Enterprises—Aspects, Dimensions, Technologies. Comenius University in Bratislava (2015)

    Google Scholar 

  5. Dessi, M.: Spring 2.5 Aspect Oriented Programming. Packt Publishing Ltd. (2009)

    Google Scholar 

  6. Aspect-Oriented Programming—Wikipedia. In: Wikipedia. https://en.wikipedia.org/wiki/Aspect-oriented_programming. Accessed 9 Feb 2020

  7. Clarke, S., Walker, R.J.: Generic Aspect-Oriented Design with Theme/UML. In: Filman RE, Elrad T, Clarke S, Aksit M (eds.) Aspect-Oriented Software Development. Addison-Wesley, Boston (2005)

    Google Scholar 

  8. Dijkstra, E.W.: The structure of the “THE” multiprogramming system. In: The Origin of Concurrent Programming, pp. 139–152. Springer, Berlin (1968)

    Google Scholar 

  9. Safonov, V.O.: Using Aspect-Oriented Programming for Trustworthy Software Development, vol. 15

    Google Scholar 

  10. Veselý, P., Karovič, V.: Tools for modeling exemplary network infrastructures. Procedia Comput. Sci. 98, 174–181 (2016). https://doi.org/10.1016/j.procs.2016.09.028

    Article  Google Scholar 

  11. Parnas, D.L.: A technique for software module specification with examples. Commun. ACM (1972)

    Google Scholar 

  12. Myers, G.J.: Softwear Reliability. Wiley, New York (1976)

    Google Scholar 

  13. Kryvinska, N., Auer, L., Strauss, C.: Managing an increased service heterogeneity in a converged enterprise infrastructure with SOA. IJWGS 4, 440 (2008). https://doi.org/10.1504/IJWGS.2008.022546

    Article  Google Scholar 

  14. Pawlak, R., Seinturier, L., Retaille, J.-P.: Foundations of AOP for J2EE Development. Apress (2005)

    Google Scholar 

  15. Lopes, C.V.: CiteSeerX—Aspect-Oriented Programming: An Historical Perspective (What’s in a Name?). http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.58.7760. Accessed 1 Jan 2020

  16. Stochmiałek, M.: Programowanie aspektowe: studium empiryczne. Praca magisterska, Politechnika Wrocławska, Wybrzeże Stanisława Wyspiańskiego (2005)

    Google Scholar 

  17. Laddad, R.: AspectJ in Action: Enterprise AOP with Spring Applications, 2nd edn. Manning, Greenwich Conn (2010)

    Google Scholar 

  18. Red Hat JBoss Enterprise Application Platform (JBoss EAP). https://www.redhat.com/en/technologies/jboss-middleware/application-platform. Accessed 10 Feb 2020

  19. AspectC: AOP for C. https://www.cs.ubc.ca/labs/spl/projects/aspectc.html. Accessed 25 Feb 2020

  20. The Home of AspectC++. https://www.aspectc.org/. Accessed 25 Feb 2020

  21. PostSharp. C# design patterns without boilerplate. https://www.postsharp.net/. Accessed 17 Jan 2020

  22. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP’97—Object-Oriented Programming, pp. 220–242. Springer, Berlin (1997)

    Chapter  Google Scholar 

  23. CodePlex Archive. In: CodePlex Archive. https://archive.codeplex.com/. Accessed 25 Feb 2020

  24. Colyer, A., Clement, A., Harley, G., Webster, M.: Eclipse Aspectj: Aspect-Oriented Programming with Aspectj and the Eclipse Aspectj Development Tools. Addison-Wesley Professional, First (2004)

    Google Scholar 

  25. Boner, J.: AspectWerkz 2.0: An Extensible Aspect Container. In: TheServerSide.com. https://www.theserverside.com/news/1365141/AspectWerkz-20-An-Extensible-Aspect-Container. Accessed 13 Feb 2020

  26. Tyson, M.: What is the JVM? Introducing the Java Virtual Machine. In: JavaWorld (2020). https://www.javaworld.com/article/3272244/what-is-the-jvm-introducing-the-java-virtual-machine.html. Accessed 26 Feb 2020

  27. Hannemann, J., Kiczales, G.: Design Pattern Implementation in Java and aspectJ. Association for Computing Machinery, Seattle, Washington (2002)

    Google Scholar 

  28. (PDF) Model-driven theme/UML. In: ResearchGate. https://www.researchgate.net/publication/220116626_Model-driven_themeUML. Accessed 26 Feb 2020

  29. Groeher, I., Schulze, S.: Generating Aspect Code from UML Models. Semantic Scholar. https://www.semanticscholar.org/paper/Generating-Aspect-Code-from-UML-Models-Groher-Schulze/0719cd52b58af13fa239c1cb89bcfc90a26be3bf. Accessed 10 Feb 2020

  30. Tourwé, T., Brichau, J., Gybels, K.: On the existence of the AOSD-evolution paradox. SPLAT: Software engineering Properties of Languages for Aspect Technologies (2003)

    Google Scholar 

  31. Wampler, D.: Aspect-Oriented Design Principles: Lessons from Object-Oriented Design (2007)

    Google Scholar 

  32. Andrew, B.P., Noble, J., Pearce, D.J., Scmidmeir, A.: Patterns of Aspect-Oriented Design (2008)

    Google Scholar 

  33. WebSphere Application Platform. IBM. https://www.ibm.com/cloud/websphere-application-platform/. Accessed 10 Feb 2020

  34. Innovative Digital Customer Experience Solutions. Glassbox. https://glassboxdigital.com/. Accessed 10 Feb 2020

  35. AOP@Work: Component design with Contract4J. https://www.ibm.com/developerworks/library/j-aopwork17/index.html. Accessed 10 Feb 2020

  36. Log4j—Apache Log4j 2. https://logging.apache.org/log4j/2.x/. Accessed 26 Feb 2020

  37. java.util.logging (Java Platform SE 7). https://docs.oracle.com/javase/7/docs/api/java/util/logging/package-summary.html. Accessed 26 Feb 2020

  38. Jakarta Commons Logging, https://www.ibm.com/support/knowledgecenter/SSEQTP_9.0.5/com.ibm.websphere.base.doc/ae/ctrb_classload_jcl.html. Accessed 26 Feb 2020

  39. Eckel, B.: Thinking in Java. Prentice Hall Professional (2003)

    Google Scholar 

  40. EJB—Persistence—Tutorialspoint. https://www.tutorialspoint.com/ejb/ejb_persistence.htm. Accessed 26 Feb 2020

  41. Wikipedia: Plain old Java object (2020)

    Google Scholar 

  42. JAAS Reference Guide. https://docs.oracle.com/javase/8/docs/technotes/guides/security/jaas/JAASRefGuide.html. Accessed 26 Feb 2020

  43. spring.io. https://spring.io/. Accessed 11 Feb 2020

  44. PMD. https://pmd.github.io/. Accessed 10 Feb 2020

  45. checkstyle—Checkstyle 8.29. https://checkstyle.sourceforge.io/. Accessed 10 Feb 2020

  46. FindBugsTM—Find Bugs in Java Programs. http://findbugs.sourceforge.net/. Accessed 10 Feb 2020

  47. Java Platform, Enterprise Edition (Java EE). Oracle Technology Network. Oracle. https://www.oracle.com/java/technologies/java-ee-glance.html. Accessed 11 Feb 2020

  48. Hibernate. Everything data. Hibernate. http://hibernate.org/. Accessed 11 Feb 2020

  49. Johnson, R., Hoeller, J., Arendsen, A., Risberg, T., Sampaleanu, C.: Spring Framework. Profesjonalne tworzenie oprogramowania w Javie. Wydawnictwo Helion, Gliwice (2006)

    Google Scholar 

  50. Apache Tomcat®—Welcome! http://tomcat.apache.org/. Accessed 11 Feb 2020

  51. MySQL. https://www.mysql.com/. Accessed 11 Feb 2020

  52. Molnár, E., Molnár, R., Kryvinska, N., Greguš, M.: Web intelligence in practice. J. Serv. Sci. Res. 6, 149–172 (2014)

    Article  Google Scholar 

  53. Gall, H.: https://www.ifi.uzh.ch/dam/jcr:764702da-842f-49fa-b475-5e1e148c03f2/9_AOP.pdf. Accessed 31 Jan 2020

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Aneta Poniszewska-Maranda .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Lewarski, T., Poniszewska-Maranda, A., Veselý, P., Mikolášik, M. (2021). Aspect Programming with the Use of AspectJ. In: Kryvinska, N., Greguš, M. (eds) Developments in Information & Knowledge Management for Business Applications. Studies in Systems, Decision and Control, vol 330. Springer, Cham. https://doi.org/10.1007/978-3-030-62151-3_13

Download citation

Publish with us

Policies and ethics