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

Développement Web en Java Discussion :

Réalisation d'une architecture 3 tiers


Sujet :

Développement Web en Java

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 50
    Points : 70
    Points
    70
    Par défaut Réalisation d'une architecture 3 tiers
    Bonjour,

    nous devons créer une application gérant une centaine d'utilisateurs. Le besoin derrière est de faire du CRUD essentiellement.
    Nous souhaitons faire une architecture 3-tiers et nous avons déjà sélectionné extjs pour la présentation et hibernate/oracle pour la partie donnée.

    Par contre, concernant le serveur d'application, tout est à faire et mes compétences ne sont pas exceptionnelles, malgré mes jours passés sur developpez et google à essayer de comprendre certains concepts. Cela ressemble à des briques de lego, mais pas moyens de comprendre comment cela s'imbrique pour fonctionner ensemble... Enfin bref.

    Pour la partie serveur d'application je pensais à un tomcat avec une migration sur jboss en cas de problème. Pour la partie framework web, je pensais (suite à certains tutoriels pas mal) utiliser Tapestry ou Struts 2 couplé avec du spring.

    Mes questions : est-ce que ce n'est pas trop déconnant ce type d'archi ?
    Si j'ai bien compris le principe, Tapestry fournit une architecture MVC, le M étant rempli par spring/hibernate et le V étant rempli par la génération de code extjs. Est-ce que tout ne peux pas être fait dans ce cas là par spring MVC ?
    Nous nous demandons aussi si ce n'est pas surgonfler l'application. Une servlet ne suffirait-elle pas dans ce cas ? (Dans ce cas, on prendra juste Tomcat en serveur)

    Toutes indications (et remontage de bretelles parce que je n'ai rien compris) sont les bienvenues

  2. #2
    Membre expérimenté
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Points : 1 640
    Points
    1 640
    Par défaut
    Ce qu'il y a de bien en Java, c'est qu'il n'y a pas de solution unique à un problème.

    Utiliser Tapestry, Struts 2, Spring... Bref, tout peut fonctionner. Tout dépends de tes besoins.

    Si tu pars sur un projet tout neuf, sans aucun existant, alors je pense que tu devrais peut-être envisager d'utiliser Java EE 6, avec Glassfish comme serveur d'application (à ce jour et à ma connaissance, c'est le seul serveur implémentant la norme). Cela implique JPA 2 (avec Hibernate 3.5) + JSF 2 + EJB (light now !).

    Maintenant, un Tomcat avec Tapestry ou Struts 2, c'est bien aussi. Je ne connais pas ext-js, mais pour autant que je sache, c'est un bon framework de présentation.
    En premier lieu, utilisez un moteur de recherche.
    En second lieu, postez sur le forum adéquat !

  3. #3
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Tout est affaire de sensibilité et d'affinité dans les choix des composants auxquels on recourt pour édifier une application.

    Le choix de Patriarch24 est un choix parmi tant d'autres, parmi les plus canoniques (ce qui est une bonne chose). Moi je t'en donnerais un autre plus alternatif, c'est : db4o - Spring - GWT - ExtJS.

    C'est dans un contexte professionnel ou universitaire ?

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par Patriarch24 Voir le message
    utiliser Java EE 6, avec Glassfish comme serveur d'application (à ce jour et à ma connaissance, c'est le seul serveur implémentant la norme).
    Il y a aussi JEUS 7 http://us.tmaxsoft.com/jsp/product/d...enuCd=00PDMSJE


    et JBoss6 est en cours mais accessible en milestone avec une partie du support J2EE6. Mais je suis d'accord avec toi, nouveau projet, autant se baser sur les specs J2EE6, elle tiendront de fait plus longtemp que les specs J2EE 5

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 50
    Points : 70
    Points
    70
    Par défaut
    Yop,

    que des gars du sud ouest. Bande de veinard !

    c'est un projet professionnel et je travaille en binome pour l'instant avec la personne qui a trouvé ExtJs. ExtJs est un bon produit qui permet des ihms assez sympas grace au javascript mais qui pose aussi le problème du navigateur web à utiliser. Le navigateur retenu est chrome car il est vraiment très rapide. Nous allons tenter de l'imposer mais c'est loin d'être gagné...

    Pour revenir au sujet,depuis mon premier post, j'ai continué mes recherches. Il semblerait qu'il y ait des problèmes de compatibilité avec tapestry et extjs, du moins que c'était moins évident.
    En regardant en détail ce que proposait le framework spring, je me suis dit qu'au départ il vallait mieux partir sur une solution unique et faire quelques maquettes pour voir comment ça réagit.

    Donc au final, on part sur du extjs-full spring-oracle avec tomcat. J'ai encore des doutes concernant la partie DAO, doit-on partir sur du sql direct, ou hibernate/ibatis. Faut que je regarde la complexité à prendre en main des différentes solutions.

    Pourquoi une solution pareille ? En fait j'ai réfléchi sur le plan "risque industriel". L'idée est de partir sur une solution tout intégrée (par ex spring ou seam) pour éviter de galérer sur les manières de faire interragir tout le monde. Plus on multiplie les technos, plus il y a un risque. Un peu comme on fait de la cuisine, si on a de beaux ingrédients mais que l'on a pas une recette valable, ce que l'on obtient est dégueulasse. Là on va prendre une sauce bolo déjà faite... Ce sera peut-être moins bon que si cela était fait maison, mais le risque sera beaucoup moins importants (par contre si on aime pas la sauce bolo, on est mal).
    L'intêret que j'ai vu sur spring, et qui m'a été conforté par ma lecture du livre spring par la pratique, c'est que c'est un framework assez modulable avec des concepts que je trouve très simple à mettre en route avec toujours plusieurs solutions. Le ticket d'entrée est en plus pas trop cher à payer, ce qui est un énorme plus.

    Concernant les EJB, mon collègue m'a dit niet car trop difficile à mettre en route. Mais je pense que cela ne concernait que pour les anciennes versions d'EJB.

    Sinon pour info, j'ai regardé les RAD style grails et j'ai l'impression que lorsqu'une librairie de présentation est choisie, ça cohabite pas trop bien. Peut-être que quelqu'un pourrait m'en dire plus sur le sujet ?

    Petite question à Tommy31 : GWT et ExtJs ne sont pas concurrents ?

    Edit : l'élément qui a joué dans la décision est aussi la dimension de l'application, le nombre de ressource allouable, la date de fin de dev. Spring a l'air assez simple à prendre en main. Cela a été aussi déterminant dans le choix.

  6. #6
    Membre expérimenté
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Points : 1 640
    Points
    1 640
    Par défaut
    Concernant les EJB, mon collègue m'a dit niet car trop difficile à mettre en route. Mais je pense que cela ne concernait que pour les anciennes versions d'EJB.
    EJB 2.x, c'est sûr c'est complexe. EJB 3, et 3.1 maintenant, c'est du gâteau !
    +1 pour Spring, même si je répète, Java EE6 serait une bonne idée.
    En premier lieu, utilisez un moteur de recherche.
    En second lieu, postez sur le forum adéquat !

  7. #7
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 50
    Points : 70
    Points
    70
    Par défaut
    Ok je vais regarder les EJB3.

    Merci pour tous vos conseils !

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Il y avait une alternative toujours aussi sympa et dans la norme :

    JSF + RichFaces + Facelets + EJB3 + Seam + JBoss

    Personnellement, je pense que la philosophie ExtJS (donc à base de javascript intensif) est plus risquée du fait des grandes différences dans les navigateurs et du fait qu'on peut difficilement présager de leur évolutions à venir.
    De plus, pour faire du CRUD, la validation par formulaire me semble la plus cohérente.

    Comme le disais Patriarch24, les EJB3 sont un pur bonheur et d'une simplicité déconcertante... Vraiment, il faut essayer
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 50
    Points : 70
    Points
    70
    Par défaut
    Effectivement extjs présente un risque à cause du navigateur.

    Normalement nous n'aurons pas le choix du navigateur (qui est celui installé par défaut sur les machines windows) et nous allons essayer de modifier ce choix, mais ce n'est pas gagné.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Dans tous les cas, ça ne te dira pas ce que l'avenir de ce navigateur sera... donc, risqué.

    RichFaces est une bibliothèque OVER sympa, et facilement "ajaxifiable" si besoin, tu connais ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 50
    Points : 70
    Points
    70
    Par défaut
    Le contexte dans lequel évolue les machines clientes ne permet pas une modification tout les 4 matins du navigateur web. Donc sur pour un dev qui doit être fini à la fin de l'année prochaine + mco de 1 ou deux ans, il y a de fortes chances pour que le navigateur reste compatible.
    Les risques sont plutôt sur les performances de ce navigateur. Les machines clientes étant en ie v6, déjà ça passe pas, upgrade obligatoire vers v8. Mais une v8 reste quand même pourri par rapport à ce qui se fait chez ff et chrome.
    J'ai fait des benchmarks (si ça intéresse quelqu'un, j'ai fait une liste d'url) comparatifs, chrome en beta ecrase tout, ff a un peu plus de mal (v3.5) et ie c'est catastrophique (sur une v8). Donc ça veut dire que si on est coincé au niveau du navigateur, il y aura plus de boulot au niveau dev pour arriver à avoir des perfs acceptables.

    Je viens juste de faire un tour sur ce que tu as recommandé, ainsi que la recommandation de Patriarch24 sur les EJB3. Il faut que je m'enregistre sur la page d'exadel pour voir un peu ce que donne les démos pour me faire une idée des possibilités au niveau ihm de richfaces.


    En tout cas, c'est très intéressant les problématiques J2EE et les solutions disponibles.

    Ce qui manque réellement comme info disponible sur le web, enfin ce qui m'a beaucoup manqué, c'est de voir les combo possibles entre toutes les solutions qui existent (problème de compatibilité, complexité de mise en oeuvre, avantages, inconvénients, dimensionnement, cout de prise en main, ...) qui permettrait aux architectes ou développeurs J2EE de voir quels sont les solutions possibles, les solutions qui ont fait leurs preuves, la veille techno sur le sujet.

    Du coup cela permettrait de se recentrer sur les technos qui, en fonction du besoin, sont intéressantes sur le projet.

    Je ne sais pas si un tel site existe, et si oui, je n'ai pas réussi à le trouver.

    En tout cas, j'ai vu de très bon tutos sur ce site et qui m'ont beaucoup appris sur le dev, l'archi, les séquences de dialogues inter composant, ...

    3eme edit : la presentation étant figée par rapport à la hiérarchie, c'est définitivement extjs qui est retenu. Par contre je regarde richfaces pour ma culture personnelle.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par phryos Voir le message
    3eme edit : la presentation étant figée par rapport à la hiérarchie, c'est définitivement extjs qui est retenu. Par contre je regarde richfaces pour ma culture personnelle.
    Dommage...
    J'ai testé ExtJS sur un projet, ça m'a gavé... mais bonne chance...

    Pour RichFaces, ça devrait t'intéresser...
    Si tu as le temps, regarde également EJB3 couplé à Seam...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 50
    Points : 70
    Points
    70
    Par défaut
    J'avais déjà repéré seam qui m'avait paru une très bonne alternative à spring. Mais la complexité d'implémentation de extjs dans ce framework m'a fait abandonner cette solution.

    Je viens de jeter un coup d'oeil sur richfaces grâce à ce tuto : http://lmellouk.developpez.com/tutoriels/jsf/richfaces/

    C'est vrai que c'est pas mal, si j'ai bien compris, tu décris sous format xml ta page web.
    Intégration avec extjs possible, ajout d'une librairie graphique pour faire des graphes.

    Je viens de tomber sur leur site de demo : http://livedemo.exadel.com/richfaces...aram&tab=usage
    Effectivement, c'est une bonne alternative à extjs. Je vais en parler au responsable présentation histoire qu'il se fasse son idée sur la question.


    Merci beaucoup pour les infos !


    HS : j'ai vu un site qui montre assez bien les différences entre extjs et richfaces http://www.lastcombat.com/ExtJS_vs_RichFaces.html

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/09/2016, 12h46
  2. Réponses: 3
    Dernier message: 17/06/2009, 08h34
  3. Réponses: 7
    Dernier message: 25/01/2008, 10h37
  4. [N-Tier] Quand peut on parler d'une architecture 3 tiers ?
    Par pigeon11 dans le forum Autres
    Réponses: 20
    Dernier message: 24/09/2007, 09h49
  5. Réponses: 9
    Dernier message: 02/07/2007, 13h29

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