localisation de services techniques dans un modèle à composants h. grine, c. hérault, s. lecomte,...

22
Localisation de services Localisation de services techniques dans un modèle techniques dans un modèle à composants à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005 Journées Composants, le Croisic 7 avril 2005 LAMIH – ROI – SID LAMIH – ROI – SID Université de Valenciennes Université de Valenciennes [email protected] [email protected]

Upload: marcellin-lefrancois

Post on 03-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

Localisation de services Localisation de services techniques dans un modèle à techniques dans un modèle à

composantscomposants

H. GRINE, C. Hérault, S. Lecomte, T. Delot

Journées Composants, le Croisic 7 avril 2005Journées Composants, le Croisic 7 avril 2005

LAMIH – ROI – SIDLAMIH – ROI – SID

Université de ValenciennesUniversité de [email protected]@univ-valenciennes.fr

Page 2: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

PlanPlan

Contexte Objectifs Notre solution

Principe de base Architecture Fonctionnement

Conclusion et perspectives

Page 3: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

Contexte Environnement pervasif

Hétérogène (terminaux, OS, protocoles réseau …) Déconnexions fréquentes Ressources limitées Offres de services changent constamment

Page 4: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

ExempleExemple

Environnement pervasif

Développeurs

Applications

Transaction

Transaction

Sécurité

Page 5: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

Les services techniquesLes services techniques

« Une propriété non fonctionnelle peut être associée à une application sans modifier la nature du service rendu par cette application à ses utilisateurs »

Un service technique offre des propriétés non fonctionnelles Ex: persistance, transaction, nommage …

Classification Les services d’interaction : gestion de la distribution, transport

synchrone / asynchrone Les services de cycle de vie : nommage, courtage Les services d’informations : persistance, transaction,

sécurité Les services de gestion de qualité de service : tolérance aux

fautes

Page 6: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

Services techniques à base de Services techniques à base de composantscomposants

TransactionManager

TransactionManager

Service transactionnel simple

Flat

Page 7: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

Services techniques à base de Services techniques à base de composantscomposants

Compensation Data Object

Compensation Data Object

TransactionManager

TransactionManager

Compensation Manager

Compensation Manager

ONT

Service transactionnel avec modèle avancé

callback

Flat

Page 8: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

Localiser les services techniques Pourquoi ?

Nommage 1Nommage 1 Nommage 2Nommage 2

Sécurité 1Sécurité 1 Sécurité 2Sécurité 2

TMTMinterpreterinterpreter

Transaction 1

CDO tableCDO tableTMTM

CMCM

interpreterinterpreter

interpreterinterpreter

callback

Transaction 2

????

Transaction

Sécurité

????

Page 9: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

ObjectifsObjectifs

Développer un service de localisation qui permet: Ajout dynamique des services techniques Localisation des services techniques en tenant compte

de l’environnement d’exécution des critères qualitatifs du composant

Retourne le service technique le mieux adapté

Page 10: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

Les services de localisation actuelsLes services de localisation actuels

Le service de nommage : « pages blanches » retrouver des objets à partir de noms symboliques

Problème: connaître à l’avance les noms des services offerts.

Le service de courtage : « pages jaunes » retrouver des objets à partir de leurs propriétés les fournisseurs de services sont appelés

exportateurs et les consommateurs sont appelés importateurs

Problème: comparaison basée sur les interfaces

Page 11: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

Localisation de services techniquesLocalisation de services techniquesPrincipe de basePrincipe de base

La collecte et le stockage de l’information description des services techniques

fonction référence propriétés techniques et environnementales

stockage des services techniques

La recherche de services techniques description des besoins du composant applicatif

contraintes relatives aux services techniques et à l’environnement

préférences mise en correspondance et décision

décision multicritères

Page 12: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

Localisation de services techniquesLocalisation de services techniques ArchitectureArchitecture

Analyseur syntaxiqueAnalyseur syntaxique

RépartiteurRépartiteur

Outils de rechercheOutils de recherche

Service de

courtage

Service de

courtage

Service de

nommage

Service de

nommageProcesseur de requêtesProcesseur de requêtes

Service de localisation

Gestionnaire de requêtes

Service de requêtes

Service de requêtes

Service de décisionService de décision

Espace de stockage

Page 13: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

FonctionnementFonctionnementExportation d’un service techniqueExportation d’un service technique

Analyseur syntaxiqueAnalyseur syntaxique

RépartiteurRépartiteur

Outils de rechercheOutils de recherche

Service de

courtage

Service de

courtage

Service de

nommage

Service de

nommageProcesseur de requêtesProcesseur de requêtes

Service de localisation

Gestionnaire de requêtes

Service de requêtes

Service de requêtes

Service de décisionService de décision

XML

ExportEspace de stockage

<Type> <Name>Transaction_Service</Name> <ADL> <definition name="TransactionServiceType"> <interface signature=“org.objectweb.transaction.TransactionService“ role="server" name="TxSFlat"/> </definition> </ADL> <propertyType> <property value=“Flat"/> </propertyType></Type>

<Instance> <Function>Transaction_Service</Function> <URL>RMI://152.122.69.01</URL> <technicalProperties> <property name="version" relation="EQ“ value="Flat"/> </technicalProperties> <environmentProperties> <property name="memory" relation="EQ“ value="100" unit="MB"/> <property name="CPU" relation="EQ" value="100“ unit="MHz"/> </environmentProperties></Instance>

