a study on the taxonomy of service antipatterns

31
A Study on the Taxonomy of Service Antipatterns Francis Palma and Naouel Moha PPAP 2015, Montreal, Canada

Upload: francis-palma

Post on 13-Apr-2017

101 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: A Study on the Taxonomy of Service Antipatterns

A Study on the Taxonomy of Service Antipatterns

Francis Palma and Naouel Moha

PPAP 2015, Montreal, Canada

Page 2: A Study on the Taxonomy of Service Antipatterns

Outline

- Introduction

- Related Work

- Current Catalog

- Classification of Service Antipatterns

- Relationships among Service Antipatterns

- Proposed Service Metrics

- Conclusion and Future Works

Page 3: A Study on the Taxonomy of Service Antipatterns

Outline

- Introduction

- Related Work

- Current Catalog

- Classification of Service Antipatterns

- Relationships among Service Antipatterns

- Proposed Service Metrics

- Conclusion and Future Works

Page 4: A Study on the Taxonomy of Service Antipatterns

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…

Page 5: A Study on the Taxonomy of Service Antipatterns

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

Page 6: A Study on the Taxonomy of Service Antipatterns

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

Page 7: A Study on the Taxonomy of Service Antipatterns

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

Page 8: A Study on the Taxonomy of Service Antipatterns

Outline

- Introduction

- Related Work

- Current Catalog

- Classification of Service Antipatterns

- Relationships among Service Antipatterns

- Proposed Service Metrics

- Conclusion and Future Works

Page 9: A Study on the Taxonomy of Service Antipatterns

Related Work

According to Fowler: “a code smell is a surface indication that usually corresponds to a deeper problem in the system”

6

Page 10: A Study on the Taxonomy of Service Antipatterns

Related Work

According to Fowler: “a code smell is a surface indication that usually corresponds to a deeper problem in the system”

Page 11: A Study on the Taxonomy of Service Antipatterns

Related Work

6

According to Fowler: “a code smell is a surface indication that usually corresponds to a deeper problem in the system”

Page 12: A Study on the Taxonomy of Service Antipatterns

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

Page 13: A Study on the Taxonomy of Service Antipatterns

Outline

- Introduction

- Related Work

- Current Catalog

- Classification of Service Antipatterns

- Relationships among Service Antipatterns

- Proposed Service Metrics

- Conclusion and Future Works

Page 14: A Study on the Taxonomy of Service Antipatterns

Catalog of Service Antipatterns

Online resources, Articles:

Books

A Study on the Taxonomy of Service Antipatterns 8

Page 15: A Study on the Taxonomy of Service Antipatterns

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

Page 16: A Study on the Taxonomy of Service Antipatterns

Outline

- Introduction

- Related Work

- Current Catalog

- Classification of Service Antipatterns

- Relationships among Service Antipatterns

- Proposed Service Metrics

- Conclusion and Future Works

Page 17: A Study on the Taxonomy of Service Antipatterns

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

Page 18: A Study on the Taxonomy of Service Antipatterns

Classification of Service Smells in Web Services

A Study on the Taxonomy of Service Antipatterns 11

Page 19: A Study on the Taxonomy of Service Antipatterns

Classification of Service Smells in SCA

A Study on the Taxonomy of Service Antipatterns 12

Page 20: A Study on the Taxonomy of Service Antipatterns

Outline

- Introduction

- Related Work

- Current Catalog

- Classification of Service Antipatterns

- Relationships among Service Antipatterns

- Proposed Service Metrics

- Conclusion and Future Works

Page 21: A Study on the Taxonomy of Service Antipatterns

Relationships among Service Antipatterns

measurable, structural, and lexical properties

service smells operator service antipatterns connector

Page 22: A Study on the Taxonomy of Service Antipatterns

Outline

- Introduction

- Related Work

- Current Catalog

- Classification of Service Antipatterns

- Relationships among Service Antipatterns

- Proposed Service Metrics

- Conclusion and Future Works

Page 23: A Study on the Taxonomy of Service Antipatterns

Proposed Service Metrics

Static vs.

Dynamic

Structural vs.

Behavioral

Web services vs.

SCA vs.

Both

A Study on the Taxonomy of Service Antipatterns 14

Page 24: A Study on the Taxonomy of Service Antipatterns

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

Page 25: A Study on the Taxonomy of Service Antipatterns

Outline

- Introduction

- Related Work

- Current Catalog

- Classification of Service Antipatterns

- Relationships among Service Antipatterns

- Proposed Service Metrics

- Conclusion and Future Works

Page 26: A Study on the Taxonomy of Service Antipatterns

Conclusion

A Study on the Taxonomy of Service Antipatterns 16

Page 27: A Study on the Taxonomy of Service Antipatterns

Conclusion

A Study on the Taxonomy of Service Antipatterns 16

Page 28: A Study on the Taxonomy of Service Antipatterns

Conclusion

A Study on the Taxonomy of Service Antipatterns 16

Page 29: A Study on the Taxonomy of Service Antipatterns

Conclusion

A Study on the Taxonomy of Service Antipatterns 16

Page 30: A Study on the Taxonomy of Service Antipatterns

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

Page 31: A Study on the Taxonomy of Service Antipatterns

Questions ?