Institut National de Recherche en Informatique et en Automatique PowerPoint PPT Presentation

presentation player overlay
1 / 14
About This Presentation
Transcript and Presenter's Notes

Title: Institut National de Recherche en Informatique et en Automatique


1

Infrastructure pour la réplication de composants
Corba Vania Marangozova, Daniel
Hagimont Sirac INRIA Rhône-Alpes Vania.Marangozov
a_at_inrialpes.fr Daniel.Hagimont_at_inria.fr
2
Motivations
  • Composants
  • Réutilisation de logiciels
  • Configuration de propriétés non fonctionnelles
  • Réplication
  • Différentes utilisation tolérance aux pannes,
    mode déconnecté, mise en cache
  • Gestion non fonctionnelle
  • Gestion de la réplication comme une propriété non
    fonctionnelle dans un environnement à base de
    composants

3
Besoins
  • On doit permettre de configurer
  • Quoi quest ce que lon réplique
  • Cohabitation des techniques à base de RPC et de
    réplication
  • Où sur quels sites on réplique
  • Sorte de déploiement
  • Quand le moment où on réplique
  • Comment mise en uvre de la réplication
  • Capture et restauration des données sur les sites
  • Maintien de la cohérence
  • Configuration implique gestion non fonctionnelle

4
Corba Component Model (CCM) (1)
  • Modèle abstrait
  • Description des composants dans un IDL étendu
    (IDL3)
  • Notion de ports
  • facets / receptacles
  • event sources / event sinks

5
CCM IDL3
  • struct Reservation  
  • typedef sequenceltReservationgt listReservations
  • interface ManageReservations // Business
    interface
  • string addReservation(in Reservation
    reservation)
  • void removeReservation(in string
    reservationId)
  • listReservations getReservations()
  • valuetype SeminarEvt
  • public string seminarDescription
  • component Client // The client component
    type
  • attribute string name // Attribute for
    configuration
  • uses ManageReservations to_server // Used
    interface
  • consumes SeminarEvt seminar // Used
    interface
  • component Server // The server component
    type
  • attribute string name // Attribute for
    configuration
  • provides ManageReservations for_clients //
    Provided interface
  • publishes SeminarEvt seminar // Provided
    interface

6
Corba Component Model (CCM) (2)
  • Modèle de programmation
  • Définit la relation entre composant et container
  • Pour la gestion de propriétés non fonctionnelles
  • Serveurs de container inspirés de ceux de EJB
  • Modèle de déploiement
  • Programme de déploiement
  • Installation des implémentations des composants
    (code)
  • Création des instances de composants sur les
    machines
  • Interconnexions entre les composants (statiques)

7
OpenCCM (1)
  • Implantation de luniversité de Lille
  • Un composant CCM et ses ports un objet Corba
  • Code métier
  • Fonctions dintrospection
  • Fonctions dinterconnexion des ports
  • Mapping IDL3 vers IDL2
  • Fabrique un objet Corba à partir de tout ça
  • Gestion des containers très primitive

8
OpenCCM IDL2 généré
interface Client interface Server interface
ManageReservations ... // Does not
change interface Client CCMObject //
Client component void connect_to_server(in
ManageReservations connection) raises(...) Manag
eReservations disconnect_to_server()
raises(...) ManageReservations
get_connection_to_server() interface Server
CCMObject // Server component ManageReserva
tions provide_for_clients()  
9
OpenCCM programme de déploiement
//Obtain the component servers for
deployment. //Install component
archives   //Create components //sh is the Server
instance manager //ch is the Client instance
manager Server s sh.create() Client c1
ch.create()   // Configure components. s.name(Th
e Server)   // Connect client and
server. ManageReservations for_clients
s.provide_for_clients() c1.connect_to_server(for_
clients)   // Configuration completion,
launching s.configuration_complete()  
10
Choix pour linfrastructure de réplication
  • Quoi quest ce que lon réplique
  • Composants
  • Pas systématique
  • Où sur quels sites on réplique
  • Configuré dans le programme de déploiement
  • Quand le moment où on réplique
  • Au déploiement
  • Reconfiguration (redéploiement)
  • Comment mise en uvre de la réplication
  • Permettre de configurer des politiques
  • Spécifique au composants (même si non
    fonctionnel)

11
Déploiement
  • Spécifie quoi, où, quand il faut répliquer
  • Interconnecte de façon cohérente (par rapport à
    la réplication) les composants

Client
Server
Consistency link
Copie de Server
12
Gestion de la cohérence
  • Interposition pour gérer la cohérence
  • Upcalls de capture/restauration de létat

Server
Client
Consistency link
Copie de Server
13
Etat des lieux
  • Implantation dans OpenCCM
  • Pas doutils de génération
  • Protocoles réalisés
  • Entry consistency pour mise en cache (comme
    Javanaise)
  • Mode déconnecté (réplicationjournalréconciliatio
    n)
  • Applications
  • Agenda INRIA
  • Version CCM
  • Version EJB
  • Portage sur PDA
  • Application bancaire (Césure)
  • Article en cours

14
Retour
  • Intérêt dun modèle à composants comme CCM
  • Liaisons statiques (manipulables)
  • Étape du déploiement
  • OpenCCM interception au niveau des containers
  • Statique
  • Dynamique
  • Au déploiement
  • À lexécution (?)
  • Je vais me coucher !
Write a Comment
User Comments (0)
About PowerShow.com