Voilà mon "petit" problème:
J'ai une application "Full Client" en .NET 2.0 qui tape dans une base de donnée Oracle.
Le serveur de DB est sur Paris. Quand on utilise cette appli depuis Paris, c'est nickel, aucun problème de performance.
Mais depuis le Canada, ou il y a un autre site qui doit utiliser ce logiciel, ça se complique:
* Le matin (pour Paris), quand la connexion Internet vers les Canada est correcte (~60Ko/sec au mieux), tout va bien, avec un système de "List view virtuels", de cache de données etc, l'application reste relativement confortable à utiliser.
Mais pour le Canada, quand en cours de journée pour eux, les perfs internet s'écroulent entre la France et là bas, ça devient plus problématique: même une requête qui ramène une toute petite quantité de donnée peut prendre 1 ou 2 sec, ce qui rend rapidement l'interface utilisateur pénible à utiliser.
La seule solution que je vois et d'avoir une base de données "Mirroir" au Canada. Sachant qu'en plus, dans 99% des cas, La France et le Canada ne vont pas mettre à jour les même record de la base de données (donc, le mirroring n'a pas besoin de se faire très rapidement).
Si il le faut, je peux programmer toute la mécanique qui doit faire ça, mais il y a forcemment des outils qui le prévois. Mais comme je ne suis pas un expert Oracle, je n'ai pas de solutions sur le sujet. J'ai trouvé pas mal de truc sur Google, mais toutes sont des solutions de Mirroring pour faire du backup en cas de crash d'une base, pas vraiment prévu pour que les 2 bases soient utilisées en même temps.
Si quelqu'un connait des bon softs pour cela, ce qui m'évitera quelques centaines d'heures de développement!
PS: J'arrête tous ceux qui pensent immédiatement à "Mais pourquoi ne fait il pas une application Web???" ; non, car l'appli demande d'afficher beaucoup de données. Et ça reviendrai au même en Web: En full client, il ne transite que les données entre la base et le client. En web, il y aurait les données avec le formattage HTML en plus à faire transiter... Même avec de l'Ajax, en évitant de recharger une page complète à chaque fois qu'on veut afficher de nouvelles données, on obtiendrait pas un résultat plus confortable que l'appli full client et son système de cache.