SlideShare a Scribd company logo
Otavio	
  Ferreira	
  (@otaviofff)	
  
Technical	
  Architect,	
  Scrum	
  Master	
  

Oct	
  2007	
  
•  AOSD	
  tag	
  cloud	
  
modularity	
  

aspect	
  
dominant	
  
decomposi@on	
  

AOSD	
  
concern	
  

core	
  concern	
  

October	
  2007	
  

AOP	
  

separa@on	
  of	
  
concerns	
  
advice	
  
join	
  point	
  

cross-­‐cuCng	
  
concerns	
  
MIH	
  SWAT	
  Team	
  	
  

point	
  cut	
  

2	
  
•  Concern	
  
–  An	
  area	
  of	
  interest	
  or	
  focus	
  in	
  a	
  system.	
  
–  The	
  primary	
  criteria	
  for	
  decomposing	
  SW	
  into	
  
smaller,	
  more	
  manageable	
  and	
  comprehensible	
  
parts.	
  
Text	
  
Picture	
  
Video	
  
Quote	
  
Link	
  
Chat	
  

Tumblelog	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

Caching	
  
Logging	
  
Excep@on	
  Handling	
  

3	
  
•  Separa@on	
  of	
  concerns	
  
–  Based	
  on	
  the	
  Divide-­‐and-­‐Conquer	
  strategy.	
  
–  Focused	
  on	
  breaking	
  down	
  	
  
the	
  SW	
  into	
  dis@nct	
  parts	
  	
  
that	
  overlap	
  in	
  func@onality	
  	
  
as	
  liUle	
  as	
  possible.	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

4	
  
•  Core	
  concern	
  
–  Core	
  business	
  related	
  concern.	
  
–  Domain	
  specific	
  concern.	
  
–  Func@onal	
  requirement.	
  
–  Can	
  be	
  cleanly	
  encapsulated	
  in	
  a	
  generalized	
  
procedure	
  (i.e.	
  object,	
  method,	
  procedure,	
  API).	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

5	
  
•  Cross-­‐cuCng	
  concern	
  
–  Common	
  func@onality	
  orthogonal	
  to	
  core	
  
concern.	
  
–  Non-­‐func@onal	
  requirement.	
  
–  Can	
  NOT	
  be	
  cleanly	
  encapsulated	
  in	
  a	
  generalized	
  
procedure	
  (i.e.	
  object,	
  method,	
  procedure,	
  API).	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

6	
  
•  Dominant	
  decomposi@on	
  
–  The	
  SW	
  can	
  be	
  modularized	
  in	
  only	
  one	
  way	
  at	
  a	
  
@me.	
  
–  Concerns	
  that	
  do	
  not	
  align	
  with	
  that	
  
modulariza@on	
  end	
  up	
  scaUered	
  across	
  many	
  
modules	
  and	
  tangled	
  with	
  one	
  another.	
  	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

7	
  
•  ScaUering	
  and	
  tangling	
  
–  Cross-­‐cuCng	
  concerns	
  o^en	
  cannot	
  be	
  cleanly	
  
decomposed	
  from	
  the	
  rest	
  of	
  the	
  system	
  in	
  both	
  
the	
  design	
  and	
  implementa@on.	
  
Excep@on	
  Handling	
  
Logging	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

8	
  
•  Aspect	
  (Finally!)	
  
–  A	
  part	
  of	
  a	
  program	
  that	
  cross-­‐cuts	
  its	
  core	
  
concerns,	
  therefore	
  “viola@ng”	
  its	
  separa@on	
  of	
  
concerns.	
  
Logging	
  

	
  

Excep@on	
  Handling	
  
October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

9	
  
•  Modularity	
  
–  AOP	
  	
  is	
  an	
  advance	
  in	
  modulariza@on.	
  
–  Loosely	
  coupled	
  concerns	
  /	
  components.	
  	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

10	
  
•  Aspect-­‐oriented	
  programming	
  
–  A	
  technique	
  used	
  to	
  support	
  the	
  programmer	
  in	
  
cleanly	
  separa@ng	
  components	
  and	
  aspects	
  from	
  
