Name of the blog

Short description of the blog

When to use Aspect Oriented Architecture (AOA/AOD)

When is it appropriate to use aspect oriented architecture? I think the only honest answer to this question is that it depends on the context for which the question is being asked. There really are no hard and fast rules regarding the selection of an architectural model(s) for a project because each model provides good and bad benefits. Every system is built with a unique requirements and constraints. This context will dictate when to use one type of architecture over another or in conjunction with others.

To me aspect oriented architecture models should be a sub-phase in the architectural modeling and design process especially when creating enterprise level models. Personally, I like to use this approach to create a base architectural model that is defined by non-functional requirements and system quality attributes.   This general model can then be used as a starting point for additional models because it is targets all of the business key quality attributes required by the system.

Aspect oriented architecture is a method for modeling non-functional requirements and quality attributes of a system known as aspects. These models do not deal directly with specific functionality. They do categorize functionality of the system. This approach allows a system to be created with a strong emphasis on separating system concerns into individual components.

These cross cutting components enables a systems to create with compartmentalization in regards to non-functional requirements or quality attributes.  This allows for the reduction in code because an each component maintains an aspect of a system that can be called by other aspects. This approach also allows for a much cleaner and smaller code base during the implementation and support of a system. Additionally, enabling developers to develop systems based on aspect-oriented design projects will be completed faster and will be more reliable because existing components can be shared across a system; thus, the time needed to create and test the functionality is reduced.  

Example of an effective use of Aspect Oriented Architecture

In my experiences, aspect oriented architecture can be very effective with large or more complex systems. Typically, these types of systems have a large number of concerns so the act of defining them is very beneficial for reducing the system’s complexity because components can be developed to address each concern while exposing functionality to the other system components. The benefits to using the aspect oriented approach as the starting point for a system is that it promotes communication between IT and the business due to the fact that the aspect oriented models are quality attributes focused so not much technical understanding is needed to understand the model.

An example of this can be in developing a new intranet website.

Common Intranet Concerns:

  • Error Handling
  • Security
  • Logging
  • Notifications
  • Database connectivity

Example of a not as effective use of Aspect Oriented Architecture

Again in my experiences, aspect oriented architecture is not as effective with small or less complex systems in comparison.  There is no need to model concerns for a system that has a limited amount of them because the added overhead would not be justified for the actual benefits of creating the aspect oriented architecture model.  Furthermore, these types of projects typically have a reduced time schedule and a limited budget.  The creation of the Aspect oriented models would increase the overhead of a project and thus increase the time needed to implement the system.

An example of this is seen by creating a small application to poll a network share for new files and then FTP them to a new location.  The two primary concerns for this project is to monitor a network drive and FTP files to a new location.  There is no need to create an aspect model for this system because there will never be a need to share functionality amongst either of these concerns.  To add to my point, this system is so small that it could be created with just a few classes so the added layer of componentizing the concerns would be complete overkill for this situation.

References:
Brichau, Johan; D'Hondt, Theo. (2006) Aspect-Oriented Software Development (AOSD) - An Introduction. Retreived from: http://www.info.ucl.ac.be/~jbrichau/courses/introductionToAOSD.pdf

Comments (1) -

  • cheap hosting reviews

    8/17/2011 11:57:23 PM |

    I agree with this answer ,depends on the situation we can use aspect oriented architecture.nice to sharing.

  • Curtis

    8/21/2011 6:00:58 AM |

    Thanks  for the excellent post. I just bookmarked your site and look forward to returning from occasionally to read more of your posts.

    Cheers

  • Gene Gurin

    8/24/2011 2:46:58 AM |

    After study a few of the blog posts on your website now, and I truly like your way of blogging. I bookmarked it to my bookmark website list and will be checking back soon. Pls check out my web site as well and let me know what you think.

  • Bashir

    8/24/2011 11:06:06 PM |

    Hi..

    I am happy your own write-up was on the market for reading. It’s very thought-provoking, informative, bold, original as well as creative.

    This data has given me a new perspective on this particular topic. Thank you..

    Nice blog tooo  ;)

  • moorgan

    8/24/2011 11:06:13 PM |

    Hi..

    I am happy your post was available for reading. It’s very thought-provoking, informative, bold, primary as well as creative.

    This particular data has given me a brand new perspective along this topic. Thank you..

    Nice blog tooo  ;)

  • jenna

    8/25/2011 1:07:48 PM |

    Hi..

    I am happy your own post was out there for reading. It’s highly thought-provoking, informative, bold, original and creative.

    This particular data has given me the new perspective on this particular topic. Thank you..

    Nice blog tooo  ;)

  • jenna

    8/25/2011 1:08:25 PM |

    Hi..

    I am happy the article was out there for reading. It’s very thought-provoking, informative, bold, original as well as creative.

    This particular information has given me the brand new perspective along this topic. Thank you..

    Nice blog tooo  ;)

  • Ciss

    8/26/2011 12:22:52 PM |

    Outstanding religion. You know to sustain you blog and escort it in the rightist instruction. Variety trusty that it\'s levelheaded and that it\'s sapiential enough to exploit others.

  • bulk email

    9/13/2011 3:35:31 AM |

    You might also try this for bulk email marketing.

  • Website Marketplace

    9/17/2011 1:14:54 AM |

    Could possibly you pleasee include much more details on this area??? BTW your web site is extremely good. Thanks so much for the information, I Sincerely appreciate it.

  • Oneil

    9/20/2011 12:15:36 AM |

    Very Nice Web Site.  I would like to get a hold of you and converse to you about what you\\\'re doing to be so successful with your on-line marketing.  Get in touch with me soon.Website!  How are you doing this?  I\\\'m discovering that advertising on the web can be very difficult, can you get in touch with me so we can discuss what you are doing to be so successfulIncredible job in your web site!  Please contact me, I\\\'d very very like to see what you\\\'re doing to be so profitable on the Internet.

  • gracee

    9/21/2011 1:16:54 AM |

    This is the perfect blog for anyone who wants to know about this topic. You know so much its almost hard to argue with you (not that I really would want...HaHa). You definitely put a new spin on a subject thats been written about for years. Great stuff, just awesome

  • buy vigrx plus

    9/21/2011 6:12:52 PM |

    great post.. i really enjoyed it

  • Valentine

    9/24/2011 10:07:00 PM |

    Thanks for the write up! Also, I noticed that your RSS feeds are not working. Could you take a look at that?

  • BpSender.com

    9/26/2011 9:07:01 PM |

    Hello  , Every gave any thought to advertising your business or your clients business on CraigsList or BackPage ?, we can help for little or nothing and make it happen for you:

    TRAFFIC MAGNET - Craigslist & Backpage Posting - Tons Of Ads Posted - Your Choice - More Sales Now ! $0.01 AD POSTING PENNY PROMOTION 30 Days Of Posting Up To 1000 Ads a Day, FoolProof Advertising ! ADVERTISING IS TO YOUR BUSINESS - What Gasoline Is To Your Car - WithOut It Nothing Ever Happens !

    Visit us today:
    http://www.BpSender.com

  • Bashir

    9/29/2011 11:07:14 AM |

    Hi..

    I am happy your own article was out there for reading. It’s extremely thought-provoking, informative, bold, primary as well as creative.

    This info has given me a brand new perspective along this particular topic. Thank you..

    Nice blog tooo  ;)

  • Milan Cutwright

    10/5/2011 9:29:55 AM |

    Thanks for the auspicious writeup. It indeed was quondam a fun detail it. Peep knotty to remote delivered compatible from you! Nevertheless, how can we fulfill up a agreement?

Pingbacks and trackbacks (1)+

Loading