specification and detection of soa antipatternssofa.uqam.ca/media/icsoc2012short.pdf · mathieu...

23
1 LATECE , Département d'informatique, Université du Québec à Montréal, Canada 2 Ptidej Team, DGIGL, École Polytechnique de Montréal, Canada 3 CESI.eXia, Ecole Supérieur d'Informatique, France 1,3 1,2 1 2

Upload: others

Post on 27-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

1 LATECE , Département d'informatique, Université du Québec à

Montréal, Canada 2 Ptidej Team, DGIGL, École Polytechnique de Montréal, Canada

3 CESI.eXia, Ecole Supérieur d'Informatique, France

1,3 1,2 1 2

Page 2: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

Problem Context (1/2)

2/22

HTTP, SOAP, WSDL, UDDI, WS-Technologies

Service Based Systems (SBSs) evolve to fit new user requirements, execution

contexts:

- may degrade design and quality of service (QoS)

- may cause the appearance of common poor solutions:

Antipatterns

Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns

Service Requester

Service Provider

Service-based System

Page 3: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

Problem Context (2/2)

Examples of SOA Antipatterns:

Tiny Service: Small service with few methods which requires several coupled

services to complete an abstraction.

Multiservice: Implements a multitude of methods, is not easily reusable

because of low cohesion of its methods, is often unavailable due to overload

Tiny Service Multiservice

Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns 3/22

Page 4: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

Introduction : Contribution

With the goal to detect SOA Antipatterns in SBSs:

Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns

- SODA (Service Oriented Detection for Antipatterns), a novel and innovative

approach

- SOFA (Service Oriented Framework for Antipatterns), a framework,

- to specify SOA antipatterns and detect them automatically

- to perform static and dynamic analysis

- SODA tool to perform detection using a Graphical User Interface (GUI)

SODA Approach

SOFA Framework

SODA tool

GUI

4/22

Page 5: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

SODA : Our Approach

SODA: Service Oriented Detection for Antipatterns

Textual

Description of

Antipatterns

1. S

pecif

icati

on

s

Rule

Card

2. G

en

era

tio

n

Detection

Algorithm

3.

Dete

cti

on

Suspicious

Services

Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns

SBS Template

5/22

Page 6: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

Approach (7/9): Underlying Framework

1

Mathieu Nayrolles Specification and Detection of SOA Antipatterns

Main Components:

(1) Automated generation of detection algorithms

(2) Computation of static and dynamic metrics

(3) Specification of rules

SOFA : UNDERLYING FRAMEWORK (1/3)

6/22

Page 7: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

Approach (8/9): Underlying Framework

2

Mathieu Nayrolles Specification and Detection of SOA Antipatterns

Main Components:

(1) Automated generation of detection algorithms

(2) Computation of all static and dynamic metrics

(3) Specification of rules

SOFA : UNDERLYING FRAMEWORK (2/3)

7/22

Page 8: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

Approach (9/9): Underlying Framework

3

Mathieu Nayrolles Specification and Detection of SOA Antipatterns

Main Components:

(1) Automated generation of detection algorithms

(2) Computation of all static and dynamic metrics

(3) Specification of rules

SOFA : UNDERLYING FRAMEWORK (3/3)

8/22

Page 9: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

SODA Tool: Principal Features

Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns

- Direct import of an scripted SBS

- Straight forward detection interface

- Expose all the detection details, e.g., metric values, rule cards and textual

descriptions of antipatterns

- Supports both well-known metric based & execution traces based analysis

- Exposes all the execution traces, association rules and related details

9/22

Page 10: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

Associations Rules

2 layers of abstraction : - By service : ServA -> ServB - By methods : ServA.mA->ServB.mB

10/22

Page 11: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

SODA Tool (1/7)

11 Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns

Enlists the SOA

antipatterns

that can be

detected.

11/22

Page 12: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

SODA Tool (2/7)

12 Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns

Textual

description

for selected

antipattern.

12/22

Page 13: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

SODA Tool (3/7)

13 Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns

Corresponding

rule card.

13/22

Page 14: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

SODA Tool (3/7): Rule Card

14 Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns

Corresponding

rule card.

“Multi Service corresponds to a service that implements a multitude of methods related

to different business and technical abstractions. This aggregates too much into a single

service, such a service is not easily reusable because of the low cohesion of its methods

and is often unavailable to end-users because of its overload, which may induce a high

response time”

Multi Service example definition:

1 RULE CARD: MultiService {

2 RULE: MultiService { INTER MultiMethod HighResponse LowAvailability LowCohesion };

3 RULE: MultiMethod { NMD VERY HIGH };

4 RULE: HighResponse { RT VERY HIGH };

5 RULE: LowAvailability { A LOW };

6 RULE: LowCohesion { COH LOW };

7 };

Corresponding Rule Card:

14/22

Page 15: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

SODA Tool (4/7)

15 Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns

Results,

i.e., suspicious

service(s)

15/22

Page 16: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

SODA Tool (5/7)

16 Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns

Values for all metrics

(from the associated

rule card), for each

service

16/22

Page 17: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

SODA Tool (6/7)

17 Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns

Exposes the

generated

association

rules.

17/22

Page 18: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

SODA Tool (7/7)

18 Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns

Helps to visualize

the suspicious

service(s) within

the analyzed SBS.

18/22

Page 19: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

Experiments (4/5): Objects

Two different versions of Home-Automation:

- Original version with 13 services

- A version modified by adding & modifying services to inject Antipatterns

Mathieu Nayrolles Specification and Detection of SOA Antipatterns

SODA Tool (7/7) Results (1/3): Detection

19/22

Page 20: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

Results (2/3): Detection

Detection of Multiservice: Mediator

Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns 20/22

Page 21: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

Results (3/3): Detection

Detection of Duplicated Service: Mediator and Communication

21 Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns 21/22

Page 22: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

Demonstration

- Video

- Posters

- Live demo

22/22

Page 23: Specification and Detection of SOA Antipatternssofa.uqam.ca/media/icsoc2012Short.pdf · Mathieu Nayrolles Specification and Detection of SOA Antipatterns Main Components: (1) Automated

Thank you

More about SODA at www.sofa.uqam.ca/tool.html

Mathieu Nayrolles | [email protected]

Francis Palma | [email protected]

Naouel Moha | [email protected]

Yann-Gaël Guéhéneuc | [email protected]