IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

CORBA Discussion :

Pattern Observer over CORBA ?


Sujet :

CORBA

  1. #1
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Points : 785
    Points
    785
    Par défaut Pattern Observer over CORBA ?
    Bonjour,

    Je ne sais pas si CORBA pourrait m'aider à résoudre ce problème, mais j'aimerais savoir si il serait possible de réaliser le pattern Observer avec une couche CORBA. Pensez-vous que cela soit possible ?

    Je suis entrain de lire un livre sur CORBA et je n'en suis qu'au début, par ailleurs j'ai commandé l'ouvrage "Advanced CORBA(R) Programming with C++" mais je ne devrais le recevoir que d'ici 3 à 4 semaines.

    Merci d'avance
    Nul ne peut mieux connaitre la connaissance qu'elle-même.

  2. #2
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Points : 193
    Points
    193
    Par défaut
    Pourquoi pas !

    Si tu souhaites que l'observeur et l'observé soient dans des process distincts, ça ne pose pas de problème, il suffit de définir le contrat IDL adpaté.

    A mon avis, il faut simplement être vigilant sur l'implémentation du "update()" côté Observer.
    Sémantiquement c'est une notification, on ne s'attends pas à être bloqué côté objet observé lorsqu'on l'appelle.
    Mais là on a affaire à un appel distant qui peut-être coûteux en temps, côté objet observé. Donc si plusieurs Observer sont inscrits, on aura à chaque fois le coût d'un appel distant + le temps de traitement de la méthode côté Observer (on peut même rester bloqué le temps qu'un timeout IP pète si l'Observeur n'est plus accessible).

    En fonction des contraintes de ton appli tu pourras:
    - ne rien faire de spécial, si tu n'as pas de contraintes spéciales,
    - implémenter une vraie notification afin de rendre rapidement la main côté objet observé.
    Ex: ajouter un traitement asynchrone côté serveur ou client (voir AMI CORBA, en fonction de ton ORB, ou bien se faire ça à la main en passant la main à un autre thread lors du "update()").

    Dans la documentation de Ice (middleware CORBA-like), il y a un bon chapitre sur l'invocation de méthode asynchrone, les appels bloquants/non bloquants, depuis le client ou dans le serveur.
    Voir aussi chez TAO, ils maîtrisent aussi tous ces cas de figures, cet ORB ayant une vocation "temps réel".

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Points : 785
    Points
    785
    Par défaut
    Merci beaucoup,

    Je réfléchirai avec attention à ce que tu viens de me dire.

    Par contre, j'ai lû que la version 3.0 de CORBA contenait du MOM comme JMS, qu'en penses-tu ?
    Je réitère que je découvre ce domaine.
    Nul ne peut mieux connaitre la connaissance qu'elle-même.

  4. #4
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Points : 193
    Points
    193
    Par défaut
    Je connais peu CCM mais parlons-en !

    Il me semble que CCM exploite le service de notification existant avant CORBA 3.0.
    Ce service est effectivement une API vers un MOM comparable à JMS :
    - échanges de messages (notifications)
    - livraison garantie
    - files d'attentes, abonnements à des topics...
    CCM définit un moyen standard de connecter le service de notification aux composants CCM.
    On peut utiliser le service de notification hors CCM évidemment.
    Comme c'est un service délicat à implémenter (il implique une réelle "qualité de service"), tous les ORB ne l'offrent pas.

    Pour un pattern "Observer", utiliser ce service est pertinent, ça résoud le problème de blocage du client.

    Maintenant je n'ai pas d'avis sur CCM en soi, mis à part qu'il ne me semble pas qu'il existe d'impléméntation "industrielle".

  5. #5
    Membre averti
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 219
    Points : 302
    Points
    302
    Par défaut
    A propos du CCM, attention:
    La spec ne dit pas que le Notification Service doit être utilisé.
    Elle dit juste que les interfaces du component event model peuvent être mappées sur un sous-ensemble du Notification Service.

    De fait, beaucoup des implémentations CCM actuelles n'utilisent pas le Notification Service, mais l'Event Service.
    L'Event Service est plus "basique": pas de filtrage, best-effort ...

Discussions similaires

  1. Design pattern Observer
    Par aicfr dans le forum Logging
    Réponses: 1
    Dernier message: 07/11/2007, 00h14
  2. [Conception] Design Pattern Observer Java
    Par jeb001 dans le forum Général Java
    Réponses: 4
    Dernier message: 03/05/2007, 00h43
  3. Réponses: 2
    Dernier message: 24/08/2006, 23h39
  4. [Observateur] Précisions sur le design pattern Observer [UML]
    Par joquetino dans le forum Design Patterns
    Réponses: 2
    Dernier message: 07/10/2004, 23h35
  5. Interfaces, Pattern Observer
    Par IProg dans le forum Langage
    Réponses: 8
    Dernier message: 18/12/2003, 15h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo