Example: Cross Cutting Concerns of an Application

Posted on DotNetBlocks See other posts from DotNetBlocks
Published on Tue, 16 Aug 2011 07:44:00 -0500 Indexed on 2011/11/11 18:22 UTC
Read the original article Hit count: 219

A little while ago I was given an opportunity to design and implement a new system that sent data via an HTTP Post method and then processed the results that were returned so that they could be inserted in to a database. My system had eight core concerns that it needed to fulfill.

Eight Core Concerns

  • Database Access
  • Data Entities
  • Worker
  • Result Processing
  • Process Flow Manager
  • Email/Notification
  • Error Handling
  • Logging

Of these eight, five were actually cross cutting concerns.

5 Cross Cutting Concerns

  • Database Access
  • Data Entities
  • Email/Notification
  • Error Handling
  • Logging

These five cross cutting concerns were determined after I created an aspect oriented model to help identity the system components that could be factored out into separate components.  These separated components would then be included in the system so that they could be used by various other components.  These five components allow all of the other components to access the database, store data, send notifications, handle errors, and log all system events.  Thus, these components are used to share unique aspects to the system via their implementation.

The use of Aspect oriented architecture greatly helped me define what components I needed to create and what each of those components could do.  It also showed how all of the other aspects depended on each other so that each component did not have to re-implement code that was already created in the existing system.

© DotNetBlocks or respective owner

Related posts about Application Architecture