Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
Associations Rules
2 layers of abstraction : - By service : ServA -> ServB - By methods : ServA.mA->ServB.mB
10/22
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
SODA Tool (2/7)
12 Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns
Textual
description
for selected
antipattern.
12/22
SODA Tool (3/7)
13 Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns
Corresponding
rule card.
13/22
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
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
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
SODA Tool (6/7)
17 Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns
Exposes the
generated
association
rules.
17/22
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
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
Results (2/3): Detection
Detection of Multiservice: Mediator
Mathieu Nayrolles SODA: A Tool Support for the Detection of SOA Antipatterns 20/22
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
Demonstration
- Video
- Posters
- Live demo
22/22
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]