• No se han encontrado resultados

Proceso de sincronización entre sucursales desconectadas

N/A
N/A
Protected

Academic year: 2021

Share "Proceso de sincronización entre sucursales desconectadas"

Copied!
9
0
0

Texto completo

(1)

Proceso de sincronización entre sucursales desconectadas

Requerimiento

Se requiere la implementación de un proceso que integre y sincronice la información que se captura en diferentes sucursales de una misma empresa, las cuales están en diferentes base de datos y desconectadas entre sí, debido a casos en donde su ubicación en campo les impide conectarse con la sucursal central o bien por problemas recurrentes o mal servicio de internet, por lo que requieren que al final de cierto periodo de tiempo (se recomienda un día) se pueda enviar la información recopilada en cada una de las sucursales en la oficina central y actualizar dichas sucursales con la información en la oficina central.

Alcance

Se contempla la implementación de una opción en el menú de herramientas que a partir de la configuración en el sistema en el que establezca si se va a aplicar el modelo de sincronización. Al activar esta opción la aplicación de este modelo en el sistema permitirá trabajar en una sucursal remota de manera desconectada y posteriormente sincronizar su información con la base de datos de la oficina central. Para esto, se pretende tener instalado el sistema en cada oficina remota con bases de datos independientes, donde se estarán registrando los datos capturados, posteriormente se sincronizarán estos datos con la oficina central en un modo bidireccional, es decir, se actualizarán tanto los datos de la oficina central como los datos de la sucursal.

El sistema llevará un control de sincronización en las oficinas remotas indicando la fecha de la última sincronización, por medio de la cual se obtendrán los registros nuevos, modificados y/o eliminados posteriores a esta fecha y serán los que se enviarán hacia el servidor de la oficina central. El proceso de sincronización se hará mediante el servicio Web del sistema al momento en que se puedan conectar desde una sucursal para realizar esta operación.

El proceso de sincronización recorrerá todos los procesos del sistema detectando los registros con cambios (altas, bajas, modificaciones) desde la última fecha de sincronización y los enviará al servidor central. El servidor central los recibirá y también determinará los cambios del proceso en su base de datos desde la última fecha de sincronización con esta sucursal.

(2)

Figura 1. Sincronización entre sucursales.

Limitaciones

Se contempla también que se limite la captura de información de una sucursal estando en otra, es decir que los procesos que se capturan por sucursal solo permiten que se lleve a cabo si el usuario está capturando en la sucursal definida en esa empresa, ya que si este desea capturar información de otra sucursal no se permite debido a que podría provocar inconsistencias al momento de realizar el proceso de sincronización. También se contempla que los catálogos de configuración que no están asociados a una sucursal especifican como los catálogos de unidades, monedas, tipos de cambio, marcas, etc. Solo pueden capturarse desde la sucursal central o matriz debido a que estos no entraran en el proceso de sincronización.

(3)

Configuración

Para activar este modelo es necesario la definición de algunos parámetros de la empresa ciertos valores los cuales se explican a continuación:

Sucursal para sincronizar

Este parámetro es utilizado para indicar si la empresa tiene activado el modelo de sincronización de sucursales, para lo cual solo es necesario indicar la sucursal en la que está operando el sistema. Esto también permite identificar al sistema la sucursal en la que se encuentra actualmente, esto para bloqueos de catálogos que no pueden ser capturados solamente en la sucursal central o matriz. Al igual que en las validaciones para impedir que una sucursal capture información de otra. Esta opción se encuentra en Herramientas>Parámetros de la empresa en el módulo Configuración en la opción "SucursalParaSincronizacion" se selecciona la sucursal en la que se encuentra capturando en caso de no aplicar el modelo de sincronización simplemente se selecciona la opción “No aplica sincronización”.

(4)

Permiso para sincronizar con oficina central

En la sesión donde el usuario necesite realizar la sincronización es necesario habilitar un permiso especial para que tenga habilitada dicha opción, para esto debe habilitar un permiso especial llamado “Sincronizar con oficina central” y que se encuentra en el catálogo de perfiles de usuario dentro del módulo de configuración.

Figura 3 Permiso especial en perfil de usuarios

Una vez hecho esto se habilitará la opción de sincronizar con oficina central en el menú herramientas, después de volver a iniciar sesión del sistema.

(5)

Conexión de la base de datos

El proceso de sincronización requiere que la sucursal en cuestión (desde donde se va a aplicar la sincronización) se conecte temporalmente (mientras se ejecute dicho proceso) a la base de datos de la oficina central o matriz, esto se logra por vía remota a través del uso de una WebService habilitada para nuestro sistema, la cual debe estar configurada en la oficina central. También se requiere los datos y contraseña de la instancia de la base de datos de oficina central para poder accesar a ella.

Esta información se debe definir en la pantalla de configuración de la conexión a la base de datos, en la pestaña de “parámetros de sincronización entre sucursales”. Los datos son los siguientes: A) WebService central: Ruta del web configurado en el servidor de oficina central, es el vínculo con el que se logrará la conexión vía remota.

B) Motor de base datos: Se selecciona de acuerdo al motor de la instancia de base de datos sobre la que opera el sistema.

C) Servidor y/o instancia: Nombre de la instancia de la base de datos en oficina central. D) Modo de autentificación: Por default DBMS.

E) Usuario: Nombre de usuario de la conexión de la base de datos en oficina central. F) Password: Contraseña de acceso de la conexión de la base de datos en oficina central.

