SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
A Study on the Taxonomy of
Service Antipatterns
Francis Palma and Naouel Moha
PPAP 2015, Montreal, Canada
Outline
- Introduction
- Related Work
- Current Catalog
- Classification of Service Antipatterns
- Relationships among Service Antipatterns
- Proposed Service Metrics
- Conclusion and Future Works
Outline
- Introduction
- Related Work
- Current Catalog
- Classification of Service Antipatterns
- Relationships among Service Antipatterns
- Proposed Service Metrics
- Conclusion and Future Works
Service-based Systems (SBSs)
“Service-based Systems (SBSs) are built on top of SOA principles
and are composed of services implemented with heterogeneous
technologies as their building blocks” [1]
A Study on the Taxonomy of Service Antipatterns 2
[1] Francis Palma, Mathieu Nayrolles, Naouel Moha, Yann-Gaël Guéhéneuc, Benoit Baudry, and Jean-Marc Jézéquel, SOA Antipatterns:
An Approach for their Specification and Detection, International Journal of Cooperative Information Systems (IJCIS, 2013).
- SOAP Web Services
- SCA Systems
- REST Services, and so on…
Service Antipatterns
Multi Service Tiny Service
“A common solution to a recurring problem that is usually ineffective and
highly counterproductive" [Andrew Koenig]
A Study on the Taxonomy of Service Antipatterns 3
Why their Detections are Important?
 to assess the design and quality of service of SBSs
 to ease the maintenance and evolution of SBSs
An in-depth understanding and relationships
among different service antipatterns is the first
and crucial step to perform their detection
A Study on the Taxonomy of Service Antipatterns 4
Benefits of Taxonomy
(1) assists in the specification and detection of service
antipatterns
(2) reveals the relationships among various groups of
service antipatterns
(3) groups together antipatterns that are fundamentally
related
(4) provides an overview of various system-level design
problems, etc.
A Study on the Taxonomy of Service Antipatterns 5
Outline
- Introduction
- Related Work
- Current Catalog
- Classification of Service Antipatterns
- Relationships among Service Antipatterns
- Proposed Service Metrics
- Conclusion and Future Works
Related Work
According to Fowler:
“a code smell is a
surface indication
that usually
corresponds to a
deeper problem in
the system”
6
Related Work
According to Fowler:
“a code smell is a
surface indication
that usually
corresponds to a
deeper problem in
the system”
Related Work
6
According to Fowler:
“a code smell is a
surface indication
that usually
corresponds to a
deeper problem in
the system”
Related Work
 previous contributions addressed OO code/design smells
 service smells/antipatterns (in the service domain) holds the
same notion to OO smells/antipatterns, but at the service-level
- service is coarser-grained and at higher-level of
abstraction than OO classes
 no taxonomy is proposed for service antipatterns in the literature
A Study on the Taxonomy of Service Antipatterns 7
Outline
- Introduction
- Related Work
- Current Catalog
- Classification of Service Antipatterns
- Relationships among Service Antipatterns
- Proposed Service Metrics
- Conclusion and Future Works
Catalog of Service Antipatterns
Online
resources,
Articles:
Books
A Study on the Taxonomy of Service Antipatterns 8
Catalog of Service Antipatterns
13 SCA-specific antipatterns
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
13 SCA-specific antipatterns
1. Multi Service
2. Tiny Service
3. Sand Pile
4. Chatty Service
5. The Knot
6. Nobody Home
7. Duplicated Service
8. Bottleneck Service
9. Service Chain
10. Data Service
11. God Component
12. Bloated Service
13. Stovepipe Service
10 Web service-specific antipatterns
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
10 Web service-specific antipatterns
1. God Object Web Service
2. Fine Grained Web Service
3. Ambiguous Name
4. Duplicated Web Service
5. Chatty Web Service
6. Low Cohesive Operations
7. Redundant Port-types
8. Maybe It is Not RPC
9. Data Web Service
10. CRUDy Interface
A Study on the Taxonomy of Service Antipatterns 9
Outline
- Introduction
- Related Work
- Current Catalog
- Classification of Service Antipatterns
- Relationships among Service Antipatterns
- Proposed Service Metrics
- Conclusion and Future Works
Classification of Service Antipatterns
 Classification of service antipatterns in two categories:
- Existential
- Intra-service (e.g., Multi Service)
- Inter-service (e.g., Service Chain)
- Analytical
- Static service antipatterns (e.g., Low Cohesive Operation)
- Dynamic service antipatterns (e.g., Bottleneck Service)
- Compound service antipatterns (e.g., Chatty Web Service)
 Service smells
- indicators of the presence of service antipatterns in SBSs
- lower-level design problems than antipatterns
- can be classified as measurable, structural, or lexical
A Study on the Taxonomy of Service Antipatterns 10
Classification of Service Smells in Web Services
A Study on the Taxonomy of Service Antipatterns 11
Classification of Service Smells in SCA
A Study on the Taxonomy of Service Antipatterns 12
Outline
- Introduction
- Related Work
- Current Catalog
- Classification of Service Antipatterns
- Relationships among Service Antipatterns
- Proposed Service Metrics
- Conclusion and Future Works
Relationships among Service Antipatterns
measurable, structural,
and lexical properties
service smells operator service antipatterns connector
Outline
- Introduction
- Related Work
- Current Catalog
- Classification of Service Antipatterns
- Relationships among Service Antipatterns
- Proposed Service Metrics
- Conclusion and Future Works
Proposed Service Metrics
Static
vs.
Dynamic
Structural
vs.
Behavioral
Web services
vs.
SCA
vs.
Both
A Study on the Taxonomy of Service Antipatterns 14
Detection of Service Antipatterns
 Step 1 (Specification):
- from metrics to metrics-based rule cards
 Step 2 (Generation)
- from rule cards to automatic generation of detection
algorithms
 Step 3 (Detection)
- apply detection algorithms on SBSs
A Study on the Taxonomy of Service Antipatterns 15
Outline
- Introduction
- Related Work
- Current Catalog
- Classification of Service Antipatterns
- Relationships among Service Antipatterns
- Proposed Service Metrics
- Conclusion and Future Works
Conclusion
A Study on the Taxonomy of Service Antipatterns 16
Conclusion
A Study on the Taxonomy of Service Antipatterns 16
Conclusion
A Study on the Taxonomy of Service Antipatterns 16
Conclusion
A Study on the Taxonomy of Service Antipatterns 16
Future Work
 analyse the taxonomy of other SBSs technologies
- RESTful services or WCF services
 develop a taxonomy visualisation tool
- interactive dynamics for visual analysis
A Study on the Taxonomy of Service Antipatterns 17
Questions ?

Más contenido relacionado

Similar a A Study on the Taxonomy of Service Antipatterns

Specification and Detection of SOA Antipatterns in Web Services
Specification and Detection of SOA Antipatterns in Web ServicesSpecification and Detection of SOA Antipatterns in Web Services
Specification and Detection of SOA Antipatterns in Web ServicesFrancis Palma
 
A Novel Testing Model for SOA based Services
A Novel Testing Model for SOA based ServicesA Novel Testing Model for SOA based Services
A Novel Testing Model for SOA based ServicesAbhishek Kumar
 
International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...ijcseit
 
Web service discovery methods and techniques a review
Web service discovery methods and techniques a reviewWeb service discovery methods and techniques a review
Web service discovery methods and techniques a reviewijcseit
 
WEB SERVICE DISCOVERY METHODS AND TECHNIQUES: A REVIEW
WEB SERVICE DISCOVERY METHODS AND TECHNIQUES: A REVIEWWEB SERVICE DISCOVERY METHODS AND TECHNIQUES: A REVIEW
WEB SERVICE DISCOVERY METHODS AND TECHNIQUES: A REVIEWijcseit
 
Investigating the Change-proneness of Service Patterns and Antipatterns
Investigating the Change-proneness of Service Patterns and AntipatternsInvestigating the Change-proneness of Service Patterns and Antipatterns
Investigating the Change-proneness of Service Patterns and AntipatternsFrancis Palma
 
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEMMETRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEMijseajournal
 
Semantic web service discovery approaches
Semantic web service discovery approachesSemantic web service discovery approaches
Semantic web service discovery approachesIJCSES Journal
 
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHYSERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHYijwscjournal
 
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY ijwscjournal
 
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHYSERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHYijwscjournal
 
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY ijwscjournal
 