each	
  other.	
  
–  Centers	
  its	
  aUen@on	
  on	
  the	
  code	
  modulariza@on,	
  
providing	
  mechanisms	
  to	
  separate	
  cross-­‐cuCng	
  
concerns	
  at	
  code	
  level.	
  
–  Related	
  to	
  the	
  language.	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

11	
  
•  Aspect-­‐oriented	
  so^ware	
  development	
  
–  	
  A	
  combina@on	
  of	
  mechanisms	
  and	
  
methodologies	
  that	
  facilitate	
  in	
  separa@ng	
  
concerns	
  at	
  different	
  abstrac@on	
  levels.	
  
–  Uses	
  a	
  combina@on	
  of	
  language,	
  environment,	
  
and	
  method.	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

12	
  
•  Aspect-­‐oriented	
  applica@on	
  
–  Consists	
  of:	
  
•  Component	
  language	
  (C#,	
  Java,	
  etc.)	
  
•  Aspect-­‐oriented	
  language	
  /	
  framework	
  
•  Aspect	
  weaver	
  

October	
  2007	
  

MIH	
  SWAT	
  Team	
  	
  

13	
  

More Related Content

What's hot

Architectural views
Architectural viewsArchitectural views
Architectural viewsSaleem Khan
 
Design concepts
Design conceptsDesign concepts
Design concepts
JoshuaU1
 
The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)
James Towers
 
Reusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADReusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOAD
Shivani Kapoor
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
Rupesh Vaishnav
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design
Arslan Anwar
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design Patterns
Amr E. Mohamed
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 
Chapter 08
Chapter 08Chapter 08
Chapter 08guru3188
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
Ivano Malavolta
 
[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git
Ivano Malavolta
 
Model-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedModel-Based Systems Engineering Demystified
Model-Based Systems Engineering Demystified
Elizabeth Steiner
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
Henry Muccini
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architectureMajong DevJfu
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
JayaKamal
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
Darshit Metaliya
 
Innoslate Overview
Innoslate OverviewInnoslate Overview
Innoslate Overview
Elizabeth Steiner
 
Reusability
ReusabilityReusability
Architecture vs Design
Architecture vs DesignArchitecture vs Design
Architecture vs Design
Luc Trudeau
 

What's hot (20)

Architectural views
Architectural viewsArchitectural views
Architectural views
 
Design concepts
Design conceptsDesign concepts
Design concepts
 
The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)The 5 principles of Model Based Systems Engineering (MBSE)
The 5 principles of Model Based Systems Engineering (MBSE)
 
Reusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOADReusibility vs Extensibility in OOAD
Reusibility vs Extensibility in OOAD
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design Patterns
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git
 
Model-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedModel-Based Systems Engineering Demystified
Model-Based Systems Engineering Demystified
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Innoslate Overview
Innoslate OverviewInnoslate Overview
Innoslate Overview
 
Reusability
ReusabilityReusability
Reusability
 
5 software design
5 software design5 software design
5 software design
 
Architecture vs Design
Architecture vs DesignArchitecture vs Design
Architecture vs Design
 

Viewers also liked

Aspect oriented software development
Aspect oriented software developmentAspect oriented software development
Aspect oriented software developmentMaryam Malekzad
 
Introduction to Aspect Oriented Programming
Introduction to Aspect Oriented ProgrammingIntroduction to Aspect Oriented Programming
Introduction to Aspect Oriented Programming
Yan Cui
 
Evolutionary Problems In Aspect Oriented Software Development
Evolutionary Problems In Aspect Oriented Software DevelopmentEvolutionary Problems In Aspect Oriented Software Development
Evolutionary Problems In Aspect Oriented Software Development
kim.mens
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
Anumod Kumar
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9Ian Sommerville
 
Aspect oriented architecture
Aspect oriented architecture Aspect oriented architecture
Aspect oriented architecture tigneb
 
AspectJ Android with Example
AspectJ Android with ExampleAspectJ Android with Example
AspectJ Android with Example
firstthumb
 
