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

VB.NET Discussion :

Logique Application 5-tiers et DLL


Sujet :

VB.NET

  1. #1
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut Logique Application 5-tiers et DLL
    Ola la communauté.

    J'ai une question existentiel sur l’architecture d'une application, question que Google n'a pas l'air de comprendre... Je ne suis pas très expert en architecture, donc je comprendrai qu'on me jette des pierres si je dis des âneries !


    Prenons une application 5-tiers classique :

    Côté client :
    Interface Utilisateur - Coordination

    Côté serveur :
    Service - Métier - DAL

    Bon, jusque là tout va bien.

    Si je crée une autre solution (DLL) à côté contenant une bibliothèque de classes. Je n'ai donc a priori qu'à implémenter que les couches métiers et DAL.

    Ma question est la suivante : lorsque j'importe mes DLL directement dans l'UI de la solution 1...

    Dites moi si je me trompe mais lorsque j'instancie un objet de ma dll (donc de la couche métier), il utilise sa DAL pour se charger... Mais en réalité, on ne passe plus du tout par les 5 couches... ça transforme l'appli 5 couches en 3 couches...

    Donc si je veux respecter l'architecture il faudrait... que dans mon projet de DLL, j'implémente les couches Coordination et Service, et donc en partant de ce principe, depuis l'UI de la solution 1, au lieu d'appeler la couche métier de ma dll, j'appel la couche Coordination.

    En fait même... La solution 1 n'importera que la Dll de la couche coordination, et sur le serveur il y a le reste.

    Mais il me faudra donc installer sur le serveur un WCF rien que pour ma DLL... N'est il pas ?

    Merci d'avance de vos lumières.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    à un moment faut arrêter de se masturber intellectuellement et coder, non ?

    on peut très bien faire du n tiers sans se poser la question de combien de tiers on a, tant que ca répond au besoin fonctionnel, de maintenabilité et de performance ca suffit à mon sens

  3. #3
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    D'accord avec Pol63 Il n'y a pas de réponse absolue en plus... Les bonnes questions à se poser : Layered Application Guidelines.

  4. #4
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Mais justement, si je pose la question c'est que je pourrai avoir des problèmes de performances...
    Voir d'autres problèmes : certaines fonctionnalités ne pouvant fonctionner QUE depuis un serveur

    D'où ma question... Ce n'est pas juste pour faire le BHL du VB...

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    ^^

    c'est dur de visualiser tout ca
    personnellement je code je que je modélise dans ma tête, et j'ai une idée de ce que chaque morceau implique sur les performances
    et je ne connais pas tous les termes spécifiques (dont certains que tu cites), le lazy initialization par exemple j'ai su après l'avoir codé que ca avait un nom
    donc pas simple de t'aiguiller, mais pour du traitement de données .net peut supporter pas mal de volume sur les pcs de nos jours, donc même si tu rajoutes une latence ce sera peut etre acceptable

    le mieux reste de tester, il y a le stopwatch qui permet d'avoir une idée du temps passé par morceau de code
    ou sinon revoir ta logique si dans certains cas ca ne colle pas

  6. #6
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Bon, je pense que je vais surveiller les performances et trouver des parades si besoin parce que sinon ça me paraît de toute façon un peu lourd de conserver à tout prix l'architecture...

    Et comme ça, ça se maintient beaucoup mieux.

    Merci.

  7. #7
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Et bien non, mes inquiétudes étaient fondées, puisque les PC utilisateur n'ont pas droit d'accès au serveur de BDD.

    Donc tous les projets DLL, doivent elles-mêmes respectés les 5 couches pour que tous les projets transitent par le serveur.

    Arf... J'aurai dû le voir venir.

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

Discussions similaires

  1. [Sécurité] sécurité d'accès à une application multi-tiers Java EE
    Par zerzy1982 dans le forum Java EE
    Réponses: 43
    Dernier message: 12/10/2007, 21h20
  2. Une application MDI dans une Dll..
    Par totem dans le forum MFC
    Réponses: 13
    Dernier message: 11/05/2007, 14h20
  3. Prévenir l'application cliente d'une DLL?
    Par mambo dans le forum Visual C++
    Réponses: 2
    Dernier message: 31/08/2006, 14h32
  4. Problème application multi-tier et Oracle ?
    Par bds2006 dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/06/2006, 11h58
  5. Réponses: 2
    Dernier message: 04/10/2005, 11h12

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