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

Web & réseau Delphi Discussion :

[SOAP SERVER] Sessions


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Par défaut [SOAP SERVER] Sessions
    Bonjour!

    j'ai plusieurs questions de principe concernant les sessions...

    Je suis sous Delphi XE (Demo pour le moment ^^ ), WinXP pro sp3.

    J'aimerais des pistes pour gérer les sessions dans un Webservice SOAP.

    Je trouve beaucoup d'informations sur le serveur DataSnap Rest server dont le mode de dialogue semble très bien se prêter à la gestion des sessions... mais qu'en est-il du serveur SOAP ?

    dois-je transiter immédiatement sur un serveur Rest pour ne pas perdre de temps par la suite ? ou puis-je simplement implémenter la gestion des sessions clients dans mon serveur SOAP ?

    j'ai un client Javascript qui gère très bien mes communications en SOAP depuis le wsdl, cela se passe-t-il d'une manière équivalente en Rest : un premier chargement du modèle avec XMLHttpRequest, puis la construction des requêtes depuis ce modèle, ou alors aucun modèle la communication se fait différemment...

    J'ai vu que Rest pouvait utiliser du JSON, très pratique pour dialoguer directement avec des objets, sans avoir à créer un XML sur le serveur, puis analyser le XML côté Javascript, et rebelote dans l'autre sens. Mais il faut quand même créer l'objet JSON donc est-ce vraiment un gain ?

    Merci d'avance pour toute piste que vous pourriez me donner, ne serais-ce sur un seul point de mon questionnement ^^

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Une Session c'est pour une application Web ISAPI, CGI ou Apache !
    Lorsque cela gère par exemple un login pour naviguer dans le site, c'est la session qui permet de mémoriser cela côté server via un identifiant unique que le client mémorise !

    un Service SOAP n'a pas de session, tu lance une requête, avec une authentification basique au besoin, en HTTP ou HTTPS, la requête est traitée, cela envoie une réponse SOAP (un XML) !
    La discussion est terminée !
    la prochaine requête doit de nouveau envoyer les identifiants !

    un JS qui utilise un SOAP, si l'on obligé pourquoi pas mais autant utiliser les nouveautés de Delphi XE qui supporte le JSON, tu auras un code plus simple en JS,

    Tu n'as pas besoin de passer par REST ou un WebService, tu peux très bien faire des requêtes AJAX directement sur le server HTTP qui te renvoie directement du JSON (Content-type: application/json)
    En faisant des simples requêtes HTTP, tu pourras avoir ta notion de session comme pour un simple site web mais au lieu de générer du HTML, cela génère du JSON, en plus cela économise les entêtes SOAP ou REST et les traitements qui vont avec !

    j'ai participé à un projet PHP5\Zend ou la communication était en JSON, en fait, cela reprenait l'archi d'un TClientDataSet, qui générait un XML, puis un XSL transformait le XML en JSON, le client JS récupérait les données et chargeaient les objets reçus en un temps record (le parsage du XML étant 5 à 10 fois plus long selon le navigateur que le parsage JSON), le code JS\AJAX étant basé sur la YahooLib
    Pourquoi XML puis JSON, tout simplement par ce qu'il y avait la volonté que ce nouveau projet puisse dialoguer avec Delphi7 soit par SOAP soit par requête HTTP direct, le XML pouvant via un petit XSL côté Delphi être remis en forme pour être supporté par le TClientDataSet (en fait le XML émis était nettement plus verbeux), et réciproquement un autre XSL pour la réponse
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Une Session c'est pour une application Web ISAPI, CGI ou Apache ! (...)
    Ok chef, effectivement ce n'est pas de Sessions (dans ce sens du terme) dont j'ai besoin.

    Oui parser du XML en javascript est chronophage... terriblement.

    J'ai besoin de conserver des informations sur les clients pour éviter de véhiculer constamment certaines informations, de plus j'ai besoin d'accéder à des données dans des bases bde donc d'avoir un répertoire par client pour stocker le .lck, et donc le retrouver à chaque demande ... je parle donc ici de 'sessions' sur le serveur. Quitte à instancier mon datamodule pour chaque utilisateur (une quinzaine d'instances maximum).

    Quel type de serveur devrais-je reprogrammer sous Delphi XE ? Application Datasnap Rest ? j'ai besoin de fournir mes propres pages html avec des css et du javascript associés...

    Merci de te pencher sur mes questions existentielles ^^

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Tu veux faire un site Web ?
    Si tu veux rester Delphi, utilise IntraWeb !
    Cela gère en plus les sessions comme n'importe qu'elle appli web !

    Sinon, il peut-être intéressant de mélanger les outils !

    Client en Yahoo-Lib (nettement mieux que IW)
    Serveur WEB (HTML, CSS et JS perso + YahooUI) en PHP sous Apache avec Delphi for PHP ou ZendStudio
    Server SOAP en Delphi XE

    Avec PHP\Yahoo tu auras la puissance de technologie web, bien plus adapté que Delphi ! Tu maitriseras mieux ton environnement et surtout les JS !

    BDE ? Pourquoi BDE ? c'est mort et enterré !
    Pour le fichiers .net, .lck et le workdir, je comprends ta problématique, bcp sur le forum se sont frottés à l'utilisation réseau (multi-client) du BDE !

    Sinon, pourquoi ne pas avoir une DB Server, c'est valable aussi bien pour juste SOAP ou tout le serveur WEB en Delphi, une table Session qui contient un numéro de session (fourni par l'objet session intraweb ou passé en paramètre du SOAP) avec son propre .lck (une sorte de client interne), dans cette table, tu stockes ce que tu as besoin qui te permet d'accèder au élément de la base utilisateur avec ses paramètres

    Je ne peux pas t'aider plus, je n'ai jamais dépassé les essais par curiosité de ces choses là, jamais de réel projet server !
    Que des Clients HTTP simple ou SOAP
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. [Web Service] Soap server PHP5 wsdl
    Par oxomichael dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 25/06/2009, 03h36
  2. Erreur Soap Server
    Par Jordel dans le forum XML/XSL et SOAP
    Réponses: 19
    Dernier message: 18/05/2009, 14h05
  3. [SOAP] Server de mailing list SYMPA
    Par jhauswir dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/03/2007, 13h36
  4. [Configuration] SOAP SERVER presence d espace en debut de reponse
    Par magnus2005 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 31/07/2006, 15h51
  5. [SOAP / PHP] Sessions et Timeout
    Par Geomaster dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 09/12/2005, 09h54

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