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 :

Architecture d'un projet Java EE & Angular2


Sujet :

Développement Web en Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2015
    Messages : 27
    Points : 27
    Points
    27
    Par défaut Architecture d'un projet Java EE & Angular2
    Bonjour à tous,

    Voilà je commencerai bientôt un nouveau projet avec un nouveau client et avec des nouvelles technologies, en fait mon client m'a imposé son choix technique qui consiste à utiliser les outils suivants :
    Backend :
    • MongoBD pour la couche de données
    • Spring pour la logique métier

    Frontend :
    • Angular2 pour tout ce qui est inteface

    Dans mes anciens projets JEE j'utilisais JSF (PrimeFaces) du coup je maîtrise bien l'architecture MVC de mon projet mais maintenant ce n'est plus le cas.
    Je m'adresse aux experts qui ont déjà utilisé ces outils dans leurs projets pour me donner quelques idées sur la structure et des exemple de projet sur GitHub s'il y'en a.

    Merci d'avance

  2. #2
    Membre éprouvé
    Avatar de Cafeinoman
    Homme Profil pro
    Couteau suisse d'une PME
    Inscrit en
    Octobre 2012
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Couteau suisse d'une PME

    Informations forums :
    Inscription : Octobre 2012
    Messages : 628
    Points : 1 256
    Points
    1 256
    Par défaut
    Ca craint d'imposer à ce point... Si ca peut t'aider, jette un oeil du côté de JHipster, un générateur d'appli springboot + angular. Ca me semble un bon plan, même si je ne l'ai jamais utilisé personnellement...
    «Dieu ne joue pas aux dés.» - Albert Einstein. Et pan! 30 ans de retard dans la théorie quantique!
    «Tout n'est pas politique, mais la politique s'intéresse à tout.» - Nicolas Machiavel. Et surtout à ceux qui ne s'y intéressent pas.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2015
    Messages : 27
    Points : 27
    Points
    27
    Par défaut
    ça a l'air très cool ce JHipster sauf que c'est avec du AngularJS 1 et non pas Angular 2

  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
    d'un point de vue archi, ça reste du mvc. Le modèle est coté serveur, accessible par des api type REST et la vue et le controlleur sont coté angular. L'avantage de ce genre d'archi, c'est que tu peux presque totalement découpler ton interface de ton business et donc avoir deux équipes spécialisées. En plus tu n'es pas tenté de faire de la logique business couplée à l'interface. Par contre je ne comprends pas trop la partie "spring pour la logique métier". Normalement la logique métier c'est toi qui la code. Spring fournis pas mal d'aide poru abstraire plein de truc, mais il en a rien à foutre de la logique métier

    Sur un projet où je suis en ce moment on a une partie des interfaces en angular (1 pas 2) et des service rest. En pratique le seul truc "chiant" c'est qu'on dédouble pas mal de classes data. Une version en JS et une version en Java. Mais l'avantage c'est qu'il y a pas un pet de dépendances java dans le projet UI et quand on nous demande des grands chamboulement de l'interface (et c'est courant), on ne touche presque pas au business, si ce n'est pour exposer des datas qui n'étaient pas exposées avant.

    Par contre une suggestion si tu dois maintenir le projet sur le long terme. Regarde du coté des WebComponents. Ce n'est pas incompatible avec angular et si dans 2 ans angular se casse la gueule et tu dois passer à autre chose, les composants pourront être repluggué avec presque pas de travail.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2015
    Messages : 27
    Points : 27
    Points
    27
    Par défaut
    Donc selon vous il suffit d'ajouter une couche qui s'occupe d'exposer quelques services web pour le front (qui est Angular 2 bien sûr). En fait c'est ce que j'avais dans la tête mais ici je me demande est ce que je pourrai intégrer Spring Security (pour tout ce qui concerne l'authentification et la gestion de rôles ...) autrement dit est ce que Spring Security permet l'exposition des services web directement ou bien c'est à moi de s'occuper de cette partie ?

    PS : Ce que je voulais dire de "Spring pour la logique métier" c'est le fait d'annoter mes classe de services par @Service.

  6. #6
    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
    si tu utilise spring pour exposer tes web-service, par exemple avec cxf, tu peux très bien annoter les méthodes des webservice avec des annotations de sécurité. Et tu peux toujours annoter les classes de service aussi.

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

Discussions similaires

  1. [Run]comment executer un projet java sous eclipse
    Par snaioua dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 04/10/2005, 17h40
  2. [Eclipse 3.0.1]Ouvrir un projet java deja existant
    Par paca_mike dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 28/04/2005, 13h23
  3. Comment eviter de dedoubler projet c++ et projet java/applet
    Par buzzz dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 13/10/2004, 13h02
  4. [Architecture] Interface entre C++ & Java
    Par yanis97 dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 13/07/2004, 15h46

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