Composition dynamique dans WComp : les modèles LCA et SLCA



Documents pareils
Alfstore workflow framework Spécification technique

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Composants Logiciels. Le modèle de composant de CORBA. Plan

Création d objet imbriqué sous PowerShell.

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Arbres binaires de recherche

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

TP1 : Initiation à Java et Eclipse

Programmation par composants (1/3) Programmation par composants (2/3)

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Programmation avec des objets : Cours 7. Menu du jour

Chapitre VI- La validation de la composition.

Java Licence Professionnelle CISII,

Rafraichissement conditionné d'une page en.net

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

IRL : Simulation distribuée pour les systèmes embarqués

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Développement Logiciel

Guide d installation de ArcGIS server 9.3.1

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Le hub d entreprise est une application de déploiement des applications mais aussi un outil de communication

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Auto-évaluation Programmation en Java

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

TrustedBird, un client de messagerie de confiance

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Une introduction à la technologie EJB (2/3)

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

Serveur d'archivage 2007 Installation et utilisation de la BD exist

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT

Une introduction à Java

as Architecture des Systèmes d Information

Architecture Orientée Service, JSON et API REST

Hébergement et configuration de services WCF. Version 1.0

Premiers Pas en Programmation Objet : les Classes et les Objets

Paginer les données côté serveur, mettre en cache côté client

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Introduction à la Programmation Parallèle: MPI

Les processus métiers : concepts, modèles et systèmes

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy

OpenPaaS Le réseau social d'entreprise

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2014

Corrigés des premiers exercices sur les classes

Cours de Génie Logiciel

DG-ADAJ: Une plateforme Desktop Grid

INFO-F-105 Language de programmation I Séance VI

Acquisitions et Modélisations pour la Gestion des Contextes

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

et Programmation Objet

TD3: tableaux avancées, première classe et chaînes

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

RMI le langage Java XII-1 JMF

Bases Java - Eclipse / Netbeans

Plan du cours. Historique du langage Nouveautés de Java 7

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Université de Bangui. Modélisons en UML

Génie Logiciel I. Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string

Projet de programmation (IK3) : TP n 1 Correction

Rapport de Mini-Projet en ArcGIS Engine


Classes et Objets en Ocaml.

Programmation Par Objets

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

Programmation en Java IUT GEII (MC-II1) 1

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Dans l'article précédent, vous avez appris

Héritage presque multiple en Java (1/2)

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

Le MSMQ. Version 1.0. Pierre-Franck Chauvet

Dis papa, c est quoi un bus logiciel réparti?

Chapitre 2. Classes et objets

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

ADO.NET. Ado.net propose deux modes d'accès, le mode connecté et le mode déconnecté.

Généralités sur le Langage Java et éléments syntaxiques.

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Architectures Web Services RESTful

30.avr.10 Présentation miniprojet. 9.mars.10 Cours 3 4.mai.10 Cours C mars.10 Cours 4 11.mai.10 Cours C++ 2

Machines virtuelles fonctionnelles (suite) Compilation ML Java

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Programmer en JAVA. par Tama

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Approche Contract First

Introduction aux composants logiciels : JavaBeans Master des Technologies de l'internet

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG

Plan Pédagogique du cours

Utilisation d objets : String et ArrayList

Transcription:

Composition dynamique dans WComp : les modèles LCA et SLCA Jean-Yves Tigli, Stéphane Lavirotte, Gaëtan Rey Equipe Rainbow, Laboratoire I3S, UMR CNRS 6070, Université de Nice Sophia Antipolis, Email : <name>@unice.fr Web : http://rainbow.i3s.unice.fr/~tigli/doku/doku.php?id=seminaire_wcomp_2009

Modèle LCA LCA : Lightweight Components Architecture 1. L Application est un Assemblage de Composants légers 2. Composition par flots d'événements 3. Pas de distribution a priori (distribution obligatoirement explicite) 2 / 58

Des composant léger BeanWComp Composant BeanWComp méthodes Evénement Get /Set propriétés Liaison Event simple --- Event Complexe --- 3 / 58

