Anda di halaman 1dari 17

Manual de usuario para la parametrizacin de la sincronizacin

Fichero: Manual usuario sincronizacin Versin: 1.0 Sevilla, 3 de febrero de 2010

Histrico de cambios Responsable Alicia Palacios Serrano Alicia Palacios Serrano Alicia Palacios Serrano 03/02/10 13/09/2010 30/09/10 Fecha Creacin Actualizacin Actualizacin Cambios

ndice de contenido 1.Introduccin...............................................................................................................4 2.Creacin de una nueva parametrizacin.........................................................................5 3.Creacin de puntos de sincronizacin.............................................................................6
3.1. 3.2. 3.3. 3.4. Datos del punto de sincronizacin.......................................................................................9 Registros de sincronizacin..............................................................................................12 LOG de errores ..............................................................................................................12 Registros pendientes.......................................................................................................13

4.Contraseas para la sincronizacin...............................................................................14 5.Proceso Background...................................................................................................15 6.Alertas.....................................................................................................................17

Pgina 3/17

1.Introduccin
El presente documento tiene como objetivo servir de gua a la hora de crear una nueva parametrizacin para la sincronizacin de Openbravo y una aplicacin externa. Los pasos que se detallan a continuacin tomarn como aplicacin externa SugarCRM. Las versiones necesarias para poder instalar el mdulo de sincronizacin son:

Openbravo 2.50 MP16 o superior. SugarCRM 5.2.0k

Pgina 4/17

2.Creacin de una nueva parametrizacin


El primer paso es crear una nueva Parametrizacin de sincronizacin. Para ello desde Aplicacin>Parametrizacin de sincronizacin pulsamos Nuevo. Se nos muestra el siguiente formulario:

Significado de los campos:

Orden de ejecucin: con este campo le indicamos al proceso background en qu orden deben ejecutarse las distintas sincronizaciones, en caso de que exista ms de una. Por defecto Openbravo, le asigna un valor autocalculado. Nombre: nombre con el que identificaremos la sincronizacin. Activo: si no marcamos este campo, esta sincronizacin no se ejecutar. Aplicacin externa: aplicacin con la que vamos a sincronizar Openbravo, en nuestro caso ser SugarCRM. Versin: es la versin de la aplicacin externa que vamos a utilizar. Endpoint: ruta de los servicios web. Normalmente tendr el siguiente formato http://ruta_SugarCRM/soap.php. Versin del Web Service: versin de los servicios web de SugarCRM. Usuario conexin: nombre de usuario de SugarCRM que utilizarn los servicios web para obtener e insertar informacin. Este usuario debe tener permisos para acceder a toda la informacin que se est consultando o insertando. En esta ventana se muestra en solo lectura. Ser en la ventana Contraseas sincronizacin donde se podrn editar los campos Usuario y Password. Lanzar sincronizacin: mediante este botn podemos sincronizar manualmente todos los puntos contenidos en esa sincronizacin. Por ejemplo si lo ejecutamos en la sincronizacin de terceros, se sincronizarn los contactos y las cuentas. Este botn no debe usarse mientras el proceso de sincronizacin est programado para ejecutarse, ya que podra provocar duplicidad de datos en alguno de los dos sistemas.

Pgina 5/17

3.Creacin de puntos de sincronizacin


Una vez creada la sincronizacin, tal y como se ha explicado en el punto anterior, el siguiente paso es crear los distintos puntos de sincronizacin. Cada punto de sincronizacin se corresponder con una tabla a sincronizar. Para crear un punto nuevo, pulsamos Nuevo desde la pestaa 'Puntos de sincronizacin'. Se nos mostrar un formulario como el siguiente:

Significado de los campos:

Orden de ejecucin: este campo nos servir para indicarle al proceso background en qu orden queremos que se ejecuten los distintos puntos de sincronizacin. Es recomendable que primero se ejecuten los puntos correspondientes a las tablas maestras y despus los puntos que hagan uso de dichas tablas. Activo: si no marcamos este campo, este punto de sincronizacin no se ejecutar. Nombre: nombre para identificar el punto de sincronizacin. Fecha ltima ejecucin: este campo es de solo lectura y se actualizar despus de cada ejecucin del proceso de sincronizacin, para indicar cundo fue la ltima vez que se sincroniz la tabla. ltima ejecucin: al igual que el campo anterior se actualizar con la hora de la
Pgina 6/17

