Nos encontramos ante el siguiente problema que implica el mantenimiento de la siguiente sincronizados:Pesadilla de sincronización: ¿es posible utilizar Merge Replication (o RDA) entre 2 instancias de SQL CE sin IIS?
- 1 Centralizado Server (IIS/MSSQL 2005)
- Muchos clientes de escritorio de WPF distribuidos por ClickOnce
- Muchos clientes móviles - (windows CE)
alt text http://img502.imageshack.us/img502/8246/deployment.png
Con estas limitaciones espinosos:
- todas las relaciones de sincronización son bidireccionales
- el escritorio & nodos móviles requieren modo fuera de línea
- los nodos móviles no se puede sincronizar con el servidor central, pero son para sincronizar con los nodos de escritorio a través de USB. Los nodos de escritorio actúan como un servidor para los clientes móviles, no como el servidor central. Las actualizaciones de los nodos móviles necesitan propagarse al servidor central en virtud de la sincronización con el escritorio y luego sincronizar ese escritorio con el servidor central. phew.
Nasty.
Para sincronizar el escritorio y el servidor, sabemos que podemos usar Merge Replication, el servidor como proveedor, el escritorio como suscriptor, todo bien. PERO, ¿qué hay de la sincronización de los nodos móviles y de escritorio? Al parecer, el escritorio no puede ser un editor sin SQL Server + ISS, ¿verdad? Solo podemos implementar MSSQL CE en el escritorio.
Incluso si este fuera el caso, ¿podría un nodo ser suscriptor y editor? Sospecho que esta disposición no es compatible con la arquitectura Merge Replication: aparentemente hub and spoke es el único modelo admitido.
Estamos tratando de determinar si podemos eliminar RDA o Merge Replication como una posible solución; de ser así, probablemente sigamos con el Marco de sincronización MS.
Quizás hay otras tecnologías que podríamos considerar?
Gracias a todos,
Ashley
ACTUALIZACIÓN: acabamos comenzó a tener un juego con EM Sync Framework y que las rocas!
Solo para aclarar: ¿necesita que el cliente móvil se sincronice con el escritorio mientras el escritorio está fuera de línea? Porque si el escritorio está en línea cuando el cliente móvil se sincroniza (usando ActiveSync, supongo?), Entonces el cliente móvil también podría "ver" el servidor. – MusiGenesis
Sí, el dispositivo móvil necesita poder sincronizarse con el escritorio (portátil de campo) cuando también está fuera de línea. Ojalá pudiéramos limitarnos al cubo y hablar, sería mucho más simple. –
Opuesto al viejo cubo y radios que tienen cubos (¡con radios!) –