Admettons que j'ai une application distribuée qui traite de généalogie.
J'ai, notamment, une couche métier, exposée par un service WCF, qui s'exécute sur un serveur.
Un de mes objets métier qui transitent entre le serveur et les clients est "Personne".
Très simple, il comporte 3 propriétés. Deux strings : Prénom, Nom. Et une relation 1-0..1 avec un autre objet "Personne" : Conjoint.
J'ai une jolie petite interface graphique pour manipuler ces données :
Mon service WCF expose, entre autres, deux méthodes de la couche métier :
void SeMarie(Personne a, Personne b);
void Divorce(Personne a);
Bon, ce cas est tellement simple qu'on pourrait se contenter de faire un update simple, du genre Personne.Conjoint = .....;
Mais pour la clarté du problème, on va garder nos méthodes SeMarie et Divorce.
Admettons que Jean Dupond n'est pas marié avec Jeanne. Si j'appelle service.SeMarie(jean,jeanne), jean et jeanne se retrouvent modifiés côté serveur. Cool. Qu'en est-il de l'IHM ? Comment garder la cohérence des données à ce niveau là ? N'y a-t-il pas moyen de rapatrier les modifications survenues sur le serveur au niveau du client ?
Admettons que, plus tard, rien ne va plus et Jean décide de divorcer. service.Divorce(jean), donc.
Aucune référence à Jeanne n'est passée au serveur, il pourra malgré tout modifier jean et jeanne sur le serveur, mais qu'en est-il du client ?
En bref, comment répercuter, sur le client, les modifications, des objets métier, intervenues sur le serveur ?
Partager