SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
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

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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

CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024Brian Pichman
 
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
 
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
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
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
 
UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2DianaGray10
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Libraryshyamraj55
 
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
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveIES VE
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch TuesdayIvanti
 
Planetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl
 
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
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosErol GIRAUDY
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarThousandEyes
 
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
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingMAGNIntelligence
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptxHansamali Gamage
 
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
 

Último (20)

CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024CyberSecurity - Computers In Libraries 2024
CyberSecurity - Computers In Libraries 2024
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)
 
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
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
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
 
UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Library
 
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
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch Tuesday
 
Planetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile Brochure
 
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
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenarios
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? Webinar
 
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
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced Computing
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx
 
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
 

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