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

Java Discussion :

Comment implémenter une architecture 3 tiers


Sujet :

Java

  1. #1
    Membre du Club
    Inscrit en
    février 2008
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : février 2008
    Messages : 72
    Points : 43
    Points
    43
    Par défaut Comment implémenter une architecture 3 tiers
    je dois implémenter une application au sein d'une entreprise

    l'application est pour la gestion commerciale (création , modification des abonnées, facturation ...etc)

    une base de données oracle + plusieurs postes clients qui va interroger cette base via une interface swing, c'est une architecture 2 tiers non ? j'utilise l'approche SQLJ et l'IDE Netbeans + oracle 11g

    est-ce qui il est possible d'implémenter une architecture 3 tiers ? comment ? quels APIs , Frameworks utilisés ? vos propositions ? conseils ...etc

    merci d'avance ....

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    novembre 2006
    Messages
    7 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 184
    Points : 9 309
    Points
    9 309
    Billets dans le blog
    1
    Par défaut
    Oui, tu peux utiliser avantageusement une architecture 3 tiers, plus sûr.
    Pour les possibilités, j'en vois au moins 2 :

    1) une approche RMI (plus light)
    2) une approche EJB (largement plus complète)

    Tout dépend de ce que tu veux mettre en place au niveau du serveur d'application.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Inscrit en
    février 2008
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : février 2008
    Messages : 72
    Points : 43
    Points
    43
    Par défaut
    mais quelle est la différence exacte ( les avantages ) entre une architecture 3 tiers et 2 tiers lorsque j'utilise une interface swing qui va interroger la base de données directement utilisant l'approche SQLJ

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    novembre 2006
    Messages
    7 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 184
    Points : 9 309
    Points
    9 309
    Billets dans le blog
    1
    Par défaut
    Une grosse différence vient déjà du fait que ton application swing avec JDBC va contenir toute la logique métier. De ce fait, il est :
    - impossible de sécuriser le code (on peut désassembler le byte code)
    - probable que plusieurs version de code circulent

    Un avantage d'une architecture 3 tiers réside justement dans la centralisation de la couche "métier", permettant de sécuriser et de mieux gérer les versions.

    Il est vrai qu'en contre partie, tu ajoutes un intermédiaire qui pourrait, dans certains cas, ralentir l'application (dans d'autres, elle va l'accélérer)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club
    Inscrit en
    février 2008
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : février 2008
    Messages : 72
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par OButterlin Voir le message

    ..... dans certains cas, ralentir l'application (dans d'autres, elle va l'accélérer)
    comment ça ? tout dépend des technologies (APIs, Frameworks ...etc) utilisée et la façon d'écrire le code ou bien quoi ?

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    novembre 2006
    Messages
    7 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 184
    Points : 9 309
    Points
    9 309
    Billets dans le blog
    1
    Par défaut
    Il ne faut pas perdre de vue que la machine sur laquelle va tourner ton application peut être "limite" en mémoire et/ou puissance processeur ce qui peut la ralentir de manière conséquente.
    A l'inverse, si tu as un gros serveur d'application bien taillé, seul le transfert réseau des informations entre le client et son serveur va pénaliser.

    Avec les environnements "remote", il faut par contre bien réfléchir à l'architecture sous peine de plomber dramatiquement l'appli.
    Un pattern intéressant pour ça est "Façade".

    Sinon, tu as également la possibilité de passer par des procédures stockées via JDBC, très bonne performance et centralisation du code... moins portable d'une base à l'autre mais bon, ce n'est pas forcément un problème dans ton cas...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre du Club
    Inscrit en
    février 2008
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : février 2008
    Messages : 72
    Points : 43
    Points
    43
    Par défaut
    merci pour ta réponse

    autre question : si j'utilise Java normal (No APIs ou Frameworks ...etc)

    j'utilise que SWING + SQLJ et je sépare bien le code en 3 packages par exemple
    package contient les composants swing ....etc
    Est que c'est une architecture 3 tiers ??

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    novembre 2006
    Messages
    7 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 184
    Points : 9 309
    Points
    9 309
    Billets dans le blog
    1
    Par défaut
    Non, on compte un tiers pour une machine (possible).

    Dans ton cas, on a 2 tiers :
    1- le client swing avec la logique d'accès
    2- la base de données accessible à distance

    Dans une architecture 3 tiers, on a (typiquement) :
    1- le client
    2- la couche "métier" accessible à distance
    3- la base de données accessible à distance

    (ça ne veut pas dire que physiquement tu auras 3 machines, mais potentiellement, l'architecture est conçue pour)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. implémentation d'une architecture 3 tiers
    Par mahasetra dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/02/2015, 14h04
  2. Réponses: 9
    Dernier message: 02/07/2007, 13h29
  3. [VB.Net 2.0] Comment implémenter une requête Delete ?
    Par estelledany dans le forum Accès aux données
    Réponses: 4
    Dernier message: 13/07/2006, 12h39
  4. [Plug-In] Comment faire une architecture de plug-in
    Par Alec6 dans le forum Architecture
    Réponses: 5
    Dernier message: 18/04/2005, 14h37

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