Bonsoir,
J'ai dans l'idée de me mettre au développement d'un MMORPG "low-speed". Voici la structure:
- Client (Silverlight et/ou appli WPF)
- Service WCF
- Donnée (BDD SQL?)
Le client fera donc appel au service WCF pour obtenir les données. Le problème, c'est que je n'ai absolument aucune expérience en base de donnée, et je ne vois pas trop comment gérer tout ça.
1.Tout d'abord, est ce qu'un service WCF est multi-threadé? Autrement dis, si 2 appels (par 2 clients différents) arrive en même temps sur un service, est ce que le service répondra aux 2 clients en même temps ou l'un après l'autre? C'est dans le but de clarifier l'accès aux données. Si ce n'est pas multithreadé, on peut par exemple écrire dans un fichier XML sans risquer de le faire 2 fois en même temps.
2. La base de donné. Comment faire? J'avais dans l'idée de faire un serveur SQL dans le but de rendre accessible les données sans forcément devoir passer par le service WCF (depuis un site web PHP/ASP par ex). Mais, est-ce la meilleur solution? Si la réponse à ma 1ère question (Service multi-threadé?) est non, ne serait-il pas plus performant d'accéder directement à un fichier de base de donnée (.mdf ou .xml) à partir du service sans devoir passer par un serveur SQL? (de plus ca permettrait de ne pas être limité par le nombre de BDD dispo chez un hébergeur) Un serveur php/asp pourra-t-il accéder à un service WCF? En passant, j'ai l'intention d'accéder aux bases de données avec LINQ.
3. Les autorisations. Mouarf, c'est compliqué, j'ai rien compris

Un utilisateur devra se loguer avec un nom d'utilisateur et un mot de passe. Ensuite, les données renvoyé par le service devra dépendre de l'utilisateur, et les données des autres utilisateur ne devront pas être accessible. Bref, c'est du standard pour un site web php/asp, mais moi je n'y connais rien

J'ai vu qu'on peut spécifier plusieurs type d'authentifications / autorisations dans WCF, par exemple une authentification Windows ou une authentification d'appartenance d'ASP.NET, qui serait le mieux adapté à 1ère vue. Certificat? Entitée? Instance du service? Liaison / répartiteur / hôte? Pfou...

J'ai vu que WCF pouvait gérer les authentifications par nom/password automatiquement avec une base de donnée, mais je ne sais rien de plus à ce sujet.
Bref, je n'attend pas vraiment de réponse à cette question, je vais devoir approfondir mes connaissances à ce sujet avant de savoir de quoi je parle. Mais si vous avez des tutos qui parle d'authentifications et d'autorisations en sens général (histoire que je comprenne comment tout ceci fonctionne), il sont le bienvenu

(même si ça parle de ASP ou PHP, je suppose que ça peut m'aider...)
4. Que se passe-il lorsque un client s'authentifie sur un service? Il recoit un certificat? ..qu'il devra réenvoyer à chaque requete au service pour que celui-ci sache de qui il s'agit?
5. Que pensez vous de l'idée général de ce projet? Faisable ou pas?
Par expérience, j'ai peur de ne pas avoir beaucoups de réponses pour toutes mes questions

(car mes questions sont souvent complexes ou trop abstraites)
Merci d'avance...
PS. Ce projet me permettra de me familiariser avec WCF, LINQ et SQL, et pouquoi pas devenir un projet concret / lucratif par la suite.