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.