ltima ejecucin del proceso de sincronizacin.

Usuario ltima ejecucin: campo de solo lectura que nos indicar qu usuario ha realizado la sincronizacin. Deber ser el usuario Openbravo el que realice el proceso de sincronizacin. ltima ejecucin Ap.externa->Openbravo: En este campo se almacenar la hora de modificacin del ltimo registro de la aplicacin externa que se sincroniz desde la Ap.externa a Openbravo. De esta forma, la prxima vez que se ejecute la sincronizacin se buscarn los registros que ese hayan modificado despus de esta fecha/hora. ltima ejecucin Openbravo->Ap.externa: En este campo se almacenar la hora de actualizacin del ltimo registro de Openbravo que se sincroniz de Openbravo a la Aplicacin externa. De esta forma, la prxima vez que se ejecute la sincronizacin se buscarn los registros que ese hayan modificado despus de esta fecha/hora. Nota importante: para sincronizaciones que se realizan en los dos sentidos hay que tener en cuenta que para evitar que los registros que se acaban de sincronizar en un sentido lo hagan tambin en sentido contrario por la fecha de actualizacin, sin ser necesario, existe la restriccin de que nicamente se sincronizarn:

En Openbravo: registros que hayan sido modificados por un usuario que no sea el usuario Openbravo que es el que realiza el proceso de sincronizacin, excepto cuando el registro an no exista en la aplicacin externa. Es decir, se puede crear un registro con el usuario Openbravo y se sincronizar, pero no se puede actualizar con dicho usuario. Esto es til en migraciones de datos, en las cuales el usuario asignado puede ser Openbravo. En la aplicacin externa (SugarCRM) : registros que hayan sido modificados por un usuario que no sea el usuario admin, por el mismo motivo que en el caso anterior. La diferencia es que en este caso, tampoco se sincronizarn registros creados por el usuario admin, ya que en la aplicacin externa no existe el registro de sincronizacin

ltima ejecucin borrado: Fecha y hora en la cual se ejecut por ltima vez un borrado en la aplicacin externa. Coincide con la fecha y hora de borrado del ltimo registro eliminado. Hay que tener en cuenta que en MySQL no se pueden almacenar milisegundos en los campos de tipo datetime, por tanto se puede dar el caso en el que varios usuarios borren o actualicen registros al mismo tiempo. Aqu habr que tener en cuenta que en la siguiente sincronizacin obtendremos los registros con fecha mayor o igual que la ltima fecha de borrado, es decir, habr que adaptar el valor del campo N mximo de registros al volumen de registros borrados o actualizados que tengan la misma fecha de actualizacin (esto es importante para actualizaciones o borrados masivos) para asegurarnos que obtenemos todos los registros. Sentido: nos indica en qu sentido se realizar la sincronizacin. Hay 3 posibles valores:

Openbravo Ap. Externa : los datos se sincronizarn desde Openbravo hacia la Aplicacin externa. Ap. Externa Openbravo : los datos se sincronizarn desde la Aplicacin externa hacia Openbravo. Openbravo Ap. Externa: si seleccionamos esta opcin se nos mostrar otro desplegable en cul debemos indicar cul de las dos aplicaciones tiene prioridad, es decir, en qu sentido se sincronizar primero.

Pgina 7/17

Categora del log: este desplegable tiene los siguiente valores:


Escribir en tabla de LOG: los errores se escriben en la tabla de LOG. Escribir en fichero y tabla de LOG: los errores se escriben en la tabla de LOG y en el fichero de log de Openbravo situado en carpeta logs de Tomcat (normalmente denominado openbravo.log).

Tabla de Openbravo: indicamos qu tabla de Openbravo se va a sincronizar. Cond. WHERE Openbravo: este campo se rellenar en caso de que solo queramos sincronizar determinados registros de la tabla que se ha seleccionado en 'Tabla de Openbravo'. Por ejemplo si solo deseamos sincronizar los terceros que sean Alumnos escribiremos: ob.acdAlumno=true Ntese que hay que utilizar el alias ob para referirnos a la tabla que estamos sincronizando. En cuanto al nombre de los campos, no se utilizar el nombre del campo en base de datos sino el nombre que toma dicho campo en la clase java (valor de la constante PROPERTY_nombre_campo). La sentencia que se escriba en este campo ser la que utilice el proceso de sincronizacin como parte de la clusula where, por lo que es importante que la sintaxis sea correcta. Para facilitar esta tarea, es recomendable instalar el mdulo HQL Query Tool en el cual podemos crear y ejecutar sentencias HQL y ver el resultado. Tambin podemos visualizar todas las propiedades de una determinada clase.

