Compartir a través de


Información general y escenarios (Sync Services)

Microsoft Sync Services for ADO.NET habilita la sincronización entre bases de datos. Proporciona una API intuitiva y flexible que permite generar aplicaciones para escenarios de colaboración sin conexión. Sync Services habilita la sincronización entre dos elementos del mismo nivel, como dos bases de datos de SQL Server o entre una base de datos cliente de SQL Server Compact 3.5 SP1 y una base de datos servidor u otro origen de datos. La API le permite usar todos o parte de los componentes que se proporcionan, dependiendo de la arquitectura y de los requisitos de la aplicación.

Sync Services forma parte de Microsoft Sync Framework. Para descargar Sync Services, vaya a este sitio web de Microsoft. Sync FrameworkSync Framework es una plataforma de sincronización completa que permite a los desarrolladores agregar funciones de sincronización a las aplicaciones, los servicios y los dispositivos. Dado que Sync Services forma parte de Sync Framework, cualquier base de datos que use Sync Services también podrá intercambiar información con otros orígenes de datos que Sync Framework admita, como servicios web, sistemas de archivos o almacenes de datos personalizados.

Escenarios de sincronización

La capacidad de admitir trabajadores móviles y remotos se está convirtiendo en algo cada vez más importante para las organizaciones. Para ellas resulta muy importante asegurarse de que los trabajadores tienen acceso a la misma información cuando están dentro y fuera de la oficina. En la mayoría de los casos, estos usuarios disponen de un equipo portátil, un equipo de escritorio, un Smartphone o una PDA. Desde estos dispositivos, con frecuencia los usuarios pueden tener acceso directo a los datos a través de una conexión VPN o de algún otro método de conexión directa con la red corporativa. Para la mayoría de los usuarios remotos, esta solución no resulta del todo satisfactoria debido a desventajas importantes en las áreas siguientes:

  • Requisitos de la red

    Para permitir a los usuarios tener acceso a la información, el dispositivo remoto debe disponer de una conexión permanente con la red corporativa mientras obtiene acceso a los datos. Para algunos trabajadores, como los que trabajan desde sus casas, esto podría no ser un problema. Para otros usuarios, como los representantes de ventas que viajan constantemente, podría resultar algo más complicado. Por ejemplo, si un representante de ventas está realizando una visita a un cliente y no puede tener acceso a los datos de inventario porque no hay conexión de red, no puede desempeñar su trabajo de manera eficaz.

  • Velocidades de acceso a los datos

    En un entorno corporativo típico de cliente/servidor, los usuarios disponen de redes de alta velocidad que les permiten tener acceso rápido a la información. Sin embargo, los trabajadores remotos normalmente se conectan a través de redes cableadas o inalámbricas lentas y poco confiables. Con una solución típica, cada vez que el usuario solicita un dato, éste debe descargarse, ya que no existe forma alguna de almacenar los datos en el dispositivo. Por ejemplo, si un representante de ventas tiene que descargar la lista de productos cada vez que abre su aplicación, la cantidad de tiempo necesaria para rellenar la aplicación con información podría resultar frustrante.

  • Un único punto de error

    Con este tipo de solución, todos los usuarios dependen de un único servidor. Si la base de datos no está disponible debido al tiempo de inactividad del servidor planeado o a errores del servidor, todos los trabajadores remotos perderán la conexión con los datos.

  • Escalabilidad del servidor

    A medida que aumenta el número de personas que trabajan desde ubicaciones remotas, disminuye el rendimiento de los servidores corporativos, con lo que podría ser necesario agregar hardware.

Aplicaciones conectadas ocasionalmente

Una alternativa a la solución descrita en la sección anterior es implementar una aplicación que se conecte ocasionalmente. Este tipo de aplicación permite a un trabajador remoto continuar teniendo acceso a los datos. Sin embargo, a diferencia del escenario anterior en el que el usuario debía tener acceso directamente a la base de datos corporativa para obtener la información que deseaba, ahora esta se encuentra almacenada de forma local en un dispositivo. Para rellenar una base de datos local, una aplicación que se conecte de modo ocasional normalmente usa la sincronización de datos.

La sincronización de datos consiste en la capacidad de tomar periódicamente la información que se almacena en una base de datos cliente (como SQL Server Compact 3.5) y sincronizar los cambios con una base de datos servidor (como SQL Server). Una solución basada en la sincronización ofrece la ventaja de que un usuario ya no necesita disponer de una conexión de red permanente para tener acceso a la información. Puesto que los datos se almacenan localmente, un usuario tiene acceso permanente a ellos al tiempo que reducen los requisitos de procesamiento desde la base de datos central. Además, dado que la velocidad de la red ya no es un factor limitador, un usuario puede tener acceso ahora a los datos a la velocidad del dispositivo.

En las ilustraciones siguientes se muestran ejemplos de aplicaciones conectadas de forma ocasional en las que los datos (representados por una base de datos verde) se almacenan de forma local en el dispositivo de un trabajador remoto. El primer ejemplo muestra un sistema de base de datos independiente en el que la información se almacena directamente en el dispositivo del usuario. El segundo ejemplo muestra una oficina remota donde la información se almacena en una base de datos de grupo de trabajo de esa oficina remota para que varios trabajadores locales puedan tener acceso a los datos. Para obtener más información sobre la sincronización sin conexión, vea Escenarios sin conexión (Sync Services).

Escenario sin conexión de Sync Services

Una extensión común a este tipo de aplicación conectada de modo ocasional es la capacidad de admitir escenarios de colaboración. Se trata de escenarios en los que dos bases de datos se pueden sincronizar punto a punto sin tener que pasar por un concentrador central. Como se muestra en la ilustración siguiente, una base de datos remota puede intercambiar información con cualquier otra base de datos. Esta clase de solución es útil cuando los trabajadores remotos (por ejemplo, auditores financieros) trabajan como un grupo en una ubicación remota. Estos trabajadores deben compartir información entre sí con frecuencia. Sin embargo, dado que no disponen de conexión con la base de datos central, deben compartir la información a través de alguna clase de red punto a punto. Para obtener más información acerca de la colaboración de datos, vea Escenarios de colaboración (Sync Services).

Escenario de colaboración de Sync Services

Vea también

Conceptos

Sync Services for ADO.NET 2.0