OVH Cloud OVH Cloud

architecture serveur multiservice

3 réponses
Avatar
Sylvain Eche
Bonjour

j'envisage de développer un serveur multi jeu (échecs /dames / ...)
mon idée est d'avoir les caractéristiques suivantes :
- protocole de communication jabber bien adapté à du messaging et de la
présence et extensible (xml)
- Le serveur doit avoir une partie "core" qui gère les communications /
profils / etc ...
- Des modules jeu (dames, échecs, etc ...) qui contiennent les règles,
encapsulent un protocole spécifique, etc ...
- Un module d'administration pour chaque module de jeu (création de
tournois, etc ...).

Le projet est ambitieux en terme d'architecture, le soucis est que bien
qu'étant assez expérimenté en java, je n'ai jamais réalisé de telles
architectures modulaire :

quels conseils / références / pourriez vous me donner pour que je puisse
définir tout cela :
sur quelles notions de programmation / modèle d'architecture / framework
puis je envisager cette architecture ?
comment vous y prendriez vous ?

merci

3 réponses

Avatar
Hervé AGNOUX
Sylvain Eche wrote:

Bonjour

j'envisage de développer un serveur multi jeu (échecs /dames / ...)
mon idée est d'avoir les caractéristiques suivantes :
- protocole de communication jabber bien adapté à du messaging et de la
présence et extensible (xml)
- Le serveur doit avoir une partie "core" qui gère les communications /
profils / etc ...
- Des modules jeu (dames, échecs, etc ...) qui contiennent les règles,
encapsulent un protocole spécifique, etc ...
- Un module d'administration pour chaque module de jeu (création de
tournois, etc ...).

Le projet est ambitieux en terme d'architecture, le soucis est que bien
qu'étant assez expérimenté en java, je n'ai jamais réalisé de telles
architectures modulaire :

quels conseils / références / pourriez vous me donner pour que je puisse
définir tout cela :
sur quelles notions de programmation / modèle d'architecture / framework
puis je envisager cette architecture ?
comment vous y prendriez vous ?

merci


Dans un premier temps, j'essaierais d'oublier tout ce que j'ai appris.

Puis j'essaierais de supprimer le module d'administration, pont aux ânes de
toute application informatique. J'essaierais de le remplacer par quelque
chose qui soit vraiment utile, non pas à l'informaticien, mais aux joueurs.

Ensuite, comme les règles ont l'air bien précises (cas rare ! ), je
passerais à un schéma UML, dans un style classique : cas d'utilisation,
diagramme statique, dynamique, en restant absolument et obstinément
élémentaire.

Puis j'essaierais de trouver quelque chose qui existe déjà et qui
corresponde pour le noyau. S'il s'agit seulement (seulement entre
guillemets, hein) de gérer les profils, les communications et ce genre de
chose c'est bien le diable si ce n'est pas déjà fait (même dans jabber, ou
dans JAXP ? ).

A partir de là je me fais un petit jeu aux règles très simples, style chacun
lance les dés et celui qui a eu le plus de 6 au bout de 10 coups a gagné,
que j'essaie de réaliser, sur les bases que j'ai débroussaillées, et je
vois ce qui se passe. (pas pour le jeu, évidemment). J'en invente un
deuxième, aussi idiot. A ce stade plus c'est idiot, mieux c'est. J'en fait
un troisième, si j'ai le temps.

Puis, enfin, je retrouve tout ce que j'ai appris en informatique, et,
seulement à partir de là, je réalise le logiciel...

Cordialement.


--
Hervé AGNOUX
http://www.diaam-informatique.com

Avatar
TestMan
Bonjour,
Hervé AGNOUX wrote:
Sylvain Eche wrote:
<...>

Puis j'essaierais de trouver quelque chose qui existe déjà et qui
corresponde pour le noyau. S'il s'agit seulement (seulement entre
guillemets, hein) de gérer les profils, les communications et ce genre de
chose c'est bien le diable si ce n'est pas déjà fait (même dans jabber, ou
dans JAXP ? ).


Oui, vraiment ça serait étonnant ;-)
http://jivesoftware.org/smack/

A+

TM

Avatar
Laurent Bossavit
Sylvain,

comment vous y prendriez vous ?


Je commencerais par trouver des joueurs d'échecs, dames etc, leur
demander s'ils trouvent leur bonheur en ligne actuellement - ou s'ils
constatent suffisamment de carences dans l'offre actuelle pour justifier
le développement d'une nouvelle offre.

Laurent