Web Services Discovery and Recommendation Based on Information Extraction and...
Web Services Discovery and Recommendation Based on Information Extraction and...Web Services Discovery and Recommendation Based on Information Extraction and...
Web Services Discovery and Recommendation Based on Information Extraction and...ijwscjournal
 
Detection of SOA Antipatterns
Detection of SOA AntipatternsDetection of SOA Antipatterns
Detection of SOA AntipatternsFrancis Palma
 
M.Phil Computer Science Server Computing Projects
M.Phil Computer Science Server Computing ProjectsM.Phil Computer Science Server Computing Projects
M.Phil Computer Science Server Computing ProjectsVijay Karan
 

Similar a A Study on the Taxonomy of Service Antipatterns (20)

11 69-81
11 69-8111 69-81
11 69-81
 
Ecsa14.ppt
Ecsa14.pptEcsa14.ppt
Ecsa14.ppt
 
Specification and Detection of SOA Antipatterns in Web Services
Specification and Detection of SOA Antipatterns in Web ServicesSpecification and Detection of SOA Antipatterns in Web Services
Specification and Detection of SOA Antipatterns in Web Services
 
Ecsa14.ppt
Ecsa14.pptEcsa14.ppt
Ecsa14.ppt
 
A Novel Testing Model for SOA based Services
A Novel Testing Model for SOA based ServicesA Novel Testing Model for SOA based Services
A Novel Testing Model for SOA based Services
 
International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...
 
Web service discovery methods and techniques a review
Web service discovery methods and techniques a reviewWeb service discovery methods and techniques a review
Web service discovery methods and techniques a review
 
WEB SERVICE DISCOVERY METHODS AND TECHNIQUES: A REVIEW
WEB SERVICE DISCOVERY METHODS AND TECHNIQUES: A REVIEWWEB SERVICE DISCOVERY METHODS AND TECHNIQUES: A REVIEW
WEB SERVICE DISCOVERY METHODS AND TECHNIQUES: A REVIEW
 
Soca14.ppt
Soca14.pptSoca14.ppt
Soca14.ppt
 
Soca14.ppt
Soca14.pptSoca14.ppt
Soca14.ppt
 
Investigating the Change-proneness of Service Patterns and Antipatterns
Investigating the Change-proneness of Service Patterns and AntipatternsInvestigating the Change-proneness of Service Patterns and Antipatterns
Investigating the Change-proneness of Service Patterns and Antipatterns
 
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEMMETRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
METRIC-BASED FRAMEWORK FOR TESTING & EVALUATION OF SERVICE-ORIENTED SYSTEM
 
Semantic web service discovery approaches
Semantic web service discovery approachesSemantic web service discovery approaches
Semantic web service discovery approaches
 
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHYSERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
 
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
 
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHYSERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
 
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
SERVICE SELECTION BASED ON DOMINANT ROLE OF THE CHOREOGRAPHY
 
Web Services Discovery and Recommendation Based on Information Extraction and...
Web Services Discovery and Recommendation Based on Information Extraction and...Web Services Discovery and Recommendation Based on Information Extraction and...
Web Services Discovery and Recommendation Based on Information Extraction and...
 
Detection of SOA Antipatterns
Detection of SOA AntipatternsDetection of SOA Antipatterns
Detection of SOA Antipatterns
 
M.Phil Computer Science Server Computing Projects
M.Phil Computer Science Server Computing ProjectsM.Phil Computer Science Server Computing Projects
M.Phil Computer Science Server Computing Projects
 

Más de Francis Palma

Using Interactive GA for Requirements Prioritization
Using Interactive GA for Requirements PrioritizationUsing Interactive GA for Requirements Prioritization
Using Interactive GA for Requirements PrioritizationFrancis Palma
 
Using Interactive Genetic Algorithm for Requirements Prioritization
Using Interactive Genetic Algorithm for Requirements PrioritizationUsing Interactive Genetic Algorithm for Requirements Prioritization
Using Interactive Genetic Algorithm for Requirements Prioritization Francis Palma
 
