SlideShare a Scribd company logo
1 of 31
Download to read offline
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 ?

More Related Content

Similar to 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 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 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 to 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
 
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
 
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 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 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
 

More from 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
 

More from 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
 

Recently uploaded

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Recently uploaded (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

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