Aspect Oriented Programming and Design
Aspect Oriented Programming and DesignAspect Oriented Programming and Design
Aspect Oriented Programming and DesignManikanda kumar
 
QSOUL/Aop
QSOUL/AopQSOUL/Aop
QSOUL/Aop
ESUG
 
AOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گراAOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گرا
Omid Rajabi
 
Scrum doc
Scrum docScrum doc
UML for Aspect Oriented Design
UML for Aspect Oriented DesignUML for Aspect Oriented Design
UML for Aspect Oriented Design
Edison Lascano
 
Aspect-Oriented Technologies
Aspect-Oriented TechnologiesAspect-Oriented Technologies
Aspect-Oriented Technologies
Esteban Abait
 
Distributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingDistributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server Computing
Haseeb Rehman
 
Spring AOP
Spring AOPSpring AOP
Spring AOP
Jeroen Rosenberg
 
Aspect Mining Techniques
Aspect Mining TechniquesAspect Mining Techniques
Aspect Mining Techniques
Esteban Abait
 
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
amirbabol
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
Charotar University Of Science And Technology,Gujrat
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
Stewart Rogers
 

Viewers also liked (19)

Aspect oriented software development
Aspect oriented software developmentAspect oriented software development
Aspect oriented software development
 
Introduction to Aspect Oriented Programming
Introduction to Aspect Oriented ProgrammingIntroduction to Aspect Oriented Programming
Introduction to Aspect Oriented Programming
 
Evolutionary Problems In Aspect Oriented Software Development
Evolutionary Problems In Aspect Oriented Software DevelopmentEvolutionary Problems In Aspect Oriented Software Development
Evolutionary Problems In Aspect Oriented Software Development
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9
 
Aspect oriented architecture
Aspect oriented architecture Aspect oriented architecture
Aspect oriented architecture
 
AspectJ Android with Example
AspectJ Android with ExampleAspectJ Android with Example
AspectJ Android with Example
 
Aspect Oriented Programming and Design
Aspect Oriented Programming and DesignAspect Oriented Programming and Design
Aspect Oriented Programming and Design
 
QSOUL/Aop
QSOUL/AopQSOUL/Aop
QSOUL/Aop
 
AOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گراAOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گرا
 
Scrum doc
Scrum docScrum doc
Scrum doc
 
UML for Aspect Oriented Design
UML for Aspect Oriented DesignUML for Aspect Oriented Design
UML for Aspect Oriented Design
 
Aspect-Oriented Technologies
Aspect-Oriented TechnologiesAspect-Oriented Technologies
Aspect-Oriented Technologies
 
Distributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingDistributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server Computing
 
Spring AOP
Spring AOPSpring AOP
Spring AOP
 
Aspect Mining Techniques
Aspect Mining TechniquesAspect Mining Techniques
Aspect Mining Techniques
 
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
Software reliability model(روش های اندازه گیری قابلیت اطمینان نرم افزار)
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 

Similar to Aspect Oriented Software Development

Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
Pramod Parajuli
 
Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation Fundamentals
Pramod Parajuli
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Ahmed Misbah
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
Shreya Chatterjee
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
Ólafur Andri Ragnarsson
 
Tech challenges in a large scale agile project
Tech challenges in a large scale agile projectTech challenges in a large scale agile project
Tech challenges in a large scale agile projectHarald Soevik
 
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
madhavi patil
 
Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...
Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...
Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...
telecomhall
 
3.1 The design concepts.ppt
3.1 The design concepts.ppt3.1 The design concepts.ppt
3.1 The design concepts.ppt
THARUNS44
 
Architecting systems for continuous delivery
Architecting systems for continuous deliveryArchitecting systems for continuous delivery
Architecting systems for continuous delivery
Marcel de Vries
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
nimmik4u
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
Nandhini S
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Sudarshan Dhondaley
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
Dr. C.V. Suresh Babu
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplifiedPrasad Chitta
 
Software design
Software designSoftware design
Software design
Benazir Fathima
 
Clean sw 3_architecture
Clean sw 3_architectureClean sw 3_architecture
Clean sw 3_architecture
AngelLuisBlasco
 
