Compartir a través de


Intercambiar datos con usuarios móviles

Proporcionar y recopilar datos de usuarios móviles es una parte fundamental de muchas aplicaciones. La mayoría de aplicaciones que admiten usuarios móviles forman parte de una de dos grandes categorías:

  • Administración de relaciones con clientes (CRM) y Automatización del personal de ventas (SFA)
    Por ejemplo, un vendedor puede utilizar una aplicación SFA para incluir datos de un pedido cuando visita a un cliente. Estos datos se transmiten posteriormente a una ubicación central, como la oficina central de una empresa o un centro de datos.
  • Automatización del personal de campo (FFA)
    Por ejemplo, el personal de campo (repartidores, personal de mantenimiento, inspectores y otros) puede utilizar una aplicación FFA en un dispositivo de mano para recopilar y transmitir datos desde ubicaciones remotas. Un repartidor podría proporcionar datos sobre entregas de paquetes en los sitios de entrega y transmitir de nuevo estos datos a una ubicación central.

Las dos categorías de aplicaciones requieren características de réplica muy similares. La diferencia principal entre las aplicaciones es si los datos son actualizados por varios usuarios. Este problema se trata en la sección "Requisitos comunes para este escenario" en este tema.

En los siguientes diagramas se ilustran dos métodos diferentes de entregar datos a usuarios móviles: en uno se utilizan equipos portátiles y en el otro se utilizan otros dispositivos (que ejecutan Microsoft SQL Server 2005 Compact Edition). El primer método es el que se utiliza normalmente con aplicaciones SFA y CRM, y el segundo método se utiliza habitualmente con aplicaciones FFA. No obstante, podría utilizarse cualquier método en cada categoría de aplicaciones.

  • En el primer diagrama se ilustra un escenario en el que un grupo de usuarios con equipos portátiles se conecta directamente a un sitio central:
    Replicar datos de vendedores en oficina central
  • En el segundo diagrama se ilustra un escenario en el que los usuarios con dispositivos se conectan a un sitio central a través de servidores con Servicios de Microsoft Internet Information Server (IIS). Los servidores IIS son necesarios cuando se utiliza SQL Server 2005 Compact Edition.
    Replicar datos para repartidores

Ejemplos 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 Ejemplos y bases de datos de ejemplo.

Adventure Works Cycles tiene un gran equipo de ventas que invierte mucho tiempo en el campo trabajando directamente con los principales clientes de la compañía, distribuidores de bicicletas bajo franquicias e independientes. Los equipos de vendedores se asignan a regiones y cada vendedor normalmente controla sus propios clientes. No obstante, los directores y el personal de ventas pueden compartir los datos de clientes. El personal de ventas incluye los datos de los pedidos en sus equipos portátiles y los transmiten a la oficina central cuando conviene.

Adventure Works Cycles utiliza A-1 Shipping para las entregas de piezas y bicicletas completas. Todos los repartidores de A-1 Shipping utilizan dispositivos que ejecutan SQL Server 2005 Compact Edition. Los repartidores incluyen los datos de cada entrega después de haberla realizado. Estos datos se replican en la oficinal central de A-1 Shipping y se eliminan del dispositivo. A continuación, los datos pasan a estar disponibles para Adventure Works Cycles a través de una extranet de cliente.

Requisitos comunes para este escenario

Normalmente, las aplicaciones CRM, SFA y FFA tienen las siguientes características, que debe cubrir una solución de réplica adecuada:

  • La sincronización de datos debe ser programable, para que una aplicación en un equipo portátil o dispositivo se pueda personalizar para incluir la sincronización sin necesidad de conocimientos de la réplica por parte de los usuarios finales.
  • En la mayoría de aplicaciones móviles, los datos se pueden incluir y actualizar en el sitio central y en los sitios remotos. En las aplicaciones FFA, la mayoría de datos se introducen en sitios remotos.
  • Los usuarios remotos incluyen y actualizan datos utilizando un equipo portátil, dispositivo o Tablet PC.
  • Los usuarios remotos deben poder realizar actualizaciones independientemente, sin necesidad de una conexión al sitio central.
  • Puesto que muchos usuarios podrían actualizar los mismos datos de forma independiente, pueden producirse conflictos de datos y éstos deben controlarse.
  • Algunos datos sólo se deben actualizar en el sitio central; por ejemplo, los datos de las tablas de precios de productos.
  • Los usuarios deben poder sincronizar datos a petición, en vez de sólo a horas programadas.
  • La aplicación debe controlar durante cuánto tiempo puede estar sin sincronizarse un sitio remoto.
  • Algunas tablas requieren filtros, por lo que cada usuario recibe diferentes datos de una o varias tablas. Por ejemplo, cada vendedor sólo recibe información de contacto de sus clientes.
  • Algunos datos deben tratarse como una unidad cuando se transfieren entre sitios. Por ejemplo, si se envía un pedido desde un usuario remoto al sitio central, el encabezado del pedido debe confirmarse antes que los detalles del pedido.
  • La aplicación puede necesitar que se ejecute lógica de negocios personalizada 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 de red de acceso telefónico VPN o IPSEC.

