Salut a tous!
Je me retrouve pour la 1ere fois confronte au developement d'une application plutot consequente devant permettre:
- un service interrompu 24/7
- une charge et un nombre de connexion eleve et rapidement croissant
- web service (developpement d'une application mobile)
- des taches automatisees
- possible developement futur d'autres applications ou modules utilisant certains composants metiers du systeme
Apres de longues heures de lecture et de nage a travers cette mare d'information et d'opinions contradictoires que l'on trouve sur internet, j'ai toujours des doutes quant aux technologies a utiliser. Mon choix s'est tourne vers les EJB3 pour les raisons suivantes:
- scalabilite et performance du systeme en cas de charge montante
+ soit par repartition des modules EJB en creant des interface remote, ce qui cree neamoins un cout de performance eleve
+ soit par load balancing en ajoutant des clusters
- possibilite de transformer facilement une interface EJB3 en web service
- EJB Timer pour les taches automatisees
J'ai cependant quelques questions que j'aimerai resoudre afin de mieux cibler mon probleme:
- si tous mes clusters font tourner l'application web + ejb dans la meme jvm (pas de separation), les interfaces locales sont-elles suffisantes? Y'a-t-il un interet majteur a utiliser EJB3 en local uniquement par rapport a Spring par example?
- Je prevois 4 machines serveurs pour le load balancing, vaut-il mieux garder des interface locales en conservant WEB + EJB sur chaque meme machine, ou peut-on splitter 2 WEB + 2 EJB (dans quel cas des interfaces remote seraient necessaires au client). J'aimerai bien avoir l'applicatif sur son propre serveur, mais si cela pose un probleme de performance je ferais sans
- Est-il courant d'utiliser Hibernate comme implementation JPA des EJB3? J'ai deja developpe quelques outils pour Hibernate (surtout pour la partie logging) et j'aimerai bien les reutiliser dans ce projet.
- Quel framework web est plus couramment utilise avec EJB3? Est-il possible d'utiliser Spring MVC uniquement pour le tier de presentation et de faire des appels aux EJB3?
Donc que pensez de mon orientation vers une Spring MVC + EJB3 / Hibernate? Suis-je sur la bonne route ou est-ce que je fonce tout droit dans le mur?
Je suis conscient d'etre en phrase d'apprentissage et tous vos conseils/remarques seront les bienvenus!
En vous remerciant enormement de partager votre savoir
Partager