Interactive Requirements Prioritization Using Search Based Optimization Techn...
Interactive Requirements Prioritization Using Search Based Optimization Techn...Interactive Requirements Prioritization Using Search Based Optimization Techn...
Interactive Requirements Prioritization Using Search Based Optimization Techn...Francis Palma
 
Specification and Detection of SOA Antipatterns
Specification and Detection of SOA AntipatternsSpecification and Detection of SOA Antipatterns
Specification and Detection of SOA AntipatternsFrancis Palma
 
Recommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software DevelopmentRecommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software DevelopmentFrancis Palma
 
Unifying Service Oriented Technologies for the Specification and Detection of...
Unifying Service Oriented Technologies for the Specification and Detection of...Unifying Service Oriented Technologies for the Specification and Detection of...
Unifying Service Oriented Technologies for the Specification and Detection of...Francis Palma
 
Specification and Detection of Business Process Antipatterns
Specification and Detection of Business Process AntipatternsSpecification and Detection of Business Process Antipatterns
Specification and Detection of Business Process AntipatternsFrancis Palma
 
Are RESTful APIs Well-designed? Detection of their Linguistic (Anti)Patterns
Are RESTful APIs Well-designed? Detection of their Linguistic (Anti)PatternsAre RESTful APIs Well-designed? Detection of their Linguistic (Anti)Patterns
Are RESTful APIs Well-designed? Detection of their Linguistic (Anti)PatternsFrancis Palma
 
Detection of REST Patterns and Antipatterns: A Heuristics-based Approach
Detection of REST Patterns and Antipatterns: A Heuristics-based ApproachDetection of REST Patterns and Antipatterns: A Heuristics-based Approach
Detection of REST Patterns and Antipatterns: A Heuristics-based ApproachFrancis Palma
 
Detection of Process Antipatterns: An BPEL Perspective
Detection of Process Antipatterns: An BPEL PerspectiveDetection of Process Antipatterns: An BPEL Perspective
Detection of Process Antipatterns: An BPEL PerspectiveFrancis Palma
 
Specification and Detection of SOA Antipatterns
Specification and Detection of SOA AntipatternsSpecification and Detection of SOA Antipatterns
Specification and Detection of SOA AntipatternsFrancis Palma
 

Más de Francis Palma (11)

Using Interactive GA for Requirements Prioritization
Using Interactive GA for Requirements PrioritizationUsing Interactive GA for Requirements Prioritization
Using Interactive GA for Requirements Prioritization
 
Using Interactive Genetic Algorithm for Requirements Prioritization
Using Interactive Genetic Algorithm for Requirements PrioritizationUsing Interactive Genetic Algorithm for Requirements Prioritization
Using Interactive Genetic Algorithm for Requirements Prioritization
 
Interactive Requirements Prioritization Using Search Based Optimization Techn...
Interactive Requirements Prioritization Using Search Based Optimization Techn...Interactive Requirements Prioritization Using Search Based Optimization Techn...
Interactive Requirements Prioritization Using Search Based Optimization Techn...
 
Specification and Detection of SOA Antipatterns
Specification and Detection of SOA AntipatternsSpecification and Detection of SOA Antipatterns
Specification and Detection of SOA Antipatterns
 
Recommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software DevelopmentRecommendation System for Design Patterns in Software Development
Recommendation System for Design Patterns in Software Development
 
Unifying Service Oriented Technologies for the Specification and Detection of...
Unifying Service Oriented Technologies for the Specification and Detection of...Unifying Service Oriented Technologies for the Specification and Detection of...
Unifying Service Oriented Technologies for the Specification and Detection of...
 
Specification and Detection of Business Process Antipatterns
Specification and Detection of Business Process AntipatternsSpecification and Detection of Business Process Antipatterns
Specification and Detection of Business Process Antipatterns
 
Are RESTful APIs Well-designed? Detection of their Linguistic (Anti)Patterns
Are RESTful APIs Well-designed? Detection of their Linguistic (Anti)PatternsAre RESTful APIs Well-designed? Detection of their Linguistic (Anti)Patterns
Are RESTful APIs Well-designed? Detection of their Linguistic (Anti)Patterns
 