Exemple de BeanWComp.Net Evénements using System; using System.ComponentModel; using WComp.Beans; namespace Bean4 { /// <summary> /// Description rsume de Class1. /// </summary> [Bean] public class Class1 { Attribut Personnalisé // delegate implicite de void EventHandler(object sender, EventArgs e) public event EventHandler MyEvent; // graphiquement ce qui sera fait : // MyEvent += new EventHandler(func) // avec private void func(object sender, EventArgs e) Evénement 4 / 58

Exemple de BeanWComp.Net Propriétés // Nom de la propriété avec minuscule // variable de sauvegarde propriété Attribut Personnalisé protected int myprop = 1; //meta donnée : valeur par défaut propriété [DefaultValue(1)] // déclaration propriété : public <type> Nom public int Myprop { get { return myprop; } Propriété } set { } if (myprop < 1) { throw new ArgumentException("positif!"); } // mot clef value myprop = value; 5 / 58

Exemple de BeanWComp.Net Méthodes // méthodes } public void MyStep(int val1, int val2) { if (myprop >= max) { myprop=1; MyEvent(this, null); } else myprop++; 6 / 58

Modèles de connecteurs : Event et Event Complexe Connecteur Event Simple C1.Event (param) => C2.Methode (param) Connecteur Event Complexe C1.Event (param) => C2.Methode (C1.GetProp()) 7 / 58

Des Composants Proxy (pour UPnP et WebServices) Exemple Light UPnP GetLoadLevelStatus ^LoadLevelStatus GetMinLevel ^LoadLevelTarget DimmingService SwitchPower BinaryLight uuid location SetLoadLeelTarget GetStatus SetTarget BinaryLight ^MinLevel ^Status ^Target Service et Device UPnP Composant Proxy 8 / 58

En résumé : Le Modèle LCA 9 / 58

Mise en œuvre LCA pour la Composition Dynamique Locale de Services pour Dispositifs Services et Services Pour Dispositifs Infrastructure de Dispositifs Environement 10 / 58

Les premiers Designers Designer visuel (modification graphique de l'assemblage de composant) Designer de code statique (projection) Représentation graphique de l assemblage Designer graphique (modification du rendu graphique) 11 / 58

Outils : Over Sharpdevelop (Addon) SharpDevelop (SD) est un IDE basé sur la plate-forme.net (2) qui offre un environnement de développement de qualité et libre comparable à VisualStudio Licence GPL http://sharpdevelop.net/opensource/sd/ 12 / 58

Modèle SLCA : Encapsulation d'un Container dans un Service UPnP (dit Service Composite) Interfaces De Contrôle Fonctionnelle Interface de Contrôle Interface Fonctionnelle Contain Composants Proxy Composants Sondes Vers l interface fonctionnelle 13 / 58

3.4 Interface de Contrôle du services composite CheckBeanProperties CheckBeanPropertyValue CheckBeans CheckBeanType CheckBeanTypes CheckEvents CheckLinkedBeansFrom CheckLinkedBeansTo CheckLinks CheckLinksFrom CheckLinksTo CheckMethods CreateBean CreateLink CreateNamedBean LoadType RemoveBean RemoveLink SetBeanPropertyValue UnloadType Donne la liste des noms et des types de propriétés pour un type de composants (prend actuellement un nom d'instance à la place) Donne la valeur et le type d'une propriété d'une instance, sérialisé au format XML Donne la liste des instances de l'assemblage Donne le type de composant d'une instance Donne la liste des types de composants chargés dans le container Donne la liste des événements de l'interface d'un type de composants (prend actuellement un nom d'instance à la place) Donne la liste des noms des instances qui sont à la source d'une liaison en commun avec l'argument Donne la liste des noms des instances qui sont à la destination d'une liaison en commun avec l'argument Donne la liste des liaisons de l'assemblage Donne les noms des liaisons qui partent du composant dont le nom est donné en argument Donne les noms des liaisons qui arrivent au composant dont le nom est donné en argument Donne la liste des méthodes de l'interface d'un type de composants (prend actuellement un nom d'instance à la place) Crée une instance de composant Crée une liaison entre deux composants Crée une instance de composant, et on peut en spécifier le nom Charge un type de composants dans le container Supprime une instance de composants de l'assemblage Supprime une liaison de l'assemblage Modifie la valeur d'une propriété d'une instance, sérialisé au format XML Décharge un type de composants dans le container (if ever...) 14 / 58

Interface Fonctionnelle Interface Fonctionnelle vide a priori Construite par Import / Export de flots d événements Introduction des Composants Sondes Composant Puits (d événement) Emet un événement dans l assemblage CP.e(param) sur appel d une méthode de l interface UPnP S.m(param) Composant Source (d événement) Emet un événement de l interface UPnP S.e(param) sur réception d un événement CS.recep_e(param) 15 / 58

En résumé : le modèle SLCA Modèle LCA Modèle UPnP 16 / 58

Mise en œuvre Compositions Dynamique Distribuées de Services pour Dispositifs Graphe de Services de l'infrastructure et de Services Composites Les Designers peuvent donc être des Service connecté à l'interface de Contrôle Infrastructure de Dispositifs Environement Services et Applications Services Composites Services de l Infrastructure 17 / 58

Mise en œuvre de WComp http://rainbow.i3s.unice.fr/~tigli/cours/wcomp/p DF/TP Composition dans WComp.pdf