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 :

[Débutant] Pourquoi java? quel projet?


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut [Débutant] Pourquoi java? quel projet?
    Bonjour,
    Je dois motiver le choix de la technologie Java et en plus de ca je dois proposer un projet, pas gagné quoi.
    Je suis dans une boite qui fait surtout du php et un peu d'asp.
    Ils veulent me mettre sur du java, que je m'y forme pour ensuite developper un projet, le probleme est que personne n'y connait rien, donc totale autonomie.
    Je ne sais pas quoi leur proposer et surtout comment justifier mon choix, alors si vous avez des idees, merci.
    Je connais les grandes bases mais de loin, genre j'aimerais faire dans un premier temps un truc Swing, puis bosser sur du Web avec les frameworks du marché tel Struts et Hibernate pour la persistance, mais avant de me plonger dedans, il faut que je leur dise ce que je leur proposerai a la fin, donc pas gagné...

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Je trouve ton message assez contradictoire:

    - tu dis que java t'est imposée par ta boite
    - tu dois motiver le choix de la technologie

    Si java est effectivement imposée par ta hiérarchie, je ne vois pas ce que tu as à justifier...

    Par contre, si tu es libre de choisir les Frameworks que tu veux, là il y a effectivement matière à justifier. Mais les arguments ne manquent pas.

    Ces Framework ont atteind un niveau de maturité qui fait qu'ils sont utilisés pour développer des applications qui ont pourtant un haut niveau d'exigences (sécurité, performance...), dans les domaines bancaires, financiers...

    Ils permettent un développement propre (encore que ça dépend de ce que les gens font avec...), puisque ces Frameworks implémentent les "bonnes pratiques de codage" en java.

    Ils permettent un développement rapide, car ils implémentent de nombreux outils d'aide au développement: les "tags" de Struts dans les pages jsp par exemple

    etc.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par CyberChouan
    Je trouve ton message assez contradictoire:

    - tu dis que java t'est imposée par ta boite
    - tu dois motiver le choix de la technologie

    Si java est effectivement imposée par ta hiérarchie, je ne vois pas ce que tu as à justifier...

    Par contre, si tu es libre de choisir les Frameworks que tu veux, là il y a effectivement matière à justifier. Mais les arguments ne manquent pas.

    Ces Framework ont atteind un niveau de maturité qui fait qu'ils sont utilisés pour développer des applications qui ont pourtant un haut niveau d'exigences (sécurité, performance...), dans les domaines bancaires, financiers...

    Ils permettent un développement propre (encore que ça dépend de ce que les gens font avec...), puisque ces Frameworks implémentent les "bonnes pratiques de codage" en java.

    Ils permettent un développement rapide, car ils implémentent de nombreux outils d'aide au développement: les "tags" de Struts dans les pages jsp par exemple

    etc.
    En fait si tu veux, la boite voudrait dans l'avenir faire un peu plus de java, le boss entend depuis tout ce temps tout plein de belles choses sur ce langage et donc forcement voudrait s'y mettre, mais avant il voudrait qu'on lui prouve que c'est interessant.
    Donc a bibi de lui fournir un projet qui allierait les differents points soulever.
    A mon sens la boite est un peu petite pour du java mais je vais quand meme essayer de trouver un truc, mais le probleme est que je sais pas trop quoi...

  4. #4
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    salut,
    un des avantages de JAVA est la JVM (JAVA Virtual Machine). c'est l'une des particularité de JAVA. au contraire des autres langages qui sont compilés par les systèmes d'exploitation ,ce qui les rends non portable donc tu doit implimenter des versions différentes pour chaque systèmes d'exploitation, java est compilé et éxécuté par la jvm ce qui rend les programmes écrits en JAVA portable sur tous les systèmes d'exploitation.
    (je crois que cette technique a ètait adopté en .net je ne suis pas sûr).

  5. #5
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Citation Envoyé par mehdiing
    salut,
    un des avantages de JAVA est la JVM (JAVA Virtual Machine). c'est l'une des particularité de JAVA. au contraire des autres langages qui sont compilés par les systèmes d'exploitation ,ce qui les rends non portable donc tu doit implimenter des versions différentes pour chaque systèmes d'exploitation, java est compilé et éxécuté par la jvm ce qui rend les programmes écrits en JAVA portable sur tous les systèmes d'exploitation.
    (je crois que cette technique a ètait adopté en .net je ne suis pas sûr).
    Dans la mesure où la boite est spécialisée dans le PHP/ASP, je suppose qu'il s'agit d'utiliser java pour développer des applications web sur un serveur d'application. Donc à ce niveau, le fait que le langage soit interprêté par une machine virtuelle et non compilé importe peu...

    A mon avis, le gros avantage des Frameworks java de développement d'applications web est qu'ils implémentent naturellement le modèle MVC. De plus, l'application est très clairement séparée en "couches" (applications 3-tiers), ce qui donne un code propre et maintenable, où chacun peut travailler sur sa partie dédiée (avec un Framework correspondant):
    - Hibernate => persistance
    - Struts => présentation
    - etc.

    En PHP, la plupart du temps (même si c'est possible), l'utilisation du modèle MVC, ou la séparation des couches de l'application sont beaucoup moins évidents. L'application est donc moins facile à maintenir.

    Apart ça, les performances d'un serveur Apache + PHP et celles d'un serveur d'application n'ont rien à voir.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par CyberChouan
    Dans la mesure où la boite est spécialisée dans le PHP/ASP, je suppose qu'il s'agit d'utiliser java pour développer des applications web sur un serveur d'application. Donc à ce niveau, le fait que le langage soit interprêté par une machine virtuelle et non compilé importe peu...

    A mon avis, le gros avantage des Frameworks java de développement d'applications web est qu'ils implémentent naturellement le modèle MVC. De plus, l'application est très clairement séparée en "couches" (applications 3-tiers), ce qui donne un code propre et maintenable, où chacun peut travailler sur sa partie dédiée (avec un Framework correspondant):
    - Hibernate => persistance
    - Struts => présentation
    - etc.
    En PHP, la plupart du temps (même si c'est possible), l'utilisation du modèle MVC, ou la séparation des couches de l'application sont beaucoup moins évidents. L'application est donc moins facile à maintenir.
    Je lies beaucoup de choses sur les framewoks, j ai cru que celui qui s'imposait sur le marche etait Struts, mais a priori on parle beaucoup de Spring, quelle est la difference?

    Citation Envoyé par CyberChouan
    Apart ça, les performances d'un serveur Apache + PHP et celles d'un serveur d'application n'ont rien à voir.
    Merci, tu peux developper stp.

  7. #7
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Spring et Struts n'ont pas du tout le même rôle. D'ailleurs il est possible (pour ne pas dire courant) d'utiliser les deux Frameworks en même temps:

    - Struts aide à la programmation de la couche de présentation
    - Spring lui fait de l'injection de dépendances en utilisant le Pattern IOC (Inversion Of Control): tu as plein de documentations là-dessus dans les tutoriaux. Il fournit des outils pour développer la partie métier de ton application (en gardant les données sur la session courante par exemple)

    Un serveur d'application est beaucoup plus performant qu'un serveur Apache + PHP (mais aussi bien plus lourd à mettre en place)...

  8. #8
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    salut,
    maintenant en s'oriente vers JSF qui est faite pour remplacer STRUTS.

  9. #9
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Pour le coup des perfos, je suis vraiment loin d'être convaincu...
    Si j'avais à justifier les choix de Java, j'essayerais effectivement de pousser plusieurs choses :
    - Architecture modulaire et propre : peut se démontrer en changeant de base de données et deux minutes, en faisant un client Swing Webstart et un site web, etc ...
    - Des frameworks intéressants et matures : Hibernate est certainement celui qui est le plus "flashy" en la matière... Justifier que plus besoin de connaître les bases de données, le sql etc ... (même si ce n'est que très partiellement vrai)
    - Une documentation normalisée, donc une maintenance plus aisée
    - Des règles de développement pour la maintenance et des outils pour les vérifier
    - Des outils pour tracer les performances et optimiser si besoin est

    Voilà les quelques pistes qui me viennent à l'esprit ...

  10. #10
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Citation Envoyé par mehdiing
    salut,
    maintenant en s'oriente vers JSF qui est faite pour remplacer STRUTS.
    En ce qui concerne ma connaissance (certes très limitée) du monde professionnel, JSF a encore du mal à percer par rapport à Struts/JSP.

    Et puis ensuite, je trouve que le choix entre les deu technologies dépend beaucoup des architectes. Pour ma part, je ne suis pas convaincu par JSF, et même pour un projet en cours de conception, je préfère m'orienter vers du Struts2 + JSP

  11. #11
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par chtig
    Pour le coup des perfos, je suis vraiment loin d'être convaincu...
    je n'ai pas compris desole!
    Citation Envoyé par chtig
    Si j'avais à justifier les choix de Java, j'essayerais effectivement de pousser plusieurs choses :
    - Architecture modulaire et propre : peut se démontrer en changeant de base de données et deux minutes, en faisant un client Swing Webstart et un site web, etc ...
    Qu'entends tu par la? Est ce que ca voudrait dire que le code est le meme que je bosse sous Oracle ou MySQL? Qu'est ce qui va alors changer?
    Pourquoi parles tu de client Swing? Merci
    Citation Envoyé par chtig
    - Des frameworks intéressants et matures : Hibernate est certainement celui qui est le plus "flashy" en la matière... Justifier que plus besoin de connaître les bases de données, le sql etc ... (même si ce n'est que très partiellement vrai)
    Lorsque je faisais du SQL, je devais ecrire une requete qui pouvait faire plusieurs lignes avec requetes et sous requetes. Hibernate m'afffranchirait il de ca?
    Citation Envoyé par chtig
    - Une documentation normalisée, donc une maintenance plus aisée
    - Des règles de développement pour la maintenance et des outils pour les
    vérifier
    - Des outils pour tracer les performances et optimiser si besoin est
    Comme quoi? Quels outils permettraient de faire ceci et dont il n'existerait pas d'equivalent dans les autres langages?

    Merci

  12. #12
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Citation Envoyé par shiryuseiya
    je n'ai pas compris desole!
    La remarque sur les perfos c'était pour répondre sur la performance serveur d'appli vs apache+php

    Citation Envoyé par shiryuseiya
    Qu'entends tu par la? Est ce que ca voudrait dire que le code est le meme que je bosse sous Oracle ou MySQL? Qu'est ce qui va alors changer?
    Pourquoi parles tu de client Swing? Merci
    Oui, tu peux avoir le même code si tu codes proprement. Une seule ligne de code à changer ou un seul paramètre de config (en fonction du cas) pour changer de base de données.
    Je parlais de Swing pour ettayer le fait que tu peux faire une belle architecture avec une couche service qui sert à la fois un client léger web et un client lourd fait en Swing : deux interfaces utilisateurs avec une seule couche de services

    Citation Envoyé par shiryuseiya
    Lorsque je faisais du SQL, je devais ecrire une requete qui pouvait faire plusieurs lignes avec requetes et sous requetes. Hibernate m'afffranchirait il de ca?
    En partie oui. Ce n'est pas toujours si simple que cela, mais la plupart du temps tu peux gérer sans requête.
    Citation Envoyé par shiryuseiya
    Comme quoi? Quels outils permettraient de faire ceci et dont il n'existerait pas d'equivalent dans les autres langages?

    Merci
    Je ne connais pas forcément bien ce qui est disponible pour les autres langages.
    Mais la génération automatique de la javadoc est un outil puissant.
    Les conventions de nommage faites par Sun sont précises, respectées et éprouvées.
    Des outils tels que CheckStyle ou JDepend ou Hammurapi sont vraiment très bien faits pour garantir une qualité de code.
    Enfin pour les perfos, tu peux regarder par exemple le profiler de netbeans, mais il y en a d'autres

  13. #13
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Citation Envoyé par CyberChouan
    En ce qui concerne ma connaissance (certes très limitée) du monde professionnel, JSF a encore du mal à percer par rapport à Struts/JSP.
    C'est tout à fait naturel dans le monde JavaEE ! On est loin du monde des autres éditeurs comme Microsoft par exemple (je ne pas un autre anti-microsoft, c'est juste un exemple... ) où l'on peut tout bousculer d'une version à une autre vu que c'est lui seul le maître du jeu. En JavaEE, on produit des normes (leur production peut prendre des années avec les JSR et le JCP). On attend ensuite que les éditeurs fournissent des implémentations, puis que les développeurs commencent à les utiliser et produire des addons, etc.
    De plus, le succès foudroyant de Struts dans le monde professionnel et avec son age, beaucoup d'infrastructures et de frameworks sont basés la dessus, et personne n'est prêt à tout ré-écrire avec JSF juste parce que ce dernier est apparu !

    Dire donc que JSF a du mal à percer est injuste et incorrect. C'est un mouvement lent mais sûr : Aujourd'hui, on réfléchit deux fois avant de se lancer dans un nouveau projet sur le fait d'utiliser Struts (1.x ou 2) alors que l'alternative JSF existe et qu'elle fait partie de la spécification de JavaEE.

    J'en profite pour conseiller shiryuseiya de prendre le temps d'évaluer JSF avant de foncer : il suffit de comparer un simple CRUD réalisé en Struts 1.x, un autre en Struts 2 et un dernier en JSF : pour moi, c'est parlant et sans rappel.

    Je confirmes aussi les dires de chtig à propos d'Hibernate (ou tout autre framework de persistance ORM) et j'y ajoute ceci : combiné avec la puissance du langage Java et des Generics, ça te permet de t'affranchir complètement de la partie DAO ( Data Access Object : les traitements pour enregistrer, mettre à jour, supprimer et récupérer les objets de la Base de données) ! Ce qui représente un gain énorme en productivité et évolutivité !

Discussions similaires

  1. Quel projet en JAVA
    Par Invité dans le forum Général Java
    Réponses: 4
    Dernier message: 08/07/2013, 10h11
  2. UML : Qui s'en sert ? Pourquoi ? Dans quels cas ? Où ?
    Par Matthieu Brucher dans le forum UML
    Réponses: 83
    Dernier message: 10/06/2013, 16h13
  3. Réponses: 5
    Dernier message: 10/08/2011, 11h16
  4. [WB11] [débutant]erreur dans n'importe quel projet
    Par dj_techno dans le forum WebDev
    Réponses: 6
    Dernier message: 23/02/2009, 13h53
  5. [Débutant] Dialogue Java entre les frames pour client HTML
    Par Carrel dans le forum Général Java
    Réponses: 4
    Dernier message: 03/06/2004, 10h39

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