(6)

Estos parámetros se guardarán en el archivo de configuración (ConfigVS.xml) y solo se utilizarán cuando se active el parámetro de “SucursalParaSincronizacion” el cual indica que se está operando bajo este modelo. Para ello se modificó tanto la estructura del archivo ConfigVS.xml.

Procesos

Para la ejecución del proceso de sincronización se tiene que realizar desde la sucursal donde se realizó la captura de la información y en un momento en el que pueda conectarse a internet, debido a que hará uso del servicio web VS para conectarse a la base de datos del servidor localizado en la sucursal central o matriz, es aquí donde se requieren los parámetros de conexión de sincronización de sucursales definidos en el archivo configVS.xml y que fueron explicados en el tema anterior.

Sincronización entre sucursales desconectadas

Esta opción se encuentra en Herramientas>Sincronizar con oficina central y los permisos se puede dar permiso desde el catalogo del perfil correspondiente al usuario. La pantalla consiste en un botón para iniciar el proceso y una bitácora que irá mostrando el progreso de la sincronización así como cada proceso que se está sincronizando en ese momento.

Figura 6 Utilería para sincronizar con oficina central

(7)

La sincronización se realizará de manera siguiente:

A) El sistema ira tomando uno por uno de los registros de cada proceso que se van a pasar de cada sucursal.

B) Se procesarán los registros cambiados en la sucursal.

C) Si el registro no existe en matriz, se agregará con los datos de sucursal asegurando que queden con el mismo folio

D) Si el registro existe en matriz pero no está modificado, se actualizarán los datos con los de sucursal.

E) Si el registro existe en matriz y está modificado. Reportar como conflicto y actualizar con los datos de matriz.

F) Procesar los registros cambiados en matriz

G) Si el registro no existe en sucursal, agregar con los datos de matriz, asegurando que queden con el mismo folio.

H) Si el registro existe en sucursal, pero no está modificado, actualizar los datos con los de matriz I) Si el registro existe en sucursal y está modificado, reportar como conflicto y actualizar con los datos de matriz.

J) Se toma en consideración que puede haber conflicto en la sincronización cuando un registro ha sido modificado en ambos puntos, dejando la información de matriz como la información final. K) Al término del proceso de sincronización se entregará una bitácora que reportará los procesos detectados con cambios y el resultado de la sincronización de cada uno.

Se contempla el proceso de sincronización en donde se enviará sólo la información de los procesos modificados y no toda la base de datos y de la forma en que está diseñado puede considerarse ejecutar más de una vez al día, por ejemplo, a la hora de la comida y luego a la hora del cierre, siempre y cuando el internet lo permita. El sistema siempre colocará la fecha de última sincronización al terminar el proceso, por lo que, si al ejecutar se encontrara con una interrupción, el sistema no grabará esta fecha y en la siguiente sincronización se partirá nuevamente desde la fecha grabada.

También, si en algún momento no se sincronizara el sistema en un día por falta de conexión, podría sincronizarse sin problemas el día siguiente ya que sincronizará desde la última fecha de sincronización registrada. El proceso de sincronización requerirá administrar las conexiones a las 2 bases de datos, la de sucursal y la de matriz, además de indicar que se trabajará en modo local desconectado, lo que indica que será necesario especificar la URL del servicio web y los datos de conexión a la base de datos del servidor central.

(8)

Problemas relacionados con la sincronización

El objetivo de la sincronización es que se pueda llevar a cabo diariamente de preferencia en la noche para no interferir con las capturas realizadas en horario de trabajo. Sin embargo puede ser que por diversas situaciones esta no pueda llevarse a cabo diariamente y se aplique después de varios días, por lo que la cantidad de información acumulada puede alentar el proceso de sincronización, sobre todo en los procesos con más volumen de captura. De esta manera un posible problema que pudiera surgir es que la capacidad del webservice para procesar registros está limitada, lo que dará como consecuencia el siguiente mensaje:

Figura 7 Mensaje de exceso de registros a soportar por el webservice

(9)

Lo aconsejable en este punto es darle más capacidad para procesar memoria al webservice lo cual se logra ajustando el administrador de IIS en el parámetro “maxRequestLength” tal como se muestra en la figura siguiente, una vez hecho esto se graban los cambios y se intenta correr de nuevo la sincronización.

Referencias

Documento similar

¿Cómo se traduce la incorporación de ésta en la idea de museo?; ¿Es útil un museo si no puede concebirse como un proyecto cultural colectivo?; ¿Cómo puede ayudar el procomún

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

- Un curso formativo para los técnicos de laboratorio de la UPV sobre la prevención de los residuos en los laboratorios, que se llevará a cabo los días 23, 24, 25, 26 y 27

Gastos derivados de la recaudación de los derechos económicos de la entidad local o de sus organis- mos autónomos cuando aquélla se efectúe por otras enti- dades locales o

Se estima una distancia de más de 11 millones de años luz hablando de una cantidad de sistemas solares que no tendrían espacio en nuestra mente y esto solo hablando del grupo

A partir de la opción “búsqueda en las definiciones” de ambos diccionarios, hemos hecho un listado de todas las entradas en las que aparece la palabra “silencio”; somos

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

En esta investigación se presenta una estrategia de sincronización para redes inalámbricas de sensores, la cual emula el modelo natural de sincronización luminosa