Exporter un type

Exporter une instance

Page 14: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

Outils de rechercheOutils de recherche

FonctionnementFonctionnementExportation d’un service techniqueExportation d’un service technique

Analyseur syntaxiqueAnalyseur syntaxique

RépartiteurRépartiteur

Processeur de requêtesProcesseur de requêtes

Service de localisation

Gestionnaire de requêtes

Service de requêtes

Service de requêtes

Service de décisionService de décision

Service de

courtage

Service de

courtage

Service de

nommage

Service de

nommage

XML

Export

RépartiteurRépartiteur

Gestionnaire d’exportationGestionnaire d’exportation

Gestionnaire d’importationGestionnaire d’importation

Name= Transaction_ServiceADL = <definition>…</definition>Property=Flat

Page 15: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

FonctionnementFonctionnementExportation d’un service techniqueExportation d’un service technique

Analyseur syntaxiqueAnalyseur syntaxique

RépartiteurRépartiteur

Processeur de requêtesProcesseur de requêtes

Service de localisation

Gestionnaire de requêtes

Service de requêtes

Service de requêtes

Service de décisionService de décision

Outils de rechercheOutils de recherche

Service de

courtage

Service de

courtage

Service de

nommage

Service de

nommage

XML

Export

Type_IDName

TypeInterface_IDNameRoleSignature

Interface

Template_IDNameContentControllerParent_ID

Template

TemplateProperty_IDName

Template Properties

Instance_IDNameLocalisation

Instance

InstanceProperty_IDNameRelationValueUnit

Instance Properties

Has

Extends

Has

Instantiate

Binding

Has

Page 16: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

FonctionnementFonctionnementImportation d’un service techniqueImportation d’un service technique

Analyseur syntaxiqueAnalyseur syntaxique

RépartiteurRépartiteur

Processeur de requêtesProcesseur de requêtes

Service de localisation

Gestionnaire de requêtes

Service de requêtes

Service de requêtes

Service de décisionService de décision

XML

Import

Outils de rechercheOutils de recherche

Service de

courtage

Service de

courtage

Service de

nommage

Service de

nommage

<Function>Transaction_Service</Function><propertyMatching> <Constraints> <queryInstance> <queryTechnical> <property name="version" relation="EQ" value=“Flat"/> </queryTechnical> <queryEnvironment> <property name="memory" relation="GT" value="100" unit="MB“ composition="AND"/> <property name="CPU" relation=“LT" value=“300" unit="MHz"/> </queryEnvironment></queryInstance></Constraints> <Preferences> <preferenceTechnical priority=“10"> <property name=“version" relation="EQ" value=“Flat"/> </preferenceTechnical> <preferenceEnvironment priority=“7"> <property name="memory" relation="EQ" value="150" unit="MB"/> </preferenceEnvironment><preferenceEnvironment priority=“3"> <property name=“CPU" relation="EQ" value=“200" unit="MHz"/> </preferenceEnvironment></Preferences></propertyMatching>

Page 17: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

FonctionnementFonctionnementImportation d’un service techniqueImportation d’un service technique

Analyseur syntaxiqueAnalyseur syntaxique

RépartiteurRépartiteur

Processeur de requêtesProcesseur de requêtes

Service de localisation

Gestionnaire de requêtes

Service de requêtes

Service de requêtes

Service de décisionService de décision

Outils de rechercheOutils de recherche

Service de

courtage

Service de

courtage

Service de

nommage

Service de

nommage

XML

Export

RépartiteurRépartiteur

Gestionnaire d’exportationGestionnaire d’exportation

Gestionnaire d’importationGestionnaire d’importation

•Contraintes (version= Flat and Memory>100 MB AndCPU < 300 MHz)•Préférences (version=Flat priority=10 And Memory=150 MB priority=7 And CPU=200 MHz priority=3)

Page 18: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

Outils de rechercheOutils de recherche

FonctionnementFonctionnementImportation d’un service techniqueImportation d’un service technique

Analyseur syntaxiqueAnalyseur syntaxique

RépartiteurRépartiteur

Processeur de requêtesProcesseur de requêtes

Service de localisation

Gestionnaire de requêtes

Service de requêtes

Service de requêtes

Service de décisionService de décision

Service de

courtage

Service de

courtage

Service de

nommage

Service de

nommage

Réponse

XML

Export

Service de décisionService de décision

Satisfaite

Comparaison des contraintes

stop

Non

Comparaison despréférences

Oui

Satisfaite

stop

Non Oui

Classement

Resultat

Page 19: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

ConclusionConclusion Un service pour localiser des services techniques

notion de QoS prenant en compte: les besoins du composant. l’environnement d’exécution.

Implémentation Java, Julia 2.0 description des services techniques et des requêtes en XML

Adaptabilité dynamique des services technique

Page 20: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

Adaptabilité des services techniquesAdaptabilité des services techniques

MoniteurMoniteur

ServicetechniqueService

techniqueComposantapplicatif

Composantapplicatif

ContratContrat

CoordinateurCoordinateur

Service de

localisation

Service de

localisation

consulte

consulte

référence

consulte

écritXMLXML

Page 21: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

PerspectivesPerspectives Politiques de recherches Structure de stockage en une Bd XML Adaptabilité des services de requêtes dans des

environnements mobiles

Page 22: Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005

QuestionsQuestions

??????