Noemie O'connor
Messages postés78Date d'inscriptionmercredi 27 novembre 2013StatutMembreDernière intervention12 novembre 2014
-
27 sept. 2014 à 17:52
Noemie O'connor
Messages postés78Date d'inscriptionmercredi 27 novembre 2013StatutMembreDernière intervention12 novembre 2014
-
28 sept. 2014 à 11:49
Bonjour à tous,
Dans le cadre d'utilisation du package java.net (Socket, SocketServer,...) pour le développement d'une application serveur, comment organiseriez vous vos différents objets afin de réaliser quelque chose de fonctionnel et d'évolutif?
Par exemple, on pourrait faire un objet connexion qui va se charger de gérer le socket et d'attendre une requête. Une fois un requête reçue on pourrait utiliser une Factory qui determinerait comment réagir face a la requête (appel d'un service dans un nouveau thread par exemple).
Cela vous semble-il suffisant? En termes de sécurité, à quoi serait-il bon de penser pour sécuriser les transmissions? Un système de cryptage asymétrique (clés privée/publique)?
KX
Messages postés16668Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention17 mars 2023125 Modifié par KX le 27/09/2014 à 18:41
Bonjour,
Déjà pourquoi repartir aussi bas niveau que les socket ? Tu pourrais très bien faire des EJB, du JAX-WS, JAX-RS...
En terme d'organisation du projet il faudrait faire 4 livrables, a) le serveur, b) le client, c) l'api : uniquement des interfaces, éventuellement des bean qui font le pont entre client et serveur, d) le common : les classes abstraites ou utilitaires communes entre client/serveur.
Pour la factory je ne suis pas convaincu, il faudrait voir ce que tu veux faire exactement entre ton client et ton serveur.
En terme de sécurité il serait bon de ne pas réinventer la roue, Java intègre déjà de la sécurité (SSLSocket par exemple).
La confiance n'exclut pas le contrôle
Noemie O'connor
Messages postés78Date d'inscriptionmercredi 27 novembre 2013StatutMembreDernière intervention12 novembre 2014 28 sept. 2014 à 10:53
En fait, je vient de débuter la programmation réseau alors j'ai voulu commencer par le plus bas niveau possible pour avoir une meilleure compréhension.
Si je comprend bien ce que tu proposes plus haut, l'API permet en fait au client de connaître les possibilités du serveur et d'appeller ainsi des services? Est ce qu'on peut dire que cela s' approche d'un lookup?
As tu des conseils pour quelqu'un comme moi qui désire s' initier à la prog réseau?
Merci de ton aide
Noémie
KX
Messages postés16668Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention17 mars 2023125 28 sept. 2014 à 11:44
"l'API permet en fait au client de connaître les possibilités du serveur" Et inversement, permettre au serveur de savoir ce qu'envoie le client, ça fait gagner en réactivité plutôt que décortiquer un message quelconque pour savoir si le serveur le comprend (l'idée de ta factory).
"Est ce qu'on peut dire que cela s' approche d'un lookup?" Pour les EJB oui, pour les JAX non.
"j'ai voulu commencer par le plus bas niveau possible" Va pour les sockets alors, mais oublie la partie sécurité, si tu arrives déjà à comprendre comment ça fonctionne ce serait pas mal (et c'est pas évident), mais ce serait une perte de temps de refaire ton propre algorithme de chiffrement.
"s'initier à la prog réseau?" Les sockets sont à mettre au niveau de la couche Transport du modèle OSI, en Java tu pourras difficilement descendre sur les couches inférieures, en particulier la couche Réseau qui t'intéresse. Là ce serait plutôt de la programmation en C...
Noemie O'connor
Messages postés78Date d'inscriptionmercredi 27 novembre 2013StatutMembreDernière intervention12 novembre 2014 28 sept. 2014 à 11:49
Merci pour tes conseils, j'ai une vision plus claire maintenant et je vois mieux dans quelle direction aller !