Cond. orden Openbravo: este campo se rellenar en caso de que queramos obtener los resultados ordenados por algn campo en concreto de la tabla de Openbravo que estamos sincronizando. Tabla de aplic. Externa: en este campo indicaremos qu tabla de la aplicacin externa queremos sincronizar. Nombre mdulo apl. Externa: en el caso de SugarCRM nombre del mdulo asociado a la tabla que hemos indicado en Tabla de aplic. Externa. A veces puede coincidir con el nombre de la tabla, pero hay que escribirlo respetando maysculas, por ejemplo, el mdulo de la tabla contacts es Contacts Cond. WHERE aplic. Externa: este campo se rellenar en caso de que solo queramos sincronizar determinados registros de la tabla que se ha seleccionado en 'Tabla de aplic. Externa'. Por ejemplo si solo deseamos sincronizar los terceros que sean Alumnos escribiremos: contacts.alumno=1. En este caso debemos utilizar como alias el nombre de la tabla con la que estamos trabajando, y el nombre del campo de la base de datos. Cond. orden aplic. Externa : este campo se rellenar e caso de que queramos obtener los resultados ordenados por algn campo en concreto de la tabla de la aplicacin externa que estamos sincronizando. N mximo de registros: N mximo de registros que se pueden obtener en la llamada a los servicios web de la aplicacin externa

Lanzar sincronizacin: mediante este botn podemos sincronizar manualmente el punto de sincronizacin en el cual nos encontramos. Este botn no debe usarse mientras el proceso de sincronizacin est programado para ejecutarse, ya que podra provocar duplicidad de datos en alguno de los dos sistemas.
Pgina 8/17

3.1. Datos del punto de sincronizacin


Desde esta ventana vamos a configurar cada campo que queramos sincronizar de Openbravo y el campo con el que se corresponde en la aplicacin externa y viceversa. El campo debe pertenecer a la tabla indicada en el punto de sincronizacin en Tabla de aplic. Externa. Si pulsamos el botn Nuevo, se nos mostrar un formulario como el de la imagen:

Significado de los campos:

Nombre del dato: nombre del campo que queremos sincronizar. No es necesario que se corresponda con el nombre de la base de datos. Descripcin: descripcin del campo que vamos a sincronizar. Origen dato Openbravo: mediante esta lista desplegable indicamos de dnde procede la informacin que vamos a sincronizar de Openbravo. Las distintas opciones son :

Columna: si la informacin que vamos a sincronizar es una columna de Openbravo. Sentencia SQL: si la informacin se obtiene mediante una consulta a la base de datos de Openbravo. Esta sincronizacin solo se ejecutar cuando el sentido de la misma sea Openbravo->Ap. Externa, y se ignorar si la sincronizacin es en sentido contrario, ya que la columna de la aplicacin externa no tendra correspondencia con ninguna columna en Openbravo. Para obtener un determinado campo del registro que estamos sincronizando utilizaremos la expresin @actual_table_id@ en la clausula where y en el proceso ser sustituida por el id del registro que se est sincronizando. Ejemplo: estamos sincronizando la tabla c_bpartner y en un campo de la aplicacin externa queremos guardar el nombre del tercero y el dni concatenados. Entonces para obtenerlos en Openbravo crearamos una SQL as:

Pgina 9/17

SELECT (C_BPARTNER.NAME || ' ' || C_BPARTNER.TAXID) FROM C_BPARTNER WHERE C_BPARTNER.C_BPARTNER_ID= @actual_table_id@

Valor fijo: si seleccionamos esta opcin se nos mostrar un campo con el nombre Valor fijo Openbravo en el cual indicaremos qu valor se va a asignar siempre al campo correspondiente en la aplicacin externa.

Tipo dato Openbravo: en esta lista desplegable indicaremos el tipo de la informacin de Openbravo que queremos sincronizar. Hay varias opciones:

Boolean Decimal Fecha Hora Numrico Sin definir Texto

