Aspect Oriented Architecture (AOA)

advertisement
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.
Download