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

Langage Java Discussion :

[RMI]Gestion des objets sur le serveur?


Sujet :

Langage Java

  1. #1
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut [RMI]Gestion des objets sur le serveur?
    Hello,

    Je cherche une précision sur la sémantique du traitement des objets accessible à distance via RMI.

    Lorsque plusieurs clients utilisent un même objet distant via RMI.
    L'objet manipulé sur le serveur est il le même pour tout les clients ou alors chaque client manipule une instance de celui-ci.

    exemple illlustratif :

    L'objet A est enregistré et disponible sur mon serveur rmi.
    Cette objet A à une méthode f().

    J'ai trois clients qui veulent utiliser simultanément la méthode f() de mon objet distant A.

    Comment le serveur RMI va t il traiter ces trois appels?
    Est ce qu'il va créer un instance de l'objet A par invocation, ou alors utiliser la même instance dans 3 threads différents.. ou alors ordonnancer les appels et les exécuter les uns après les autres?

    Je vous remercie par avance pour votre aide,

  2. #2
    Membre actif Avatar de coco62
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 237
    Points : 278
    Points
    278
    Par défaut
    Un ensemble de Thread est crée.
    On n'a par contre pas d'assurance d'être sur le même Thread entre plusieurs appel.
    On peut faire le parallèle avec des EJB session stateless.

  3. #3
    Membre actif Avatar de je®ome
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Points : 225
    Points
    225
    Par défaut
    ooouupppss
    j'ai rien dit

  4. #4
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Citation Envoyé par f273345
    Un ensemble de Thread est crée.
    On n'a par contre pas d'assurance d'être sur le même Thread entre plusieurs appel.
    On peut faire le parallèle avec des EJB session stateless.
    Hello,

    Merci de ta réponse,

    Donc si je comprend bien, un thread est créé pour chaque client.

    Alors la synchronisation concerne uniquement les méthodes partageant des ressources communes. Si la portée des objets distants se limite à eux mêmes alors plusieurs clients peuvent manipuler le même objet distant en même temps. Pour comparer on pourrait prendre le modèle des servlets... est ce correcte?

    Merci d'avance,

  5. #5
    Membre actif Avatar de coco62
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 237
    Points : 278
    Points
    278
    Par défaut
    Non, un pool de Thread est crée, il ne sont pas lié aux clients.
    Pour la comparaison avec les servlet : OK.
    - partage de données sur l'instance d'objet
    - Thread non affacté à un client

  6. #6
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Ok, Donc au moment du démarrage du serveur rmi, celui ci créé un pool de X thread(s).

    Chaque appel client est traité dans un des threads contenu dans ce pool.
    Chaque thread obtient une référence sur cet objet et traite la requête cliente.

    Donc pour résumer, les appels clients peuvent être traité parallèlement (charcun dans un thread différent).

    Ok?

    En tout merci de ton aide!

    Remarque: Quand je parle de parallélisme, c'est juste pour l'idée cela reste théorique car il n'y a pas de vrai parallélisme avec les threads ( à moins d'avoir plusieurs processeurs sur la machine).. enfin c'est un autre débat...

  7. #7
    Membre actif Avatar de coco62
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 237
    Points : 278
    Points
    278
    Par défaut
    Tout bon.

    Tu peux aussi regarder java.rmi.activation.Activable, je n'ai jamais essayé mais cela offre apparement d'autre possibilitée au niveau gestion du cycle de vie ..
    Je me demande si cette implementation ne crée pas un objet par client.

    à creuser si le besoin s'en fait sentir.

  8. #8
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Merci beaucoup pour ton aide !

    Je vais jeter un coup d'oeil sur java.rmi.activation.Activable.

  9. #9
    Membre actif Avatar de coco62
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 237
    Points : 278
    Points
    278

  10. #10
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Thanks !

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

Discussions similaires

  1. gestion des évènements sur objets dynamiques
    Par boss_gama dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/03/2009, 11h50
  2. [rmi] création d'objet sur le serveur
    Par Fennec. dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 10/12/2008, 20h48
  3. Gestion des fichiers sur le serveur
    Par reeda dans le forum Autres composants
    Réponses: 13
    Dernier message: 02/12/2008, 10h53
  4. Question sur la gestion des objets métier
    Par viddak dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 24/11/2008, 07h06
  5. Réponses: 2
    Dernier message: 06/06/2007, 22h04

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