Frontal d'application Web Java [fermé]


J'ai une grande application qui utilise Java sur le backend et la bibliothèque de balises struts, Jsp et JSTL sur le frontal. La base de données est DB2 et nous nous appuyons fortement sur les procédures stockées.

Nous prévoyons de mettre à niveau l'application vers une nouvelle architecture/framework.

Le framework principal que nous envisageons est Spring, bien que nos leads essaient de nous pousser à adopter Java EE au lieu de prétendre que c'est un meilleur framework.

Toute recommandation quant à la voie à suivre avec Spring ou Java EE? Quelles sont les principales raisons de préférer l'un à l'autre (avantage/inconvénient)?

Pour chacun d'entre eux, quelle est la meilleure alternative pour JSP taglib ? Nous avons l'habitude de devoir écrire toutes les balises html manuellement pour afficher des données dynamiques avec JSTL. Je lis de nouveaux frameworks comme les composants Angular et JSF. Je ne suis pas sûr aussi ce qui est largement utilisé ces jours-ci. J'ai lu que de plus en plus de programmeurs transmettent les données des services REST en tant que JSON au frontal. Que font-ils utiliser pour rendre le données, est-ce JSF, angulaire?

Je fais de la programmation. NET, et dans ASP.NET nous avons une liaison de données et des composants comme ListView, etc. JSF et Angular sont-ils identiques?

Tout site Web avec de bons exemples, de la documentation (en particulier l'architecture) que vous recommandez?

Author: Arjan Tijms, 2015-02-24

2 answers

Java EE et Spring sont à la fois de très bons et très complets frameworks pour l'écriture de backends. Les deux devraient être capables de faire exactement ce que vous voulez. Je recommanderais d'utiliser celui que votre équipe connaît, mais je vais rester en dehors des détails car vous serez en mesure de faire une application de haute qualité avec l'un ou l'autre très facilement.

En ce qui concerne le front-end, j'ai personnellement obtenu les meilleurs résultats en créant une API RESTful et en l'utilisant pour envoyer des données à un cadre Javascript frontal. Angulaire est vraiment bon pour cela. Une des raisons à cela est que les frameworks Javascript ont tendance à fournir beaucoup de puissance lorsqu'il s'agit d'écrire de bons frontaux Web. JSF est un framework MVC côté serveur basé sur des composants, ce qui vous donne généralement moins de contrôle sur le HTML + JavaScript en cours de création et rend beaucoup plus difficile l'écriture de tests.

J'ai aussi constaté que dans les grands magasins, on ne peut pas toujours faire confiance aux gens pour faire les choses correctement loin. La séparation des préoccupations est importante, et j'aime utiliser un framework JavaScript comme Angular pour le front-end car cela permet de garder le code front-end hors du back-end. Les applications JSF que nous avons sur mon lieu de travail sont plutôt terribles, car les développeurs ont abusé de choses comme les sessions. Le code JSF vivait également dans le même déploiement que le backend. Au lieu d'utiliser des services Web et d'adopter une approche axée sur les services et de tout garder vaguement couplé, nous nous sommes retrouvés avec giant "blobs" de code qui "font tout".

 7
Author: Dogs, 2015-02-24 14:02:34

Beaucoup dépend de votre équipe avec laquelle ils sont à l'aise.Spring et Java EE peuvent tout faire pour vous, mais personnellement, je suggérerai des modules spring jdbc + spring mvc pour le backend. La fonctionnalité d'injection de ressort est très utile pour l'application Web. Spring jdbc module create environment et create sessionFactory pour vos appels jdbc.

Créez rest-api dans votre contrôleur qui vous rendra la vie très facile. Spring fournit également de nombreux modèles qui agissent comme des classes de base pour faites en sorte que l'utilisation des technologies standard Java EE soit un jeu d'enfant. Par exemple, le JdbcTemplate fonctionne bien avec JDBC, le JpaTemplate fait de bonnes choses avec JPA, JmsTemplate rend JMS assez simple.

Aussi pour le point de vue maintence spring est le meilleur parce qu'il est populaire et que la plupart des développeurs sont plus familiers avec spring.

Pour l'extrémité avant angular est superbe car AngularJS dispose d'un sous-système intégré d'injection de dépendances qui aide le développeur en facilitant le développement, la compréhension et le test de l'application.

La liaison de données est probablement la fonctionnalité la plus cool et la plus utile dans AngularJS. Cela vous évitera d'écrire une quantité considérable de code standard.

 1
Author: Joginder Malik Insan, 2015-03-01 15:59:22