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

NodeJS Discussion :

[MongoDB] Architecture 3-tiers


Sujet :

NodeJS

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 9
    Points : 7
    Points
    7
    Par défaut [MongoDB] Architecture 3-tiers
    Bonjour à tous,

    J`ai un projet à faire pour mon stage : j`ai dejà realisè la decoupe d`une map .svg, qui est cliquable, avec un pop-up qui s`ouvre et des datas qui viennent d`une base de donnees mongoDB, et tout cela tourne sur un serveur node.

    Tout fonctionne à merveille, mais on m`a demande de le refaire dans une architecture 3-tiers. Mais voilà, j`ai reellement commencè la programmation il y a 2 mois et je n`ai aucune idèe de comment m`y prendre, avec le peu de de documentation qu`il y a sur le net (et 0 exemple) et livrè à moi-même.
    Je pense donc faire ainsi :

    1er tier => Présentation (HTML/CSS/JS)

    2ieme tier => Process métier (NodeJS)

    3ieme tier => Accès aux Données (mongoDB et mongoose)

    Ce qui me pose probleme, ce n`est pas la compréhension theorique, mais réellement la mise en place. Comment faire communiquer chaque couche entre elle.

    Si vous aviez un retour d`experience et quelques pistes, je serais vraiment heureux !

    Bonne journee à tous !

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 130
    Points
    9 130

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Je suis passé par socket.io pour la couche 1 <=> 2

    Merci pour votre réponse !

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    Salut, par curiosité, tu effectue un stage dans le cadre de quelle formation ?

    J'ai vu ça récemment (si tu n'es pas anglophobe), si ça peut te servir comme exemple pour commencer (en remplaçant bear par le type de donnée que tu stocke - car ça m'étonnerait que tu stocke des ours si ? )

    http://scotch.io/tutorials/javascrip...and-bear-model

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Formation ingénieur post-prépa. Mais ce n´est pas du tout mon domaine, je fais des télécoms à la base, mais accepter le node.js, c´était mon petit sacrifice pour rester á l´étranger, et au final je ne regrette pas d´apprendre à programmer, même si cela ne me passionne pas comme certains, c´est intéressant, utile et fait travailler les méninges hehe
    J´espère avoir assouvi ta curiosité


    Merci pour le lien, mais ils font ce que j´avais fait naturellement : séparer client et serveur, mais en 2-tiers, le serveur node et la connection à la database via mongoDB/mongoose se faisant sur le même fichier.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    Et bien mongodb ce sont des bases de données noSQL.
    Mongoose (par exemple) c'est une bibliothèque nodeJS (2) qui te permet d'accéder à ces db (3)

    Et au même titre que 1<=>2 est exécuté sur le client (ici 1), 2<=>3 est exécuté par le client (ici 2).

    Du coup je ne vois pas comment tu compte accéder à ta base de donnée si le programme de connexion n'est pas dans ton programme nodeJS...
    (Je te prierais de me pardonner de mon ignorance si c'est moi qui comprend mal :O)

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Oui, non, je me suis mal exprimé. Ce que je veux dire, c´est que la connection à la base de données est gérée au final par la couche 2 dans l´idée puisque la collection est selectionnée dans le controlleur.

    En gros, si je change une ligne de code : Boum !
    Y a donc aucune "scalability" si j´ai bien assimilé ce concept.

    Je devrais être capable d´avoir un CRUD (Creer, lire, mettre à jour et supprimer les infos dans la DB) côté base de données qui - si on change le model côté serveur - fonctionnerait tout de même.
    Ici, tout est interdépendant : Je change le modèle, ca saute; je change autre chose, idem.

    Il y a une séparation physique mais pas speciallement logique. Enfin, ce n´est que mon impression avec mon tout petit recul, je dis peut-être/surement de grosses bêtises.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    J´ai trouvé quelque chose de plus proche de ce qu´on me demande je pense : http://www.edave.net/2011/03/22/a-la...-using-express

    Mais alors là, c´est loin d´être à ma portée malheureusement. Mais dans l´idée, c´est ce que je disais :

    * This DAO implementation fulfills C and R of CRUD.
    * It can create and pull from any collection given a basic
    * params object.

Discussions similaires

  1. Architecture 3 tiers : quelle est la véritable nouveauté ?
    Par unix27 dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 11/03/2007, 19h21
  2. [N-Tier] Problème conception architecture 3-tiers
    Par Royd938 dans le forum Autres
    Réponses: 3
    Dernier message: 17/06/2005, 12h47
  3. [info] Architecture 3-tiers
    Par Shiryu44 dans le forum Servlets/JSP
    Réponses: 22
    Dernier message: 29/03/2005, 11h30
  4. [VB.NET] Architecture n-tiers
    Par Dnx dans le forum ASP.NET
    Réponses: 2
    Dernier message: 08/02/2005, 20h10
  5. [Design Patterns] Architecture 3 tiers
    Par HPJ dans le forum Design Patterns
    Réponses: 1
    Dernier message: 29/07/2003, 12h49

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