Detection of REST Patterns and Antipatterns: A Heuristics-based Approach
Detection of REST Patterns and Antipatterns: A Heuristics-based ApproachDetection of REST Patterns and Antipatterns: A Heuristics-based Approach
Detection of REST Patterns and Antipatterns: A Heuristics-based Approach
 
Detection of Process Antipatterns: An BPEL Perspective
Detection of Process Antipatterns: An BPEL PerspectiveDetection of Process Antipatterns: An BPEL Perspective
Detection of Process Antipatterns: An BPEL Perspective
 
Specification and Detection of SOA Antipatterns
Specification and Detection of SOA AntipatternsSpecification and Detection of SOA Antipatterns
Specification and Detection of SOA Antipatterns
 

Último

20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxNeo4j
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)codyslingerland1
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)IES VE
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfTejal81
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...DianaGray10
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsDianaGray10
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxNeo4j
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Muhammad Tiham Siddiqui
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarThousandEyes
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInThousandEyes
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch TuesdayIvanti
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationKnoldus Inc.
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameKapil Thakar
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIVijayananda Mohire
 
Technical SEO for Improved Accessibility WTS FEST
Technical SEO for Improved Accessibility  WTS FESTTechnical SEO for Improved Accessibility  WTS FEST
Technical SEO for Improved Accessibility WTS FESTBillieHyde
 

Último (20)

SheDev 2024
SheDev 2024SheDev 2024
SheDev 2024
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projects
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? Webinar
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch Tuesday
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its application
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First Frame
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAI
 
Technical SEO for Improved Accessibility WTS FEST
Technical SEO for Improved Accessibility  WTS FESTTechnical SEO for Improved Accessibility  WTS FEST
Technical SEO for Improved Accessibility WTS FEST
 

