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

JTheque Discussion :

[Question] Interaction entre modules


Sujet :

JTheque

  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut [Question] Interaction entre modules
    Bonjour,

    j'espère que c'est le bon endroit pour poser des questions sur le projet.
    Pour info, avant de poster ici, j'ai voulu regarder la documentation, mais les liens ne semblent plus à jour.

    Je voulais savoir comment des modules pouvaient communiquer entre eux?

    J'ai trouvé deux cas de figure (il y en a certainement plus) pour lesquels ce besoin revient de manière légèrement différente:

    - un module veut en quelque sorte ajouter un service (ou "manager" dans le jargon JTheque, sauf erreur de ma part). J'entends par là qu'il offre des fonctionnalités devant être accessible facilement par les autres modules. Cela pourrait être par exemple un service de lecture audio pour jouer des effets sonores. Existe-il un moyen de s'enregistrer comme service pour être facilement accessible par les autres modules?
    - un module déclare une interface (dont il se sert) et un autre en offre une implémentation. Par exemple, le premier module peut gérer un protocole de communication entre deux instances distantes (JVM distinctes). Ce module ne gère que la logique d'échange. Les envois/réceptions de messages se font par une interface qu'il déclare pour reléguer cette partie-là à un autre module. Cet autre module doit donc se déclarer auprès du premier comme une implémentation. L'intérêt peut être de développer un module d'échange simple via RMI ou socket et un autre plus complexe qui sécurise le transport. Comment cet enregistrement peut-il se faire?

    Il y a dans les deux cas un besoin d'enregistrement. Le premier se situe plus au niveau du coeur de JThèque alors que le second se situe au niveau modulaire. Cependant, la solution peut être la même.
    Par exemple, si je sais faire le second, je peux créer un module de services auprès duquel le service de son de l'exemple 1 s'enregistrerait pour se rendre accessible au reste de l'appli.

    D'avance merci

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Bonjour,

    Oui, c'est tout à fait l'endroit pour poser les questions

    Pour ce qui est de la documentation, tu parles de quels liens ?

    Maintenant au niveau de l'interaction entre les modules, c'est possible, mais pas via le core. En fait comme les modules sont des beans spring, ils sont accessibles via le contexte Spring.

    Donc si un module veut publier un service pour les autres modules, il lui suffit de déclarer un service dans le contexte Spring et les autres modules peuvent le récupérer.

    Après c'est clair que pour une personne n'utilisant pas Spring, c'est plus difficile. Et c'est vrai qu'un gestionnaire de services permettant de publier et de consommer des services pourraient être intéressants.

    Mais tout se passe dans le même classloader, il est donc tout à fait possible à un module d'accéder de manière simple à un autre si l'autre module lui en donne la possibilité, singleton par exemple et un module peut utiliser les interfaces des autres modules sans problèmes.

    J'espère avoir répondu à ta question

  3. #3
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Je parlais des liens de la rubrique documentations de ce forum, en ce qui concerne le Core (mais il y en au moins un autre de mort).

    Tu as très bien répondu à ma question.

    En revanche, pour le singleton, je ne suis pas très chaud. J'ai plutôt une vision des modules qui s'imbriquent les uns dans les autres, ces connexions étant ouvertes (et fermées) par le coeur de l'appli (Spring ou autre). Conceptuellement, ça me gêne car un composant/module ne devrait pas être static selon moi.

    En tout cas, merci pour ta réponse rapide

  4. #4
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par Deaf Voir le message
    Je parlais des liens de la rubrique documentations de ce forum, en ce qui concerne le Core (mais il y en au moins un autre de mort).
    Erf, effectivement, ce sont les vieux PDF. La documentation est maintenant sur le wiki de Redmine. Va falloir que je change les liens, mais pour le moment Redmine est dans les choux.

    Tu as très bien répondu à ma question.

    Citation Envoyé par Deaf Voir le message
    En revanche, pour le singleton, je ne suis pas très chaud. J'ai plutôt une vision des modules qui s'imbriquent les uns dans les autres, ces connexions étant ouvertes (et fermées) par le coeur de l'appli (Spring ou autre). Conceptuellement, ça me gêne car un composant/module ne devrait pas être static selon moi.

    En tout cas, merci pour ta réponse rapide
    Il est clair que le Singleton n'est pas une bonne solution, mais je pensais à aller surtout comme solution pour les personnes n'utilisant pas Spring.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [langage] Probleme passage de variables entre modules
    Par Ludo167 dans le forum Langage
    Réponses: 4
    Dernier message: 13/08/2004, 12h25
  2. [question] difference entre informix et db2
    Par geoffrey_k dans le forum DB2
    Réponses: 4
    Dernier message: 05/07/2004, 14h11
  3. Question: Liens entre OpenGL et Internet Explorer
    Par maitre hibou dans le forum OpenGL
    Réponses: 6
    Dernier message: 03/06/2004, 13h07
  4. [Forms] : Gestion de Navigation entre module
    Par patmaba dans le forum Forms
    Réponses: 12
    Dernier message: 09/04/2004, 14h09
  5. [Designer] Problème de transfert de données entre modul
    Par BILLYPATOU dans le forum Designer
    Réponses: 11
    Dernier message: 09/03/2004, 18h15

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