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

Réseau/Web Python Discussion :

Application web stateful, possible ou pas?


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut Application web stateful, possible ou pas?
    Bonjour,
    J'ai découvert python depuis peu et il m'intéresse pour un projet client-serveur sur lequel la rapidité de développement joue un grand rôle.
    J'ai déjà vu que tout était plus ou moins OK pour la partie client, par contre pour le serveur je suis un peu moins sûr.

    En gros j'ai trois contraintes pour la partie serveur :

    1) Avoir une interface web d'administration, ça j'ai vu que c'était bon

    2) Gérer manuellement des requêtes Get/Post pour créer une sorte de webservice en JSon maison. Pour cela j'aurai besoin de quelque chose d'assez bas niveau qui ressemble à une servlet java.

    3) Pouvoir partager une structure de donnée entre les utilisateurs. Je m'explique, j'aimerai au démarrage de mon serveur pouvoir charger certaines ressources (des index spécialement) et pouvoir les utiliser librement dans chaque requête, sans être obligé de persister et recharger tout ça. C'est une chose qui se fait sur les serveurs d'applications .Net ou java mais pas en PHP par exemple.

    Si vous pouvez me renseigner sur les possibilités dont je dispose. Je suis preneur.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 790
    Par défaut
    Citation Envoyé par _skip Voir le message
    3) Pouvoir partager une structure de donnée entre les utilisateurs. Je m'explique, j'aimerai au démarrage de mon serveur pouvoir charger certaines ressources (des index spécialement) et pouvoir les utiliser librement dans chaque requête, sans être obligé de persister et recharger tout ça. C'est une chose qui se fait sur les serveurs d'applications .Net ou java mais pas en PHP par exemple.
    Plusieurs choses.
    1 - Statefull signifie a priori la possibilité de gérer un contexte "session" pour préserver l'état entre plusieurs requêtes http issues d'un même client: beaker fait cela très bien,
    2 - Ce que vous racontez est plus construction d'un cache global aux requetes utilisateurs qui permettrait d'accélérer nombre de chose, memcached fait cela aussi.

    Pylons, Django, Turbogears intègrent ces biblitohèques/frameworks et permettent de réaliser cela. Après vous pouvez aussi refaire, construire à partir des composants élémentaires ces fonctions là.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Plusieurs choses.
    1 - Statefull signifie a priori la possibilité de gérer un contexte "session" pour préserver l'état entre plusieurs requêtes http issues d'un même client: beaker fait cela très bien,
    2 - Ce que vous racontez est plus construction d'un cache global aux requetes utilisateurs qui permettrait d'accélérer nombre de chose, memcached fait cela aussi.

    Pylons, Django, Turbogears intègrent ces biblitohèques/frameworks et permettent de réaliser cela. Après vous pouvez aussi refaire, construire à partir des composants élémentaires ces fonctions là.
    - W
    Merci pour la réponse!

    En fait ce que je cherche à faire c'est un poil plus complexe qu'un cache puisque je suis censé pouvoir altérer la structure de donnée plus ou moins à chaque requête au moyen de méthodes synchronisées.

    Pour simplifier au mieux, c'est un peu une sorte de file d'attente globale dans laquelle des utilisateurs se connectent, réservent un "ticket" dans une file, s'en dégagent (ou se font éjecter), changent de place suivant les priorités etc... J'ai besoin pour cela d'une structure de données vraiment de scope application et pas quelque chose qui vit et meure simplement dans un cycle request ou quelque chose qui survit uniquement dans un contexte session utilisateur.

    Les serveurs d'application java permettent cela, par contre pas un serveur comme apache à ma connaissance.

    Après recherche, j'ai cru voir que certains serveurs comme cherryPy sont en fait des applications qui *intègrent* un web server et donc me permettraient théoriquement de faire ce que je demande.

    Je patauge un peu mais je vais essayer de creuser cette voie... Je reste ouvert à toutes suggestions.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 790
    Par défaut
    Citation Envoyé par _skip Voir le message
    J'ai besoin pour cela d'une structure de données vraiment de scope application et pas quelque chose qui vit et meure simplement dans un cycle request ou quelque chose qui survit uniquement dans un contexte session utilisateur.
    C'est ce que je range dans les "caches globaux" qui peuvent être des structures de type KV (des __dict__ en Python) avec un backing store "global".
    C'est pas parce qu'on va utiliser cela pour mettre des données en cache qu'ils sont réduit à "cacher" quoi que ce soit: on met ce qu'on veut dedans.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Août 2008
    Messages : 505
    Par défaut
    En dehors de potentiels aspects "performance", c'est quoi l'apport par rapport au stockage dans une bête base de donnée (qui aura le mérite de ne pas effacer les valeurs après avoir relancé le serveur web )?

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 790
    Par défaut
    Citation Envoyé par thierry.chich Voir le message
    En dehors de potentiels aspects "performance", c'est quoi l'apport par rapport au stockage dans une bête base de donnée (qui aura le mérite de ne pas effacer les valeurs après avoir relancé le serveur web )?
    A défaut d'utiliser des frameworks tels que Django, TurboGears ou Pylons qui proposent un contexte session et donc des fonctionnalités "similaires" à celle qu'on trouverait dans Tomcat...
    J'ai compris la question comme "comment ajouter un contexte session à un pur serveur HTTP qui est 'stateless' par essence voire comment définir un contexte 'global' à l'ensemble des sessions".

    Dans cette affaire là, il y a trois dimensions:
    - des données partagées entre différents threads/process qui pourront être intégrées de façon simple dans un programme Python - qui ne voit que des objets,
    - une éventuelle "persistance" qu'on pourra réaliser comme on veut en fonction de....
    - le mapping entre les données "persistées" et les objets "Python".

    Rien qu'un SGDB classique ne sache faire, mais bien sûr les performances seront ce qui feront préférer une mécanique à d'autre.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/05/2010, 19h00
  2. Tomcat - Application web qui ne tourne pas
    Par womannosky dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 09/03/2010, 14h30
  3. Application web qui ne tourne pas
    Par womannosky dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 09/03/2010, 14h22
  4. Réponses: 3
    Dernier message: 09/07/2008, 11h29
  5. [TOMCAT]pas d'images pour mon applications web
    Par mamiberkof dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 23/04/2006, 17h41

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