Columna Openbravo: en esta lista desplegable se nos muestran todos los campos de la tabla de Openbravo que hayamos seleccionado en el punto de sincronizacin. Este campo se mostrar en caso de haber seleccionado la opcin Columna en el campo Origen dato Openbravo. Origen dato aplic. Externa: mediante esta lista desplegable indicamos de dnde procede la informacin que vamos a sincronizar de la aplicacin externa. Las distintas opciones son :

Columna: si la informacin que vamos a sincronizar es una columna de la aplicacin externa. Sin correspondencia en Ap. externa: seleccionaremos esta opcin cuando el campo de Openbravo que queremos sincronizar no tiene ningn campo que se corresponda en la aplicacin externa, sino que dicho valor lo podemos obtener de tablas propias de Openbravo. Al seleccionar este desaparecen los campos

Columna de aplic. externa Es Id. aplic. externa Es clave ajena de ap. externa Clave ajena en Openbravo: marcamos este campo para indicar que el valor que queremos obtener es clave ajena de otra tabla de Openbravo. Tabla de la clave ajena: indicamos la tabla de la cual es clave ajena el campo. Valor por defecto: en caso de que no se encuentre el valor que tiene el campo Columna Openbravo en la tabla Tabla de la clave ajena se asignar el valor que hayamos designado como valor por defecto en este campo.

Y se nos muestran otros tres:

Valor fijo: si seleccionamos esta opcin se nos mostrar un campo con el nombre Valor fijo Ap. externa en el cual indicaremos qu valor se va a asignar siempre al campo correspondiente en Openbravo.

Tipo dato aplic. Externa: en esta lista desplegable indicaremos el tipo de la


Pgina 10/17

informacin de la aplicacin externa que queremos sincronizar. Hay varias opciones:


Boolean Decimal Fecha Hora Numrico Sin definir Texto Nota: es muy importante indicar correctamente de qu tipo es cada campo que queremos sincronizar para evitar errores de formato en el proceso de insercin o modificacin de los datos.

Columna de aplic. Externa:en este campo indicamos el nombre del campo de la aplicacin externa que queremos sincronizar. Es Id. aplic. Externa: si se marca este campo, estamos indicando que los campos que estamos sincronizando se corresponden con la clave principal de la tabla de la aplicacin externa. Es clave ajena de ap. externa: si se marca esta opcin, estamos indicando que el campo que estamos sincronizando en la aplicacin externa es clave ajena de otra tabla. Cuando marcamos el check se nos muestran dos campos:

Mdulo de ap. externa: aqu indicaremos de qu mdulo es clave ajena el campo en la aplicacin externa. Para el caso de SugarCRM hay que tener especial cuidado con las maysculas y minsculas, y tener en cuenta que algunas veces el nombre de la tabla difiere del nombre del mdulo. Por ejemplo si ponemos como nombre del mdulo contacts el servicio web no reconocera este nombre como nombre de un mdulo , pero sin ponemos Contacts si lo hara. En este caso no hay que indicar con qu columna de la aplicacin externa se relaciona la columna de Openbravo, ya que al indicar que es clave ajena y decirle el mdulo de la clave ajena el servicio web relacionar los dos registros.

Indicar campo relacionado: este campo nicamente se marcar en el caso de que el campo que estamos sincronizando en la aplicacin externa sea una clave ajena de otra tabla pero no haya definida una relacin entre las dos tablas. Por ejemplo, en Contactos existe el campo Pas que hace referencia a la tabla donde se encuentran los pases, sin embargo no existe una relacin creada entre estos dos mdulos, por lo tanto hay que indicar el campo con el cual se relaciona por ejemplo: id_paises. Al marcar este campo se nos muestra de nuevo Columna de aplic. Externa para indicar el campo relacionado.

Mdulo de ap. externa: en este campo indicamos el nombre del mdulo de la aplicacin externa del cual es clave ajena el campo que estamos sincronizando. Se debe rellenar tanto en el caso de seleccionar Mdulo de ap. externa como Indicar campo relacionado.

Pgina 11/17

3.2. Registros de sincronizacin


En esta ventana se van a ir almacenando para cada punto de sincronizacin parejas de identificadores identificador Openbravo identificador Ap. externa las cuales representan las relaciones entre los registros de Openbravo y los registros de la aplicacin externa.

Esta ventana es de solo lectura y se ir actualizando con los nuevos registros que vayamos sincronizando. Veamos el significado de cada campo:

Activo: este campo nos indica si la relacin existe o si los registros han sido eliminados de ambos sistemas. Cada vez que un registro que haya sido sincronizado anteriormente se elimina, el campo Activo se actualiza a 'N' quedando desmarcado el check. Punto de sincronizacin: nos indica el punto de sincronizacin al cual pertenecen los registros sincronizados. Tabla de Openbravo: tabla de Openbravo que se ha sincronizado. Identificador Openbravo: identificador del registro que se ha sincronizado. Tabla Ap. externa: tabla de la ap. externa que se ha sincronizado. Identificador aplic. Externa: registro de la aplic. Externa que se ha sincronizado y con el cual se corresponde el registro Identificador Openbravo. ltima sincronizacin: nos indica fecha y hora de la ltima vez que se sincronizaron ambos registros (la hora es visible en la vista grid).

3.3. LOG de errores


En esta ventana tambin de solo lectura, se irn registrando los errores que se vayan produciendo durante el proceso de sincronizacin. Cada registro de la ventana recoger los errores ocurridos en un punto de sincronizacin a lo largo del da. La ventana muestra los siguientes campos:

Punto de sincronizacin: punto al cual pertenecen los errores que se muestran. Fecha/hora: fecha en la cual se han producido los errores. La hora corresponde con la ltima hora en laque se produjo un error el da en cuestin. Cada registro del LOG de errores se corresponde con un da. Mensaje de error: en este campo se irn concatenando los errores que se vayan produciendo en el punto de sincronizacin a lo largo del da.
Pgina 12/17

Por cada entrada de LOG de errores se generar una Alerta en Openbravo, indicando en qu punto se ha producido el error.

3.4. Registros pendientes


En esta ventana se almacenarn los registros que por algn motivo no se han podido sincronizar desde la aplicacin externa a Openbravo para tenerlos en cuenta en sucesivas sincronizaciones.

La ventana muestra los siguientes campos:

Punto de sincronizacin: es el punto al cual pertenece el registro que ha producido el error. Identificador: es el identificador del registro en la aplicacin externa. Insercin o actualizacin: nos indica si el error se produjo al intentar insertar o actualizar el registro desde la aplicacin externa a Openbravo. Borrado: nos indica si el error se produjo al intentar eleiminar el registro de Openbravo.

Una vez el registro se haya sincronizado correctamente ser eliminado de esta tabla.

Pgina 13/17

4. Contraseas para la sincronizacin


En esta ventana se establecern el usuario y contrasea de la aplicacin externa que nos permitir conectarnos a travs de los servicios web para obtener la informacin necesaria. El usuario debe tener permisos de administrador en la aplicacin externa para poder acceder a todos los registros que queramos sincronizar.

Pgina 14/17

5. Proceso Background
Al instalar el mdulo de Sincronizacin, tanto el proceso background encargado de ejecutar la sincronizacin como la alerta que se genera en caso de error, se crearn al cargar el mdulo para la organizacin * desde: Configuracin General || Organizacin || Gestin del mdulo de Empresa

El proceso background se crear desprogramado. Para configurar la frecuencia e intervalo con el cual queremos que se ejecute, vamos a la ventana Configuracin General || Planificador de procesos || Procesamiento de Peticiones y buscamos el proceso llamado Proceso Sincroniz. (Background) como se ve en la siguiente imagen:

Una vez se haya indicado la frecuencia e intervalo deseados se programa el proceso


Pgina 15/17

pulsando el botn Reprogramar Proceso. A partir de entonces la ejecucin peridica del proceso aparecer en el monitor de procesos junto con el resto de procesos que se ejecutan en la aplicacin. Para ms informacin, ver la ventana Configuracin General || Planificador de procesos || Monitor de Procesos.

Pgina 16/17

6. Alertas
En el proceso de carga de mdulo que se ha explicado en el punto anterior, se crear una alerta denominada SYNCHRONIZATION ERROR, a la que se le tendrn que definir los receptores y proceder a activarla:

La alerta se traduce a es_ES como Errores de sincronizacin y ser lanzada una vez por cada punto de sincronizacin en el que se de el error. Al pulsar sobre el Registro se mostrar la solapa LOG de errores en la cual se podr ver el mensaje completo del error.

Pgina 17/17

Anda mungkin juga menyukai