Aspect Oriented
Architecture (AOA)
Why – to alleviate crosscutting in a system
When – 1984 - 1999
Where – Xerox Palo Alto Research Center (PARC)
Who – Gregor Kiczales
AOA the model
Join Points – areas of concern
The Aspect – declared like a class
The Pointcut - paramatizes join points
The Advice – before, after, or around
Alfresco a case study
–
A content management system Using AOP
• The Repository
• Streamlines Communication between Components
• Reduce Coding While Improving Features
• Increased Clarity of Communication Channels
• Introduction of Web Services
AOP and JBoss a case study
Interceptors vs. Advice
Introductions
Meta Data
Pointcuts
The role of XML
AOA Benefits and Disadvantages
Benefits:
• Low Coupling between Components
• Separation of Concerns
• Easier Coding through Less Effort
• Cost Savings
AOA Benefits and Disadvantages
Disadvantages
• Harder to Inspect and Review Code
• More Difficult Unit Testing
• Difficulty in Testing, Generally
• High Learning Curve
EBay – A simple case study
The Crosscutting Concern
• Establishing Reliability Metrics
• Shared Responsibility
The Aspect
• Separates Responsibilities
The Pointcuts
• Methods of Interest (Join Points)
EBay – a cost analysis
Time Saved Using AOP with OOP
Less Effort
Improved Maintenance
Reduced Costs
EBay – quality attributes
Functionality
Reliability
Security
Performance
EBay – quality attributes
The ATAM
(Architecture Tradeoff Analysis Method)
• Inputs
Business Drivers – Quality Attributes –
Scenarios
Software Architecture – Architectural
Approaches – Architectural Decisions
EBay – quality attributes
• Analysis
Stakeholder Questions
• Outputs
Tradeoffs
Sensitivity Points
Non-Risks
Risks
• Risk Themes
• Impacts Inputs
EBay – Risky Components
The Bidding Component
• Accuracy
• Reliability
• Security
EBay – Risky Components
The Data Store Component
• Availability
• Data Integrity
EBay Managing Risks
An Architectural Analysis Technique
• To Determine Risky Behavior
People-Centered Analysis (ATAM)
Model Driven Analysis
Simulation Based Technique
AOA Model Life Cycle Effects
Different Stakeholder Views
• The SDLC and EBay
Requirements View
Design View
Implementation View
Deployment View
Maintenance View
EBay Requirements and Scope
Requirements
Stakeholder Concerns
Create Scope Definition
Modeling the Requirements
Scope
Mapped to Requirements
Used Throughout the SDLC
Modeling the Scope, a Prototype
References:
Alfresco Software (n.d.) “Open Source Enterprise Content
Management”
http://dev.alfresco.com/resource/productdatasheet.pdf
Retrieved February 2010
Burke B. Brock A. (2003). “Aspect Oriented Programming and
JBoss”
http://onjava.com/pub/a/onjava/2003/05/28/aop_jboss.html
Retrieved February 2010.
Taylor R. N. Medvidovic N. Dashofy E. M. (2010). “Software
Architecture – Foundations, Theory, and Practice” Chapter 7.