Presentation is loading. Please wait.

Presentation is loading. Please wait.

Aspect Oriented Architecture (AOA) Why – to alleviate crosscutting in a system Why – to alleviate crosscutting in a system When – 1984 - 1999 When – 1984.

Similar presentations


Presentation on theme: "Aspect Oriented Architecture (AOA) Why – to alleviate crosscutting in a system Why – to alleviate crosscutting in a system When – 1984 - 1999 When – 1984."— Presentation transcript:

1 Aspect Oriented Architecture (AOA) Why – to alleviate crosscutting in a system Why – to alleviate crosscutting in a system When – 1984 - 1999 When – 1984 - 1999 Where – Xerox Palo Alto Research Center (PARC) Where – Xerox Palo Alto Research Center (PARC) Who – Gregor Kiczales Who – Gregor Kiczales

2 AOA the model Join Points – areas of concern Join Points – areas of concern The Aspect – declared like a class The Aspect – declared like a class The Pointcut - paramatizes join points The Pointcut - paramatizes join points The Advice – before, after, or around The Advice – before, after, or around

3 Alfresco a case study – A content management system Using AOP – A content management system Using AOP The RepositoryThe Repository Streamlines Communication between ComponentsStreamlines Communication between Components Reduce Coding While Improving FeaturesReduce Coding While Improving Features Increased Clarity of Communication ChannelsIncreased Clarity of Communication Channels Introduction of Web ServicesIntroduction of Web Services

4 AOP and JBoss a case study Interceptors vs. Advice Interceptors vs. Advice Introductions Introductions Meta Data Meta Data Pointcuts Pointcuts The role of XML The role of XML

5 AOA Benefits and Disadvantages Benefits: Benefits: Low Coupling between ComponentsLow Coupling between Components Separation of ConcernsSeparation of Concerns Easier Coding through Less EffortEasier Coding through Less Effort Cost SavingsCost Savings

6 AOA Benefits and Disadvantages Disadvantages Disadvantages Harder to Inspect and Review CodeHarder to Inspect and Review Code More Difficult Unit TestingMore Difficult Unit Testing Difficulty in Testing, GenerallyDifficulty in Testing, Generally High Learning CurveHigh Learning Curve

7 EBay – A simple case study The Crosscutting Concern The Crosscutting Concern Establishing Reliability Metrics Establishing Reliability Metrics Shared Responsibility Shared Responsibility The Aspect The Aspect Separates ResponsibilitiesSeparates Responsibilities The Pointcuts The Pointcuts Methods of Interest (Join Points) Methods of Interest (Join Points)

8 EBay – a cost analysis Time Saved Using AOP with OOP Time Saved Using AOP with OOP Less Effort Less Effort Improved Maintenance Improved Maintenance Reduced Costs Reduced Costs

9 EBay – quality attributes Functionality Functionality Reliability Reliability Security Security Performance Performance

10 EBay – quality attributes The ATAM (Architecture Tradeoff Analysis Method) The ATAM (Architecture Tradeoff Analysis Method) InputsInputs Business Drivers – Quality Attributes – Scenarios Business Drivers – Quality Attributes – Scenarios Software Architecture – Architectural Approaches – Architectural Decisions Software Architecture – Architectural Approaches – Architectural Decisions

11 EBay – quality attributes AnalysisAnalysis Stakeholder Questions Stakeholder Questions OutputsOutputs Tradeoffs Tradeoffs Sensitivity Points Sensitivity Points Non-Risks Non-Risks Risks Risks Risk ThemesRisk Themes Impacts InputsImpacts Inputs

12 EBay – Risky Components The Bidding Component The Bidding Component AccuracyAccuracy ReliabilityReliability SecuritySecurity

13 EBay – Risky Components The Data Store Component The Data Store Component Availability Availability Data Integrity Data Integrity

14 EBay Managing Risks An Architectural Analysis Technique An Architectural Analysis Technique To Determine Risky Behavior To Determine Risky Behavior People-Centered Analysis (ATAM) People-Centered Analysis (ATAM) Model Driven Analysis Model Driven Analysis Simulation Based Technique Simulation Based Technique

15 AOA Model Life Cycle Effects Different Stakeholder Views Different Stakeholder Views The SDLC and EBay The SDLC and EBay Requirements View Requirements View Design View Design View Implementation View Implementation View Deployment View Deployment View Maintenance View Maintenance View

16 EBay Requirements and Scope Requirements Requirements Stakeholder Concerns Stakeholder Concerns Create Scope Definition Create Scope Definition Modeling the Requirements Modeling the Requirements Scope Scope Mapped to Requirements Mapped to Requirements Used Throughout the SDLC Used Throughout the SDLC Modeling the Scope, a Prototype Modeling the Scope, a Prototype

17 References: Alfresco Software (n.d.) “Open Source Enterprise Content Management” http://dev.alfresco.com/resource/productdatasheet.pdf Alfresco Software (n.d.) “Open Source Enterprise Content Management” http://dev.alfresco.com/resource/productdatasheet.pdf 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 Burke B. Brock A. (2003). “Aspect Oriented Programming and JBoss” http://onjava.com/pub/a/onjava/2003/05/28/aop_jboss.html 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. Taylor R. N. Medvidovic N. Dashofy E. M. (2010). “Software Architecture – Foundations, Theory, and Practice” Chapter 7.


Download ppt "Aspect Oriented Architecture (AOA) Why – to alleviate crosscutting in a system Why – to alleviate crosscutting in a system When – 1984 - 1999 When – 1984."

Similar presentations


Ads by Google