Aplicaciones de punto de venta (POS) para el consumidor
Las aplicaciones de punto de venta (POS) para el consumidor incluyen aquellas que los consumidores encuentran directa o indirectamente en el punto de venta. Algunos ejemplos de estas aplicaciones son los terminales utilizados por cajeros, cajeros automáticos y quioscos ubicados en tiendas. Estas aplicaciones recopilan datos en sitios remotos y los transmiten a una ubicación central, como una oficina central o un centro de datos. Lo habitual en estas aplicaciones es recopilar los datos principalmente en el punto de venta y, después, cargarlos en la oficina central sin que se produzca ningún conflicto, ya que en este caso solamente un usuario remoto (normalmente un cliente o un empleado) actualiza cada dato concreto.
En el siguiente diagrama se ilustra un escenario típico con flujo de datos en dos direcciones entre un sitio central y ubicaciones remotas:
Ejemplo de Adventure Works Cycles
Adventure Works Cycles es una compañía ficticia que se utiliza para mostrar situaciones y conceptos de bases de datos. Para obtener más información, vea Bases de datos de ejemplo AdventureWorks.
Muchos de los distribuidores que venden productos de Adventure Works Cycles utilizan sistemas de punto de venta que reciben y transmiten datos a un sitio central. Normalmente, los datos de inventario del almacén y el precio del producto de sólo lectura se envían al distribuidor cuando se produce la actualización de estos datos. La información de compra del cliente se transmite desde cada distribuidor al sitio central.
Requisitos comunes para este escenario
Normalmente, las aplicaciones POS tienen las siguientes características, que debe cubrir una solución de replicación adecuada:
La mayoría de los datos se incluyen y actualizan en los sitios remotos.
Los usuarios remotos deben poder realizar actualizaciones de forma independiente, sin necesidad de una conexión al sitio central.
Los datos actualizados en un sitio remoto no se actualizan en otros sitios; por tanto, normalmente no se producen conflictos.
Algunos datos sólo se deben actualizar en el sitio central; por ejemplo, los datos de las tablas de descripción de productos.
Los usuarios sincronizan datos a horas programadas (por ejemplo, al final del día).
La aplicación deben controlar durante cuanto tiempo puede estar sin sincronizarse un sitio remoto.
Algunas tablas requieren filtros, por lo que cada almacén recibe diferentes datos de una o varias tablas. Por ejemplo, cada almacén recibe información sólo de los productos que tiene en stock.
La aplicación puede necesitar lógica de negocios personalizada para ejecutarse al sincronizar los datos.
La aplicación puede requerir que se sincronicen datos por Internet en vez de a través de una conexión dedicada.
En el siguiente diagrama se ilustra el filtro asociado con este escenario:
Tipo de replicación que se va a utilizar en este escenario
MicrosoftSQL Server utiliza una metáfora industrial de publicación para describir los componentes del sistema de replicación. Los componentes incluyen el publicador, el distribuidor, los suscriptores, las publicaciones y los artículos, y las suscripciones. En el diagrama anterior, el sitio central es el publicador. Los datos en el sitio central son la publicación, donde cada tabla de datos es un artículo (los artículos también pueden ser otros objetos de base de datos, por ejemplo procedimientos almacenados). Cada terminal de punto de venta es un suscriptor de la publicación y recibe el esquema y los datos como una suscripción. Para obtener más información sobre los componentes del sistema, vea Información general del modelo de publicación de replicación.
SQL Server ofrece diferentes tipos de replicación para distintos requisitos de aplicación: replicación de instantáneas, replicación transaccional y replicación de mezcla. La mejor implementación para este escenario es la replicación de mezcla, que se adapta perfectamente para controlar los requisitos descritos en la sección anterior. Para obtener más información sobre la replicación de mezcla, vea Información general sobre la replicación de mezcla y Cómo funciona la replicación de mezcla.
Opciones de la replicación de mezcla relacionadas con este escenario
La replicación de mezcla ofrece varias opciones para cubrir los requisitos descritos anteriormente en este tema. En la siguiente lista se presenta cada requisito y las opciones de la replicación de mezcla que lo cubren.
La mayoría de los datos se incluyen y actualizan en los sitios remotos.
La replicación de mezcla proporciona esta capacidad sin especificar ninguna otra opción.
Los usuarios remotos deben poder realizar actualizaciones de forma independiente, sin necesidad de una conexión al sitio central.
La replicación de mezcla proporciona esta capacidad sin especificar ninguna otra opción.
Los datos actualizados en un sitio remoto no se actualizan en otros sitios; por tanto, normalmente no se producen conflictos.
En aplicaciones POS, los conflictos se evitan frecuentemente porque un solo usuario actualiza una parte de los datos. Puesto que los datos no se superponen entre usuarios, es posible optimizar el rendimiento con la opción de particiones no superpuestas. Para obtener más información, vea la sección la sección sobre cómo establecer opciones de partición en el tema Filtros de fila con parámetros.
La replicación de mezcla proporciona detección y resolución de conflictos en casos en los que se esperan conflictos de datos. Para obtener más información, vea Detectar y resolver conflictos de replicación de mezcla.
Algunos datos sólo se deben actualizar en el sitio central; por ejemplo, los datos de las tablas de precios de productos.
La replicación de mezcla proporciona artículos de sólo descarga de aquellas tablas que deben actualizarse sólo en el publicador. Para obtener más información, vea Optimizar el rendimiento de la replicación de mezcla con artículos de sólo descarga.
Los usuarios deben poder sincronizar datos a petición, en vez de sólo a horas programadas.
La replicación ofrece dos tipos de suscripciones: suscripciones de inserción y suscripciones de extracción. Las suscripciones de extracción se adaptan mejor a la sincronización a petición. Para obtener más información sobre los tipos de suscripciones y la programación de la sincronización, vea Suscribirse a publicaciones y Sincronizar datos.
La aplicación debe controlar durante cuánto tiempo puede estar sin sincronizarse un sitio remoto.
La replicación de mezcla permite establecer un período de caducidad de la suscripción para asegurarse de que todos los suscriptores se han sincronizado en un período de tiempo determinado. Para obtener más información, vea Desactivación y caducidad de las suscripciones.
La mayoría de las tablas requieren filtros, por lo que cada usuario recibe diferentes datos de una o varias tablas.
La replicación de mezcla permite filtrar columnas y filas. Los filtros de filas pueden ser estáticos o con parámetros. Un filtro estático sólo se aplica cuando se crea una publicación, lo que da como resultado un conjunto de datos. Un filtro con parámetros se aplica cada vez que un suscriptor se sincroniza, lo que da como resultado un conjunto de datos diferente para cada suscriptor. Las aplicaciones POS suelen utilizar filtros con parámetros, pero también pueden utilizar filtros estáticos. Para obtener más información, vea Filtrar datos publicados para la replicación de mezcla.
La aplicación puede necesitar lógica de negocios personalizada para ejecutarse al sincronizar los datos.
La replicación de mezcla permite especificar el código que va a ejecutar durante la sincronización. Este código puede responder a una amplia variedad de eventos y tiene acceso a los datos que se van a sincronizar. Para obtener más información, vea Ejecutar la lógica de negocios durante la sincronización de mezcla.
La aplicación puede requerir que se sincronicen datos por Internet en vez de a través de una conexión dedicada.
Si se usa SQL Server Compact 3.5 SP1, los datos se sincronizan a través de una conexión HTTP o HTTPS. En otras ediciones de SQL Server, puede utilizar la sincronización Web, que requiere HTTPS. Para obtener más información, vea Sincronización Web para la replicación de mezcla.
Pasos para implementar este escenario
Para implementar este escenario, primero debe crear una publicación y suscripciones y, a continuación, inicializar cada suscripción. Para obtener más información sobre cada paso, haga clic en los siguientes vínculos:
Cuando la suscripción se haya inicializado y los datos fluyan entre el publicador y los suscriptores, es posible que deba consultar los siguientes temas para obtener información acerca de tareas habituales de administración y supervisión: