a study on the taxonomy of service antipatterns

Post on 13-Apr-2017

101 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 ?

top related