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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Gregus, M., Kryvinska, N.: SOA and its Business Value in Requirements, Features, Practices and Methodologies. Comenius University in Bratislava, Bratislava (2014)
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
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
Gregus, M., Kryvinska, N.: Service Orientation of Enterprises—Aspects, Dimensions, Technologies. Comenius University in Bratislava (2015)
Dessi, M.: Spring 2.5 Aspect Oriented Programming. Packt Publishing Ltd. (2009)
Aspect-Oriented Programming—Wikipedia. In: Wikipedia. https://en.wikipedia.org/wiki/Aspect-oriented_programming. Accessed 9 Feb 2020
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)
Dijkstra, E.W.: The structure of the “THE” multiprogramming system. In: The Origin of Concurrent Programming, pp. 139–152. Springer, Berlin (1968)
Safonov, V.O.: Using Aspect-Oriented Programming for Trustworthy Software Development, vol. 15
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
Parnas, D.L.: A technique for software module specification with examples. Commun. ACM (1972)
Myers, G.J.: Softwear Reliability. Wiley, New York (1976)
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
Pawlak, R., Seinturier, L., Retaille, J.-P.: Foundations of AOP for J2EE Development. Apress (2005)
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
Stochmiałek, M.: Programowanie aspektowe: studium empiryczne. Praca magisterska, Politechnika Wrocławska, Wybrzeże Stanisława Wyspiańskiego (2005)
Laddad, R.: AspectJ in Action: Enterprise AOP with Spring Applications, 2nd edn. Manning, Greenwich Conn (2010)
Red Hat JBoss Enterprise Application Platform (JBoss EAP). https://www.redhat.com/en/technologies/jboss-middleware/application-platform. Accessed 10 Feb 2020
AspectC: AOP for C. https://www.cs.ubc.ca/labs/spl/projects/aspectc.html. Accessed 25 Feb 2020
The Home of AspectC++. https://www.aspectc.org/. Accessed 25 Feb 2020
PostSharp. C# design patterns without boilerplate. https://www.postsharp.net/. Accessed 17 Jan 2020
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)
CodePlex Archive. In: CodePlex Archive. https://archive.codeplex.com/. Accessed 25 Feb 2020
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)
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
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
Hannemann, J., Kiczales, G.: Design Pattern Implementation in Java and aspectJ. Association for Computing Machinery, Seattle, Washington (2002)
(PDF) Model-driven theme/UML. In: ResearchGate. https://www.researchgate.net/publication/220116626_Model-driven_themeUML. Accessed 26 Feb 2020
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
Tourwé, T., Brichau, J., Gybels, K.: On the existence of the AOSD-evolution paradox. SPLAT: Software engineering Properties of Languages for Aspect Technologies (2003)
Wampler, D.: Aspect-Oriented Design Principles: Lessons from Object-Oriented Design (2007)
Andrew, B.P., Noble, J., Pearce, D.J., Scmidmeir, A.: Patterns of Aspect-Oriented Design (2008)
WebSphere Application Platform. IBM. https://www.ibm.com/cloud/websphere-application-platform/. Accessed 10 Feb 2020
Innovative Digital Customer Experience Solutions. Glassbox. https://glassboxdigital.com/. Accessed 10 Feb 2020
AOP@Work: Component design with Contract4J. https://www.ibm.com/developerworks/library/j-aopwork17/index.html. Accessed 10 Feb 2020
Log4j—Apache Log4j 2. https://logging.apache.org/log4j/2.x/. Accessed 26 Feb 2020
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
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
Eckel, B.: Thinking in Java. Prentice Hall Professional (2003)
EJB—Persistence—Tutorialspoint. https://www.tutorialspoint.com/ejb/ejb_persistence.htm. Accessed 26 Feb 2020
Wikipedia: Plain old Java object (2020)
JAAS Reference Guide. https://docs.oracle.com/javase/8/docs/technotes/guides/security/jaas/JAASRefGuide.html. Accessed 26 Feb 2020
spring.io. https://spring.io/. Accessed 11 Feb 2020
PMD. https://pmd.github.io/. Accessed 10 Feb 2020
checkstyle—Checkstyle 8.29. https://checkstyle.sourceforge.io/. Accessed 10 Feb 2020
FindBugsTM—Find Bugs in Java Programs. http://findbugs.sourceforge.net/. Accessed 10 Feb 2020
Java Platform, Enterprise Edition (Java EE). Oracle Technology Network. Oracle. https://www.oracle.com/java/technologies/java-ee-glance.html. Accessed 11 Feb 2020
Hibernate. Everything data. Hibernate. http://hibernate.org/. Accessed 11 Feb 2020
Johnson, R., Hoeller, J., Arendsen, A., Risberg, T., Sampaleanu, C.: Spring Framework. Profesjonalne tworzenie oprogramowania w Javie. Wydawnictwo Helion, Gliwice (2006)
Apache Tomcat®—Welcome! http://tomcat.apache.org/. Accessed 11 Feb 2020
MySQL. https://www.mysql.com/. Accessed 11 Feb 2020
Molnár, E., Molnár, R., Kryvinska, N., Greguš, M.: Web intelligence in practice. J. Serv. Sci. Res. 6, 149–172 (2014)
Gall, H.: https://www.ifi.uzh.ch/dam/jcr:764702da-842f-49fa-b475-5e1e148c03f2/9_AOP.pdf. Accessed 31 Jan 2020
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
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
DOI: https://doi.org/10.1007/978-3-030-62151-3_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-62150-6
Online ISBN: 978-3-030-62151-3
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)