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

Services Web Discussion :

SOA en loadbalancing


Sujet :

Services Web

  1. #1
    CUCARACHA
    Invité(e)
    Par défaut SOA en loadbalancing
    Salut,

    Je travaille actuellement sur une SOA qui sera déployée dans une batterie de serveurs. Cette application est destinée à recueillir et traiter des données à caractère médical, d'où l'architecture un peu compliquée.

    Il y a 4 types de serveurs:

    • 1 serveur de base de données (DMZ2)

    • 2 serveurs de webservices (DMZ2)


    • 1 serveur pour les requêtes webservices public

    • 1 serveur pour les frontaux web
    • 3 serveurs frontaux (DMZ1)


    • 1 serveur pour relayer les requêtes webservices vers la DMZ2

    • 2 serveur pour les frontaux web

    Sachant que l'on fournira 2 types d'accès Web via une interface que nous avons créé ou webservice pour nos "gros" clients, et que seules les informations confidentielles sont dans le serveur de bases de données, les informations relatives au contenus (CMS) sont stockées localement sur les frontaux web, ma question est la suivante :

    Lorsqu'une communication est établie entre un navigateur et un frontal web, est-ce que le loadbalancer est capable d'identifier la connexion et de systématiquement rediriger tous les applels en provenance de ce client vers le même frontal web afin que ce dernier fasse de même vers le serveur de webservice ou est-ce aléatoire, auquel cas, il est nécessaire de concevoir différemment une partie de la persistance ?

    D'avance merci pour votre aide,

    Laurent

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    La navigation est un mode déconnecté par essence. Rien ne dit que les requêtes subséquentes arriveront sur le même serveur.
    Je ne vois pas non plus comment tu peux avoir ce genre de problèmes pour ta persistence. Les "frontaux" partagent les mêmes sessions utilisateurs, à moins que tu ne les aies mal configuré.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    CUCARACHA
    Invité(e)
    Par défaut Phase de conception
    Salut,

    Merci pour ta réponse. Je suis en phase de conception. Je pars d'un existant monoserveur et je dois migrer vers une architecture multiserveurs.

    En fait, tu as répondu à ma question car je ne savais pas que les serveur avaient la possibilité de partager les sessions utilisateur. Reste à savoir comment ça se configure.

    Pour les frontaux web, personnellement, je préfère ne pas utiliser de variable de session. J'utilise une autre méthode qui conserve ces variables sur le client afin de pouvoir y accéder via javascript.

    Pour les webservices public, c'est différent car je ne sais pas si leur utilisation implique celle de variables de session. Idem, dans la mesure du possible, je préfère éviter.

    Bonne journée

    Laurent

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Par défaut
    Citation Envoyé par Laurent Jordi Voir le message
    En fait, tu as répondu à ma question car je ne savais pas que les serveur avaient la possibilité de partager les sessions utilisateur. Reste à savoir comment ça se configure.
    Assez simplement je crois. Il faut juste déterminer l'un des serveurs comme point central de gestion des sessions.

    Citation Envoyé par Laurent Jordi Voir le message
    J'utilise une autre méthode qui conserve ces variables sur le client afin de pouvoir y accéder via javascript.
    Cookie ? QueryString ?

    Attention quand même au niveau de la sécurité...

  5. #5
    CUCARACHA
    Invité(e)
    Par défaut Champs cachés
    Reuu,

    En fait j'ai deux familles de données.
    • La première englobe tous les éléments de type contenu. Ces éléments ne sont pas confidentiels.
    • La seconde sont les éléments permettant d'identifier le client, ces éléments sont cryptés, ils m'évitent d'avoir à repasser dans ma série de couches qui permettent de recharger tous les objets nécessaires au fonctionnement des pages.


    Les données confidentielles sont transmises à chaque demande, elles ne sont stockées sur le client que sous la forme de pages HTML. Les données sont affichées dans une IFrame afin d'éviter de transporter sur la même page les informations nominatives et les informations qualificatives.

    N'hésite pas à me suggérer des idées si cette description t'en inspire. Concernant l'utilisation des IFrame (No Trolling out of scope).

    Merci encore pour ton aide,

    Laurent
    Dernière modification par CUCARACHA ; 21/09/2007 à 09h23.

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Par défaut
    Citation Envoyé par Laurent Jordi Voir le message
    Les données confidentielles sont transmise à chaque demande, elles ne sont stockées sur le client que sous la forme de pages HTML. Les données sont affichées dans une IFrame afin d'éviter de transporter sur la même page les informations nominatives et les informations qualificatives.
    Je n'ai pas une vision d'ensemble suffisante pour te proposer une alternative, mais d'instinct, cette solution à base d'iframes ne m'inspire qu'une confiance limitée; les possibilités de "bidouilles" sur le client avant un retour au serveur me paraissent trop importantes.

    D'autre part, et sans partir dans du troll, n'oublie pas que les iframes ne sont pas supportées par tout les navigateurs...Est-ce que tu as une maîtrise à 100% des clients ? Aucun risque que certains accèdent à l'application avec Safari ou autre ?

  7. #7
    CUCARACHA
    Invité(e)
    Par défaut Safari supporte très bien les IFrames
    Salut,

    Safari supporte très bien les IFrames comme Opera, Firefox, Netscape (Qui n'est que FF et IE) et Internet Explorer.

    Concernant les "bidouilles" c'est blindé. Les requetes en provenance du client sont accompagnées d'une hashkey, la moindre modification dans une des variables bloquerait automatiquement le processus de transmission. Si le "bidouilleur" arrive à pirater ce processus, il n'obtiendrait que des séries de chiffres innexploitables puisque non rattachées à des personnes.

    ++

    Laurent

  8. #8
    Membre émérite

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Par défaut
    Dans ce cas, quelle est l'utilité de l'iframe ?

    Pourquoi ne pas simplement utiliser des champs cachés dans la page ?

  9. #9
    CUCARACHA
    Invité(e)
    Par défaut CMS
    Re,

    La construction des pages est faite par un CMS. Toute la couche de présentation, à l'exeption de la présentation des données confidentielle, est construite par cet outil.

    Les éléments confidentiels sont issus d'une "brique logicielle" équivalent d'un webpart en plus puissant (accepte des pages de toutes origines technologiques et sont intégrées soit sous la forme de composants web personnalisés soit sous la forme de pages affichées dans des frames ou des iframes.

    La page qui contient l'IFrame indique certaines informations nominatives, Nom, Prénom, adresse, n° de tel etc... Je ne veux pas que ces informations soient transmises dans la même page que celle qui contient les données médicales. D'ailleurs c'est limite illégal.

    Je pourrais aussi n'afficher que les informations médicales sans mettre les informations nominatives et séparer les deux interfaces mais c'est simplement moins ergonomique.

    Je crois que nous nous éloignons du sujet initial qui est de gérer les flux d'informations entre les différentes couches physiques de l'application et non celles qui sont affichées sur le poste "individuel" du client.

    Les informations qui doivent absolument rester confidentielles sont celles sont mises à la disposition de nos clients institutionnels via les webservices.

    Bien à toi

    Laurent

Discussions similaires

  1. Serveurs loadbalancé, mise à jour des fichiers
    Par glsn dans le forum Apache
    Réponses: 1
    Dernier message: 14/05/2007, 16h07
  2. Gestion des sessions avec 2 serveurs et 1 loadbalancer
    Par scorpia dans le forum Langage
    Réponses: 4
    Dernier message: 19/02/2007, 09h56

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