API-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project WinterfellAPI-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project WinterfellKeith McFarlane
 
2013 Perforce Collaboration Tour - MathWorks
2013 Perforce Collaboration Tour - MathWorks2013 Perforce Collaboration Tour - MathWorks
2013 Perforce Collaboration Tour - MathWorks
Perforce
 
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptxSAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
JakeariesMacarayo
 

Similar to Aspect Oriented Software Development (20)

Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation Fundamentals
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 
Tech challenges in a large scale agile project
Tech challenges in a large scale agile projectTech challenges in a large scale agile project
Tech challenges in a large scale agile project
 
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
 
Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...
Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...
Using Custom Macros for getting Best Results (Performance, QoS...) in Telecom...
 
3.1 The design concepts.ppt
3.1 The design concepts.ppt3.1 The design concepts.ppt
3.1 The design concepts.ppt
 
Architecting systems for continuous delivery
Architecting systems for continuous deliveryArchitecting systems for continuous delivery
Architecting systems for continuous delivery
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
 
Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5Designing and documenting software architecture unit 5
Designing and documenting software architecture unit 5
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplified
 
Software design
Software designSoftware design
Software design
 
Clean sw 3_architecture
Clean sw 3_architectureClean sw 3_architecture
Clean sw 3_architecture
 
API-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project WinterfellAPI-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project Winterfell
 
2013 Perforce Collaboration Tour - MathWorks
2013 Perforce Collaboration Tour - MathWorks2013 Perforce Collaboration Tour - MathWorks
2013 Perforce Collaboration Tour - MathWorks
 
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptxSAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
SAD REPORTING GROUP 2BCFGGGGHHHJJJJ.pptx
 

More from Otavio Ferreira

Development Team Engagement + Development Process
Development Team Engagement + Development ProcessDevelopment Team Engagement + Development Process
Development Team Engagement + Development Process
Otavio Ferreira
 
Agile Development Process & Scrum
Agile Development Process & ScrumAgile Development Process & Scrum
Agile Development Process & ScrumOtavio Ferreira
 
API Design Workshop
API Design WorkshopAPI Design Workshop
API Design Workshop
Otavio Ferreira
 
Agile Process Scalability
Agile Process ScalabilityAgile Process Scalability
Agile Process ScalabilityOtavio Ferreira
 
Agile Development Metrics
Agile Development MetricsAgile Development Metrics
Agile Development Metrics
Otavio Ferreira
 
Agile Management Tools
Agile Management ToolsAgile Management Tools
Agile Management Tools
Otavio Ferreira
 
Semantic Web Services: A RESTful Approach
Semantic Web Services: A RESTful ApproachSemantic Web Services: A RESTful Approach
Semantic Web Services: A RESTful Approach
Otavio Ferreira
 
Serviços Semânticos: Uma Abordagem RESTful
Serviços Semânticos: Uma Abordagem RESTfulServiços Semânticos: Uma Abordagem RESTful
Serviços Semânticos: Uma Abordagem RESTful
Otavio Ferreira
 

More from Otavio Ferreira (9)

Development Team Engagement + Development Process
Development Team Engagement + Development ProcessDevelopment Team Engagement + Development Process
Development Team Engagement + Development Process
 
Agile Development Process & Scrum
Agile Development Process & ScrumAgile Development Process & Scrum
Agile Development Process & Scrum
 
API Design Workshop
API Design WorkshopAPI Design Workshop
API Design Workshop
 
Agile Process Scalability
Agile Process ScalabilityAgile Process Scalability
Agile Process Scalability
 
Agile Modeling
Agile ModelingAgile Modeling
Agile Modeling
 
Agile Development Metrics
Agile Development MetricsAgile Development Metrics
Agile Development Metrics
 
Agile Management Tools
Agile Management ToolsAgile Management Tools
Agile Management Tools
 
Semantic Web Services: A RESTful Approach
Semantic Web Services: A RESTful ApproachSemantic Web Services: A RESTful Approach
Semantic Web Services: A RESTful Approach
 
