1 adaptabilité des services techniques dans le modèle à composants. colombe hérault lamih / roi...
TRANSCRIPT
1
Adaptabilité des Services Techniques dans le Modèle à Composants.
Colombe HéraultLAMIH / ROI / SID
Jeudi 23 juin 2005Soutenance de thèse
Pr A. Freville, directeur N. Bennani, encadrantS. Lecomte, encadrant
2
Fournisseurde contenu
opérateur
Equipements de diffusion
Serveurs decommunication
Serveurs Back Office
téléspectateur
Set Top Box
Cartes à puce
VOIEDESCENDANTE
Voie descendante•haut débit, constant•partagée par tous les usagers (STB)
Contexte
3
Voie montante• Individuelle • Disponibilité non garantie• Débit limité
Fournisseurde contenu
opérateur
Equipements de diffusion
Serveurs decommunication
Serveurs Back Office
téléspectateur
Set Top Box
Cartes à puce
VOIE MONTANTE
VOIEDESCENDANTE
Voie descendante•haut débit, constant•partagée par tous les usagers (STB)
Contexte
4
Plan
Contexte et problématique Nouvelles applications distribuées Environnement hétérogène Modèle à composants – Services Techniques
Etat de l’art et positionnement Principes de base de l’adaptation des intergiciels Travaux autour de l’adaptabilité
Propositions Nouveau modèle de conception et de développement Mécanisme de gestion de l’adaptation
Conclusion et perspectives
5
Exemple de l’application PMU et service transactionnel
serveur distantParis Turfau domicile
serveur distant PMU
serveur distantWeb de Paris
cotes? cotes?
cotescotes
cotes + horaires
santé chevaux
cotes + horaires
santé chevaux + cotes + horaires
santé chevaux
santé chevaux + cotes + horaires
beginONT
commit
ONT
beginplate
commit
plate
adaptation aux besoins de l’application adaptation à l’environnement
en déplacement serveur distant
cotes?
préparationdes paris
validitédes paris
paris
cotes
cotes?
paris ok
cotes
beginmobile
commit
mobile
dynamique statique
6
Apport du modèle à composants
composantcomposant
composant
composant
conteneurs
appel de
méthodeclient
Interface fournie Interface requise liaison
servicestechniques
transaction sécuritépersistance transaction sécuritépersistance
bus logiciel bus logiciel
7
Apport du modèle à composants
composantcomposant
composant
composant
conteneurs
appel de
méthodeclient
Interface fournie Interface requise liaison
servicestechniques
transaction sécuritépersistance transaction sécuritépersistance
bus logiciel bus logiciel
transaction2
• limites de l’adaptabilité des services techniques• POO• objet notoire• code appel enfoui
8
plan
Contexte et problématique Nouvelles applications distribuées Environnement hétérogène Modèle à composants – Services Techniques
Etat de l’art et positionnement Principes de base de l’adaptation des intergiciels Travaux autour de l’adaptabilité
Propositions Nouveau modèle de conception et de développement Mécanisme de gestion de l’adaptation
Conclusion et perspectives
9
séparation des préoccupations
réflexivitéconception à base
de composants
adaptation
intergiciel
Figure tirée de [MCK 04] McKinley P. K. « A taxonomy of Compositional Adaptation », juillet 2004
Principes de base de l’adaptationdes intergiciels
10
Séparation des préoccupations (SOP)
Principe une préoccupation principale est dispersée et entrelacée avec
plusieurs préoccupations transversales Apport pour l’adaptabilité
Gestion indépendante des préoccupations transversales Remplacement dynamique d’une préoccupation
Représentant principal Programmation Orientée Aspect (AOP)
Technique utilisée en SOP Patron de Gamma
Patron stratégie
Patron stratégie [GAMMA 95]
Contexte
InterfaceContexte()
Strategie
InterfaceAlgorithme()
StrategieConcreteA
InterfaceAlgorithme()
StrategieConcreteB
InterfaceAlgorithme()
StrategieConcreteC
InterfaceAlgorithme()
strategie
11
introspection / réification intercession / réflexion
niveau de base
objetapplication
méta-objet
niveau méta
Réflexivité
12
Classification des solutions adaptables
Adaptabilité au niveau de ORB Modèles à composants Applications Services Techniques
Figure inspirée de [F.Duclos]
Solution adaptable
Séparation des Préoccupations (SOP)
Réflexivité
Programmationpar composants
13
Séparation des Préoccupations (SOP)
Réflexivité
Programmationpar composants
ORB ORB adaptables statiquement•TAO, ZEN, CIAO
JonathanCORBA
ORB adaptables Dynamiquement•dynamicTAO, •OpenORB
Par tissage d’aspect dynamique•AscpectIX
Classification des solutions adaptables
Adaptabilité au niveau de ORB Modèles à composants Applications Services Techniques
personnalité et réflexivité
14
Séparation des Préoccupations (SOP)
Réflexivité
Programmationpar composants
Classification des solutions adaptables
Adaptabilité au niveau de ORB Modèles à composants Applications Services Techniques
Modèles à composants
Modèles de composants sans services techniques:•JavaBeans•COM
Modèles à composants avec services techniques:•EJB•CCM
Modèle à composants Avec Conteneurs ouverts:•IST-Coach•Fractal
conteneur ouvert
15
Séparation des Préoccupations (SOP)
Réflexivité
Programmationpar composants
Application
Classification des solutions adaptables
Adaptabilité au niveau de ORB Modèles à composants Applications Services Techniques
programmation par composantset patron stratégie
Adaptation statique•CESURE
ACEEL
ARCAD
Adaptation dynamique•Qinna
16
Séparation des Préoccupations (SOP)
Réflexivité
Programmationpar composants
Services Techniques
Services techniques des EJB et de CCM
Classification des solutions adaptables
Adaptabilité au niveau de ORB Modèles à composants Applications Services Techniques
Jironde, GoTM
Générique• Nos travaux
Spécifique à un service technique: •ArcticBeans
Patron stratégie Conteneur ouvertPersonnalité
17
plan
Contexte et problématique Nouvelles applications distribuées Environnement hétérogène Modèle à composants – Services Techniques
Etat de l’art et positionnement Principes de base de l’adaptation des intergiciels Travaux autour de l’adaptabilité
Propositions Nouveau modèle de conception et de développement Mécanisme de gestion de l’adaptation
Conclusion et perspectives
18
modèle de conception
modèle pour services techniques
modèle de conception
modèle à composants
modèle de conception Fractal
modèle à composants
modèle d’assemblage
modèle pour l’assemblage des services techniques et des composants applicatifs
PIM(Platform
Independent Model)
Fractal SM(Fractal Specific
Model)
Julia SM(Julia Specific
Model)
Nouveau modèle de conception et de développement des ST
19
Notion de « Personnalité d’un Service » P1S
un service à plusieurs personnalités modèle, implantation, version exemples
transaction : plate, ONT, CNT annuaire : courtage et nommage
représentation de la qualité de service pour faire un choix lors de l’adaptation ensemble de qualités relatives au comportement collectif
d’un ou plusieurs objets [ISO/IEC 9126]
fonctionnalité, fiabilité, convivialité, efficacité, facilité de maintenance, portabilité
20
QoS P1S
fonctionnalité
fiabilité, efficacité, portabilité
fonction
modèle
fiabilité,efficacité
environnementd’exécution
11
1
1
1
N
tripletnom de variable
unité de mesure
ouvaleur min et max
valeur de variable et opérateur
N
1
1
1
Notion de « Personnalité d’un Service » P1S
tripletnom de variable
unité de mesure
ouvaleur min et max
valeur de variable et opérateur
1
1
1
N
21
QoS P1S
fonctionnalité
fiabilité, efficacité, portabilité
service transactionnel
transaction plate
fiabilité,efficacité
environnementd’exécution
Exemple de P1SService de Transactions plates
type application
= default
utilisation_CPU
%
min: XX, max: XX
transaction par minute
trans/min
= XX
fréquence CPU
Mhz
= XX
…
22
QoS P1S
fonctionnalité
fiabilité, efficacité, portabilité
service transactionnel
transaction ONT
fiabilité,efficacité
environnementd’exécution
Exemple de P1SService de Transactions ONT
type application
= webservice
utilisation_CPU
%
min: XX, max: XX
transaction par minute
trans/min
= XX
fréquence CPU
Mhz
= XX
…
23
Notion de « Lot de Services » L2S
L2S
QoS P1SN
environnement d’exécution
N
1
triplet
nom de variable
unité de mesure
ouvaleur min et max
valeur de variable et opérateur
1
1
1
24
Exemple de L2Spour application de Webservice
L2S
environnement d’exécution
QoS P1S
fonctionnalité
service transactionnel
transaction ONT
fonctionnalité
service de persistance
JDO
Type application
= webservice
fonctionnalité
service de courtage
UDDI
…
25
Modèle de conception et de développement : modèle à composants
apport du modèle à composants modularité
expression des tâches réutilisation de composants élémentaires entre P1S
interface expression des P1S
liaisons assemblage et réutilisation de composants élémentaires
projection sur le modèle Fractal concepts nécessaires à la programmation par composants particularités
composants composites et partagés composants réflexifs → intercession et introspection hiérarchie de concepts
conteneur ouvert pas de spécification des services techniques
26
Exemple de conception de la P1S transactions plate
TMP1S
trans. plates
interface associée à la P1S
27
Exemple de conception de la P1S transactions ONT
CDOtable
CM
interpr.ONT
interpr.flat
TechnicalService
TransactionManager
TransactionManagerONT
TechnicalService
СompensationManager
Compensator
CDOTable
CD
OTa
ble
Add
P1S trans. plates
P1S trans. ONT
interfaces associéesaux P1S
composant implantant une tâche élémentaire réutilisé
liaisons
TM
TMONT
28
intercepteur
contenucontrôleur
Modèle d’assemblage: sous contrôleurs
CA
sous-contrôleurs
client Méthode()
Pre()Post()
29
intercepteur
contenucontrôleur
Modèle d’assemblage: sous contrôleurs
CA
associe un ST à un sous-contrôleur composant de Call-Back
ST2 CB2
CF2
P1S2
liaison entre les deuxsous-contrôleurs
interface de call-back du composant
applicatif
P1S11CF1CB1
P1S12
sous-contrôleur du service technique 1
2 personnalités du service technique 1
ST1
30
Compte bancairedébit(s)crédit(s)
Exemple d’assemblage composant bancaire / service transaction
Comp simplecomp_débit(s)
compt_crédit(s)
plate
Servicetransactionnel
CF
Comp +comp_débit(s)
compt_crédit(s)
Servicetransactionnel
ONT
31
service technique
niveau méta
niveau de base
service de gestion
composantapplicatif
représentation action représentation
moniteur
<gère <notifiecoordinateur
interroge>annuairecontrat
Gestion de l’adaptation
environnementd’exécution
32
service technique
niveau méta
niveau de base
composantapplicatif
représentation
Gestion de l’adaptation
service de gestion
action représentation
moniteur
<gère <notifiecoordinateur
interroge>annuairecontrat
environnementd’exécution
Caractéristiques physiques de la machine Alimentation Stockage CPU Réseau Lecteur Interface H/M
Ressources logicielles Bus logiciel, JRE
Localisation de la machine Pays, ville, localisation GPS
33
environnementd’exécution
service technique
niveau méta
niveau de base
composantapplicatif
représentation
Gestion de l’adaptation
Profil fourni par l’environnement
Profil requis par le service technique
Profil requis par le composant applicatif
Profil fourni par le service technique
fourni dynamiquementpar le moniteur
=P1S fourni par ledéveloppeur de ST
fourni par le développeurde composant applicatif
service de gestion
action représentation
moniteur
<gère <notifiecoordinateur
interroge>annuairecontrat
34
environnementd’exécution
service technique
niveau méta
niveau de base
service de gestion
composantapplicatif
représentation action représentation
moniteur
<gère <notifiecoordinateur
interroge>annuairecontrat
Gestion de l’adaptation
35
environnementd’exécution
service transactionnel
niveau méta
niveau de base
CA
Gestion de l’adaptation
moniteur
coordinateur
annuairecontrat
besoin appli
environnement
service transactionnel
P1SONT
P1Splate
Requêteexport
P1Splate
Requêteexport
P1SONT
36
environnementd’exécution
niveau méta
niveau de base
CA
Gestion de l’adaptation
moniteur
coordinateur
annuairecontratP1SplateP1S
ONT
besoin appli
environnement
Requêteimport
besoin appli
environnement
P1SONT
service transactionnel
service transactionnel
P1SONT
P1Splate
37
représentation
environnementd’exécution
service technique
niveau méta
niveau de base
composantapplicatif
Gestion de l’adaptation
service de gestion
action représentation
<gère <notifiecoordinateur
interroge>annuairecontrat moniteur
moniteur
filtre synthèse filtrefiltrecapteurs
38
environnementd’exécution
service technique
niveau méta
niveau de base
composantapplicatif
Gestion de l’adaptation
service de gestion
action représentation
moniteur
<gère <notifie
interroge>annuairecontrat
coordinateurCoordinateur cohérence entre les composants usine de contrat
permet d’enregistrer les nouvelles applications fournit une référence sur le moniteur et l’annuaire
diffusion des informations du moniteur aux contrats filtre aiguilleur
39
environnementd’exécution
service technique
niveau méta
niveau de base
composantapplicatif
représentation
Gestion de l’adaptation
service de gestion
action représentation
moniteur
<gère <notifiecoordinateur
interroge>contrat annuaire
annuaire de courtage sémantique expression des préférences
Décomposeur de requêtes Annuaire générique de composants
service de nommage
Processeur de requêtes
service de décision
répartiteur
service de courtage
service de requêtes
analyseur syntaxique
40
environnementd’exécution
service technique
niveau méta
niveau de base
composantapplicatif
représentation
Gestion de l’adaptation
service de gestion
action représentation
moniteur
<gère <notifiecoordinateur
interroge>contrat annuaire
annuaire de courtage sémantique Expression des préférences
Décomposeur de requêtes Annuaire générique de composants
service de nommage
Processeur de requêtes
service de décision
répartiteur
service de courtage
service de requêtes
analyseur syntaxique
Requêteexport
P1Splate
P1Splate
41
environnementd’exécution
service technique
niveau méta
niveau de base
composantapplicatif
représentation
Gestion de l’adaptation
service de gestion
action représentation
moniteur
<gère <notifiecoordinateur
interroge>contrat annuaire
annuaire de courtage sémantique Expression des préférences
Décomposeur de requêtes Annuaire générique de composants
service de nommage
Processeur de requêtes
service de décision
répartiteur
service de courtage
service de requêtes
analyseur syntaxique
Requêteimport
besoin appli
environnement
P1Smobile
P1SONT
P1Splate
sous-requête 1
besoin appli
environnement
P1SONT
P1Splate
42
environnementd’exécution
service technique
niveau méta
niveau de base
composantapplicatif
représentation
Gestion de l’adaptation
service de gestion
action représentation
moniteur
<gère <notifiecoordinateur
interroge>contrat annuaire
annuaire de courtage sémantique Expression des préférences
Décomposeur de requêtes Annuaire générique de composants
service de nommage
Processeur de requêtes
service de décision
répartiteur
service de courtage
service de requêtes
analyseur syntaxique
P1Smobile
Requêteimport
besoin appli
environnement
Sous-requête 2
P1SONT
P1Splate
P1SONT
P1Splate
43
environnementd’exécution
service technique
niveau méta
niveau de base
composantapplicatif
représentation
Gestion de l’adaptation
service de gestion
action représentation
moniteur
<gère <notifiecoordinateur
interroge>contrat annuaire
annuaire de courtage sémantique Expression des préférences
Décomposeur de requêtes Annuaire générique de composants
service de nommage
Processeur de requêtes
service de décision
répartiteur
service de courtage
service de requêtes
analyseur syntaxique
Requêteimport
besoin appli
environnement
P1Smobile
Sous-requête 2
P1SONT
P1Splate
P1SONT
P1Splate
44
environnementd’exécution
service technique
niveau méta
niveau de base
composantapplicatif
représentation
Gestion de l’adaptation
service de gestion
action représentation
moniteur
<gère <notifiecoordinateur
interroge>contrat annuaire
45
Prototype
Faisabilité service Transactionnel ONT
modèle à composants vs modèle objets → + 0,14% appel au ST par conteneur → + 0,02%
service de gestion adaptation d’un service = 96 msec + temps Moniteur
sous-contrôleur objet → ajout statique annuaire avec 4 types, 2 patrons, 20 personnalités coordinateur simple PC Pentium 4 / 1,5 GHz / Win2000
Implantation contrat et service de gestion
composition 17 composants composites, 54 composants primitifs 97 + (2*nb de contrats) liaisons
code 83 classes et 44 interfaces java, 10 fichiers FractalADL
moniteur Windows, PalmOS, WinCE 7 fichiers C++
46
Plan
Contexte et problématique Nouvelles applications distribuées Environnement hétérogène Modèle à composants – Services Techniques
Etat de l’art et positionnement Principes de base de l’adaptation des intergiciels Travaux autour de l’adaptabilité
Propositions Nouveau modèle de conception et de développement Mécanisme de gestion de l’adaptation
Conclusion et perspectives
47
Conclusion
Cadre de conception et de développement des ST conception de ST à base de composants
Fractal P1S et L2S redéfinition de l’assemblage
Mécanisme de gestion dynamique de l’adaptation prise en compte
de l’environnement d’exécution des besoins de l’application
réflexivité Contrat, Moniteur, Annuaire, Coordinateur
Prototype conception et développement
service transactionnel gros grain
service d’annuaire fin grain
service de gestion de l’adaptation faisabilité étendre les tests
nommage
courtage
Annuaire générique de composants
48
Perspectives à court terme
Assurer la continuité dans le changement de P1S composant de « contexte »
Outils pour développeur de l’application
déterminer les besoins applicatifs des services techniques
préciser la P1S aide au découpage du service
49
Perspectives à long terme
Définition QoS d’un assemblage de composants prendre en compte
composition, interactions, distribution portée du contrat niveau de contrat
syntaxique, comportemental, synchronisation, QoS
Adaptation au sein d’un service technique granularité de découpage d’un service technique
le niveau d’adaptabilité les performances
représentation dynamique d’une application ADL insuffisant besoin de suivre l’évolution dynamique
50