181 likes | 365 Views
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
E N D
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
Alfrescoa 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 JBossa 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.