A Study on the Taxonomy of Service Antipatterns

  • 1. A Study on the Taxonomy of Service Antipatterns Francis Palma and Naouel Moha PPAP 2015, Montreal, Canada
  • 2. Outline - Introduction - Related Work - Current Catalog - Classification of Service Antipatterns - Relationships among Service Antipatterns - Proposed Service Metrics - Conclusion and Future Works
  • 3. Outline - Introduction - Related Work - Current Catalog - Classification of Service Antipatterns - Relationships among Service Antipatterns - Proposed Service Metrics - Conclusion and Future Works
  • 4. Service-based Systems (SBSs) “Service-based Systems (SBSs) are built on top of SOA principles and are composed of services implemented with heterogeneous technologies as their building blocks” [1] A Study on the Taxonomy of Service Antipatterns 2 [1] Francis Palma, Mathieu Nayrolles, Naouel Moha, Yann-Gaël Guéhéneuc, Benoit Baudry, and Jean-Marc Jézéquel, SOA Antipatterns: An Approach for their Specification and Detection, International Journal of Cooperative Information Systems (IJCIS, 2013). - SOAP Web Services - SCA Systems - REST Services, and so on…
  • 5. Service Antipatterns Multi Service Tiny Service “A common solution to a recurring problem that is usually ineffective and highly counterproductive" [Andrew Koenig] A Study on the Taxonomy of Service Antipatterns 3
  • 6. Why their Detections are Important?  to assess the design and quality of service of SBSs  to ease the maintenance and evolution of SBSs An in-depth understanding and relationships among different service antipatterns is the first and crucial step to perform their detection A Study on the Taxonomy of Service Antipatterns 4
  • 7. Benefits of Taxonomy (1) assists in the specification and detection of service antipatterns (2) reveals the relationships among various groups of service antipatterns (3) groups together antipatterns that are fundamentally related (4) provides an overview of various system-level design problems, etc. A Study on the Taxonomy of Service Antipatterns 5
  • 8. Outline - Introduction - Related Work - Current Catalog - Classification of Service Antipatterns - Relationships among Service Antipatterns - Proposed Service Metrics - Conclusion and Future Works
  • 9. Related Work According to Fowler: “a code smell is a surface indication that usually corresponds to a deeper problem in the system” 6
  • 10. Related Work According to Fowler: “a code smell is a surface indication that usually corresponds to a deeper problem in the system”
  • 11. Related Work 6 According to Fowler: “a code smell is a surface indication that usually corresponds to a deeper problem in the system”
  • 12. Related Work  previous contributions addressed OO code/design smells  service smells/antipatterns (in the service domain) holds the same notion to OO smells/antipatterns, but at the service-level - service is coarser-grained and at higher-level of abstraction than OO classes  no taxonomy is proposed for service antipatterns in the literature A Study on the Taxonomy of Service Antipatterns 7
  • 13. Outline - Introduction - Related Work - Current Catalog - Classification of Service Antipatterns - Relationships among Service Antipatterns - Proposed Service Metrics - Conclusion and Future Works
  • 14. Catalog of Service Antipatterns Online resources, Articles: Books A Study on the Taxonomy of Service Antipatterns 8
  • 15. Catalog of Service Antipatterns 13 SCA-specific antipatterns 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 13 SCA-specific antipatterns 1. Multi Service 2. Tiny Service 3. Sand Pile 4. Chatty Service 5. The Knot 6. Nobody Home 7. Duplicated Service 8. Bottleneck Service 9. Service Chain 10. Data Service 11. God Component 12. Bloated Service 13. Stovepipe Service 10 Web service-specific antipatterns 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 10 Web service-specific antipatterns 1. God Object Web Service 2. Fine Grained Web Service 3. Ambiguous Name 4. Duplicated Web Service 5. Chatty Web Service 6. Low Cohesive Operations 7. Redundant Port-types 8. Maybe It is Not RPC 9. Data Web Service 10. CRUDy Interface A Study on the Taxonomy of Service Antipatterns 9
  • 16. Outline - Introduction - Related Work - Current Catalog - Classification of Service Antipatterns - Relationships among Service Antipatterns - Proposed Service Metrics - Conclusion and Future Works
  • 17. Classification of Service Antipatterns  Classification of service antipatterns in two categories: - Existential - Intra-service (e.g., Multi Service) - Inter-service (e.g., Service Chain) - Analytical - Static service antipatterns (e.g., Low Cohesive Operation) - Dynamic service antipatterns (e.g., Bottleneck Service) - Compound service antipatterns (e.g., Chatty Web Service)  Service smells - indicators of the presence of service antipatterns in SBSs - lower-level design problems than antipatterns - can be classified as measurable, structural, or lexical A Study on the Taxonomy of Service Antipatterns 10
  • 18. Classification of Service Smells in Web Services A Study on the Taxonomy of Service Antipatterns 11
  • 19. Classification of Service Smells in SCA A Study on the Taxonomy of Service Antipatterns 12
  • 20. Outline - Introduction - Related Work - Current Catalog - Classification of Service Antipatterns - Relationships among Service Antipatterns - Proposed Service Metrics - Conclusion and Future Works
  • 21. Relationships among Service Antipatterns measurable, structural, and lexical properties service smells operator service antipatterns connector
  • 22. Outline - Introduction - Related Work - Current Catalog - Classification of Service Antipatterns - Relationships among Service Antipatterns - Proposed Service Metrics - Conclusion and Future Works
  • 23. Proposed Service Metrics Static vs. Dynamic Structural vs. Behavioral Web services vs. SCA vs. Both A Study on the Taxonomy of Service Antipatterns 14
  • 24. Detection of Service Antipatterns  Step 1 (Specification): - from metrics to metrics-based rule cards  Step 2 (Generation) - from rule cards to automatic generation of detection algorithms  Step 3 (Detection) - apply detection algorithms on SBSs A Study on the Taxonomy of Service Antipatterns 15
  • 25. Outline - Introduction - Related Work - Current Catalog - Classification of Service Antipatterns - Relationships among Service Antipatterns - Proposed Service Metrics - Conclusion and Future Works
  • 26. Conclusion A Study on the Taxonomy of Service Antipatterns 16
  • 27. Conclusion A Study on the Taxonomy of Service Antipatterns 16
  • 28. Conclusion A Study on the Taxonomy of Service Antipatterns 16
  • 29. Conclusion A Study on the Taxonomy of Service Antipatterns 16
  • 30. Future Work  analyse the taxonomy of other SBSs technologies - RESTful services or WCF services  develop a taxonomy visualisation tool - interactive dynamics for visual analysis A Study on the Taxonomy of Service Antipatterns 17