La principal diferencia entre las aplicaciones CRM y SFA y las aplicaciones FFA respecto a la réplica es si los datos son actualizados por más de un usuario (las actualizaciones por más de un usuario pueden provocar conflictos). La cantidad de datos que se actualizan por varios usuarios depende de la medida en que se filtran los datos. Por ejemplo, si los datos se filtran para que todos los usuarios sólo actualicen su propio conjunto de datos, no se producirían conflictos entre usuarios:

  • En aplicaciones CRM y SFA, los datos normalmente se filtran, pero algunos de ellos se actualizan en más de un sitio. Algunos datos únicamente se actualizan en la oficina central, otros son actualizados por un solo usuario remoto y algunos otros por varios usuarios remotos. En el siguiente diagrama se ilustra el filtrado común a aplicaciones CRM y SFA:
    Filtrar aplicaciones de automatización del personal de ventas
  • Lo habitual en aplicaciones FFA es recopilar los datos principalmente in situ y, después, cargarlos en la oficina central sin que se produzca ningún conflicto, ya que en este caso solamente un usuario remoto actualiza cada dato concreto. En el siguiente diagrama se ilustra el filtrado común a aplicaciones FFA:
    Filtrar aplicaciones de automatización del personal de campo

Tipo de réplica que se debe utilizar en este escenario

SQL Server utiliza una metáfora del sector editorial para describir los componentes del sistema de réplica. Los componentes incluyen el publicador, los suscriptores, las publicaciones y artículos, y las suscripciones. En los dos diagramas anteriores, 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 equipo portátil del vendedor y dispositivo del repartidor 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 réplica.

SQL Server ofrece diferentes tipos de réplica para distintos requisitos de aplicación: réplica de instantáneas, réplica transaccional y réplica de mezcla. La mejor implementación para este escenario es la réplica de mezcla, que se adapta perfectamente para controlar los requisitos descritos en la sección anterior. Para obtener más información sobre la réplica de mezcla, vea Información general sobre la réplica de mezcla y Cómo funciona la réplica de mezcla.

Opciones de la réplica de mezcla relacionadas con este escenario

La réplica de mezcla ofrece varias opciones para cubrir los requisitos descritos anteriormente en este tema. La siguiente lista presenta cada requisito y las opciones de la réplica de mezcla que lo cubren.

  • La sincronización de datos debe ser programable.
    La réplica ofrece capacidad de programación mediante procedimientos almacenados y Objetos de administración de réplica (RMO). RMO se utiliza normalmente en aplicaciones móviles. Para obtener más información sobre cómo programar la réplica, vea Replication Programming y Sales Orders Sample Scenario.
  • En la mayoría de aplicaciones móviles, los datos se pueden incluir y actualizar en el sitio central y en los sitios remotos. En las aplicaciones FFA, la mayoría de datos se introducen en sitios remotos.
    La réplica de mezcla proporciona esta capacidad sin especificar ninguna otra opción.
  • Los usuarios remotos incluyen y actualizan datos utilizando un equipo portátil, dispositivo o Tablet PC.
    Los equipos portátiles y los Tablet PC pueden ejecutar SQL Server Standard Edition y otras versiones, pero los dispositivos Pocket PC requieren SQL Server 2005 Compact Edition. La réplica de mezcla permite crear publicaciones y suscripciones que se pueden utilizar con SQL Server 2005 Compact Edition. Para obtener más información, vea Replicar datos en SQL Server Compact Edition.
  • Los usuarios remotos deben poder realizar actualizaciones independientemente, sin necesidad de una conexión al sitio central.
    La réplica de mezcla proporciona esta capacidad sin especificar ninguna otra opción.
  • Puesto que muchos usuarios podrían actualizar los mismos datos de forma independiente, pueden producirse conflictos de datos y éstos deben controlarse.
    La réplica de mezcla proporciona detección y resolución de conflictos en casos en los que se esperan conflictos de datos. Lo mejor es diseñar aplicaciones para evitar conflictos, pero si no es posible se puede seleccionar el mecanismo de resolución de conflictos predeterminado (el primero gana) o utilizar la resolución de conflictos personalizada. Para obtener más información, vea Detectar y resolver conflictos de réplica 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 réplica 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 réplica 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 réplica 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 réplica 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.
  • Algunas tablas requieren filtros, por lo que cada usuario recibe diferentes datos de una o varias tablas. Por ejemplo, cada vendedor sólo puede recibir información de contacto de sus clientes.
    La réplica de mezcla permite filtrar columnas y filas. Los filtros de fila 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 CRM y SFA con frecuencia utilizan filtros con parámetros, pero también pueden utilizar filtros estáticos. Para obtener más información, vea Filtrar datos publicados para la réplica de mezcla.
  • Algunos datos deben tratarse como una unidad cuando se transfieren entre sitios. Por ejemplo, si se envía un pedido desde un usuario remoto al sitio central, el encabezado del pedido debe confirmarse antes que los detalles del pedido.
    La réplica de mezcla permite especificar que un conjunto de tablas relacionadas deben procesarse como una unidad. Esta unidad se conoce como registro lógico. Para obtener más información, vea Agrupar cambios en filas relacionadas con registros lógicos.
  • La aplicación puede necesitar que se ejecute lógica de negocios personalizada al sincronizar los datos.
    La réplica de mezcla permite especificar código que se debe 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 utiliza SQL Server Compact Edition (SQL Server 2005 Compact Edition), los datos se sincronizan a través de una conexión HTTP o HTTPS. En otros 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 réplica 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 necesite consultar los siguientes temas para obtener información sobre tareas habituales de administración y supervisión:

Vea también

Conceptos

Replicar datos entre un servidor y los clientes

Ayuda e información

Obtener ayuda sobre SQL Server 2005