-
servlet et RMI
Bonjour à tous,
Je débute en programmation web et j'aurais besoin d'un petit renseignement :)
Je voudrais avoir acces à un serveur distant pour faire des inserts dans une DB ou afficher des données, ce à partir de servlets.
Pour cela, je compte utiliser RMI.
Ma question est de savoir si je dois obligatoirement passer par des beans pour communiquer avec le serveur distant et pour rapatrier les données d'un coté à l'autre, ou si je peux directement appeler les methodes sur le serveur distant et afficher les données dans une page .jsp en utilisant les methodes implelentées sur le serveur distant ?
Suis je assez clair :koi: ?
Merci d'avance pour vos reponses.
-
La question serait de savoir l'architecture exacte de ton serveur base de données uniquement? il sait faire plus?
Tu parles d'utiliser RMI, donc je suppose qu'il s'agit plutot d'un serveur Java ?
Ensuite mettre du code java dans les jsp, c'est mal, car tu ne respecteras pas la séparation du Modèle Vue Controlleur.
-
Merci pour cette reponse,
Le serveur sera probablement un serveur java, jboss ou apache Tomcat il me semble ...
Le RMI je comptais l'utiliser dans un servlet, la jsp fait appel a un servlet, le sevlet fait appel au RMI rapatrie les données, et les affichent.
Est ce bien la bonne façon de procéder ?
Est ce possible de faire tourner sur une meme machine, un serveur avec une application gerant une DB et un site web, stocké sur la meme machine, et accedant a la DB via le programme de gestion de DB en RMI ?
Est ce bien clair :koi:
Merci d'avance :)
-
Appeler une méthode distante du servlet, je pense on approche plutot du webService, par contre je suis pas expert en la matière.
Pour résumer si on est sur machine 1:
- servlet1 -> rmi -> servlet2@machine2
- servlet2@machine2 -> jsp2
- jsp2 -> servlet1 -> jsp1.
C'est bien celà? Perso ca me parait un peu tordu.
Si c'est sur une même machine, il n'y a plus de problème.
Voici l'architecture Serveur:
-> Controleur <-> classe métier -> BD.
<- JSP (vue)
-
Bonjour schneidb,
je pensais plus a un truc du genre ...
SERVER1(WEB)''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''SERVER2(APPLICATION)
servlet1---------------------->RMI------------------->methodeAccesDB()
servlet1<----------------------RMI<-------------------retour de methodeAccesDB()
servlet1--------------------->Affichage page html
... Est ce correct ?
Cela me permettrait en fait d'avoir un serveur web qui enverrait des demandes à un autres serveur contenant l'application et la DB ...
Ainsi, je n'utiliserais les servlets que pour demander et afficher.
Je ne pense pas avoir besoin de web service(je peux me tromper), mais si c'est le cas, alors je placerai tout sur la meme machine car je ne m'y connais pas non plus dans ce domaine :(
:salut:
-
Personnellement, vu que je ne connais pas tout le contexte, il est difficile que je te conseille. Mais je pense qu'il n'est pas nécessaire de faire 2 serveurs: c'est se compliquer la vie à mon sens.
Par contre si la charge est énorme sur le serveur 2, alors on peut considérer de faire un serveur 1 qui fait uniquement le servlet, va récupérer ce qu'il vaut via RMI, et afficher le résultat.