Serviços Semânticos: Uma Abordagem RESTful
Serviços Semânticos: Uma Abordagem RESTfulServiços Semânticos: Uma Abordagem RESTful
Serviços Semânticos: Uma Abordagem RESTful
 

Recently uploaded

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 

Aspect Oriented Software Development

  • 1. Otavio  Ferreira  (@otaviofff)   Technical  Architect,  Scrum  Master   Oct  2007  
  • 2. •  AOSD  tag  cloud   modularity   aspect   dominant   decomposi@on   AOSD   concern   core  concern   October  2007   AOP   separa@on  of   concerns   advice   join  point   cross-­‐cuCng   concerns   MIH  SWAT  Team     point  cut   2  
  • 3. •  Concern   –  An  area  of  interest  or  focus  in  a  system.   –  The  primary  criteria  for  decomposing  SW  into   smaller,  more  manageable  and  comprehensible   parts.   Text   Picture   Video   Quote   Link   Chat   Tumblelog   October  2007   MIH  SWAT  Team     Caching   Logging   Excep@on  Handling   3  
  • 4. •  Separa@on  of  concerns   –  Based  on  the  Divide-­‐and-­‐Conquer  strategy.   –  Focused  on  breaking  down     the  SW  into  dis@nct  parts     that  overlap  in  func@onality     as  liUle  as  possible.   October  2007   MIH  SWAT  Team     4  
  • 5. •  Core  concern   –  Core  business  related  concern.   –  Domain  specific  concern.   –  Func@onal  requirement.   –  Can  be  cleanly  encapsulated  in  a  generalized   procedure  (i.e.  object,  method,  procedure,  API).   October  2007   MIH  SWAT  Team     5  
  • 6. •  Cross-­‐cuCng  concern   –  Common  func@onality  orthogonal  to  core   concern.   –  Non-­‐func@onal  requirement.   –  Can  NOT  be  cleanly  encapsulated  in  a  generalized   procedure  (i.e.  object,  method,  procedure,  API).   October  2007   MIH  SWAT  Team     6  
  • 7. •  Dominant  decomposi@on   –  The  SW  can  be  modularized  in  only  one  way  at  a   @me.   –  Concerns  that  do  not  align  with  that   modulariza@on  end  up  scaUered  across  many   modules  and  tangled  with  one  another.     October  2007   MIH  SWAT  Team     7  
  • 8. •  ScaUering  and  tangling   –  Cross-­‐cuCng  concerns  o^en  cannot  be  cleanly   decomposed  from  the  rest  of  the  system  in  both   the  design  and  implementa@on.   Excep@on  Handling   Logging   October  2007   MIH  SWAT  Team     8  
  • 9. •  Aspect  (Finally!)   –  A  part  of  a  program  that  cross-­‐cuts  its  core   concerns,  therefore  “viola@ng”  its  separa@on  of   concerns.   Logging     Excep@on  Handling   October  2007   MIH  SWAT  Team     9  
  • 10. •  Modularity   –  AOP    is  an  advance  in  modulariza@on.   –  Loosely  coupled  concerns  /  components.     October  2007   MIH  SWAT  Team     10  
  • 11. •  Aspect-­‐oriented  programming   –  A  technique  used  to  support  the  programmer  in   cleanly  separa@ng  components  and  aspects  from   each  other.   –  Centers  its  aUen@on  on  the  code  modulariza@on,   providing  mechanisms  to  separate  cross-­‐cuCng   concerns  at  code  level.   –  Related  to  the  language.   October  2007   MIH  SWAT  Team     11  
  • 12. •  Aspect-­‐oriented  so^ware  development   –   A  combina@on  of  mechanisms  and   methodologies  that  facilitate  in  separa@ng   concerns  at  different  abstrac@on  levels.   –  Uses  a  combina@on  of  language,  environment,   and  method.   October  2007   MIH  SWAT  Team     12  
  • 13. •  Aspect-­‐oriented  applica@on   –  Consists  of:   •  Component  language  (C#,  Java,  etc.)   •  Aspect-­‐oriented  language  /  framework   •  Aspect  weaver   October  2007   MIH  SWAT  Team     13