Diferencia entre revisiones de «SIU-Pilaga/version3.4.0/consideraciones tecnicas»

De SIU
Saltar a: navegación, buscar
(Conectar SIU-Pilagá con SIU-Diaguita)
 
(No se muestran 15 ediciones intermedias de 2 usuarios)
Línea 4: Línea 4:
 
== Consideraciones técnicas ==
 
== Consideraciones técnicas ==
 
=== '''Conectar SIU-Pilagá con otros sistemas''' ===  
 
=== '''Conectar SIU-Pilagá con otros sistemas''' ===  
Para permitir que otros siatemas puedan acceder a los servicios que SIU-Pilagá tiene disponible,
+
Para permitir que otros sistemas puedan acceder a los servicios que SIU-Pilagá tiene disponible
 
# Se debe configurar el archivo '''servidor.ini''' ubicado en la siguiente ruta
 
# Se debe configurar el archivo '''servidor.ini''' ubicado en la siguiente ruta
 
#:
 
#:
Línea 38: Línea 38:
 
api_key= toba
 
api_key= toba
 
</source>
 
</source>
#:
 
#:
 
#:Se puede configurar desde la base de datos o funcionalmente a través de la siguiente ruta: ''Administración / Configuración de parámetros''
 
 
#:
 
#:
 
#:
 
#:
Línea 73: Línea 70:
 
conexion_diaguita ----------------> Activada (Valor por defecto Desactivada)
 
conexion_diaguita ----------------> Activada (Valor por defecto Desactivada)
 
</source>
 
</source>
#:
+
#:Se puede configurar desde la base de datos o funcionalmente a través de la siguiente ruta: ''Administración / Configuración de parámetros''
 
#:
 
#:
 
* '''<u>''En SIU-Diaguita''</u>'''<br />
 
* '''<u>''En SIU-Diaguita''</u>'''<br />
Línea 107: Línea 104:
 
==== Configuración de la base de datos de Arai Proveedores ====
 
==== Configuración de la base de datos de Arai Proveedores ====
  
Para configurar el Siu - Arai Proveedores se debe configurar los parámetros de conexión a la base de datos de Arai Proveedores en el archivo '''instalador.env'''
+
Para configurar el SIU - Araí Proveedores se debe configurar los parámetros de conexión a la base de datos de Araí Proveedores en el archivo '''instalador.env'''
  
 
:<source lang="php" enclose="div">
 
:<source lang="php" enclose="div">
Línea 146: Línea 143:
 
|}
 
|}
  
Una vez configurado los parámetros, al ejecutar el proceso de instalación o actualización automáticamente genera la base de datos central de Arai Proveedores con la estructura de datos actualizada y configura la conexion en SIU-Pilagá.
+
Una vez configurado los parámetros, al ejecutar el proceso de instalación o actualización automáticamente genera la base de datos central de Araí Proveedores con la estructura de datos actualizada y configura la conexión en SIU-Pilagá.
  
 
Para obtener mayor información acerca de la sincronización podrán encontrar los pasos para [http://documentacion.siu.edu.ar/wiki/SIU-Arai/proveedores#Funciones_por_linea_de_Comando | ejecutar la sincronización por linea de comandos]
 
Para obtener mayor información acerca de la sincronización podrán encontrar los pasos para [http://documentacion.siu.edu.ar/wiki/SIU-Arai/proveedores#Funciones_por_linea_de_Comando | ejecutar la sincronización por linea de comandos]
Línea 180: Línea 177:
 
[[Archivo:ARAI conf.png|marco|centro]]
 
[[Archivo:ARAI conf.png|marco|centro]]
  
'''''Modo conectado (valor sí):''''' cada cambio que se realice se sincroniza automáticamente con la base. En Pilagá si se utiliza este estado, solo se podrá cargar personas por la operación ABM - Personas ARAI y no por ABM - Personas<br />
+
'''''Modo conectado (valor sí):''''' cada cambio que se realice se sincroniza automáticamente con la base de Araí Proveedores.<br />
  
'''''Modo desconectado (valor desconectado):''''' si por algún motivo se cae la conexión con la red, se tendrá que poner este estado para poder cargar proveedores y seguir operando. Una vez que se restablezca la conexión, pedirá que se realice una sincronización inicial<br />
+
'''''Modo desconectado (valor desconectado):''''' si por algún motivo se cae la conexión con la red, se tendrá que poner este estado para poder cargar proveedores y seguir operando. Una vez que se restablezca la conexión, pedirá que se realice una sincronización inicial.<br />
  
'''''(Valor no):''''' no se utiliza la funcionalidad Arai (en Pilagá), se carga personas, proveedores  por  ABM - Personas y  ABM – Proveedores<br />
+
'''''(Valor no):''''' no se utiliza la funcionalidad Araí (en Pilagá), se carga personas/proveedores  sin sincronizarse de manera normal.<br />
  
 
=== '''Conectar SIU-Pilagá con la AFIP''' ===
 
=== '''Conectar SIU-Pilagá con la AFIP''' ===
Línea 229: Línea 226:
 
|}
 
|}
  
Una vez configurado los parámetros, al ejecutar el proceso de instalación o actualización automáticamente genera la configuración en SIU-Pilagá y una vez finalizada la instalacion ya se podrá usar el servicio de Afip en el sistema.
+
Una vez configurado los parámetros, al ejecutar el proceso de instalación o actualización automáticamente genera la configuración en SIU-Pilagá y una vez finalizada la instalación ya se podrá usar el servicio de Afip en el sistema.
  
 
=== '''Anonimizar la Base de datos''' ===
 
=== '''Anonimizar la Base de datos''' ===
Línea 256: Línea 253:
 
En ese archivo lo que se tiene es el esquema, tabla, campo y función para anonimizar, entonces devuelve un campo anónimo según la función utilizada.<br />
 
En ese archivo lo que se tiene es el esquema, tabla, campo y función para anonimizar, entonces devuelve un campo anónimo según la función utilizada.<br />
  
=== '''Configuración de comprobantes Jasper''' ===
+
=== '''Configuración para utilizar comprobantes Jasper/PDF''' ===
  
 
==== Requisitos previos ====
 
==== Requisitos previos ====
1.8.x Java Runtime Environment (se requiere tener instalado JRE debido a que se utiliza la tecnología JasperReports para realizar la generación de todos los documentos/comprobantes emitidos por el sistema)
+
Tener instalado, Java Runtime Environment  1.8.x (se requiere JRE debido a que se utiliza la tecnología JasperReports para realizar la generación de todos los documentos/comprobantes emitidos por el sistema)
 +
<br />
 +
==== Configuración de parámetros ====
 +
Configurar el parámetro '''motor_impresion''' con el '''valor JASPER''', esto hacerlo desde la aplicación usando la operación Configuración de parámetros
 +
<br />
 +
[[Archivo:PIL_parametro-motor-impresion.png|marco|centro|parámetro motor impresión]]
 +
<br />
 +
 
 +
==== Ejecución del motor jasper ====
 +
Iniciar el servidor de JasperReports, situándose en .../SIU-Pilaga/bin, y ejecutar el siguiente comando:
 +
 
 +
<source lang="bash" enclose="div">
 +
sudo pilaga_reportes.sh start
 +
</source>
 +
'''''Importante:''' Este comando tiene que estar siempre activo para que se puedan generar los comprobantes en jasper''.
 +
<br />
 +
 
 +
Una estrategia para asegurar que el motor de jasper esté siempre en ejecución es hacerlo mediante un sistema de control de procesos como supervisord  (http://supervisord.org/), este se encarga de que el proceso siempre este activo y si se reinicia el servidor el proceso también se inicie.
 +
<br />
 +
 
 +
=== '''Envíos de email de forma asíncrona''' ===
 +
 
 +
Esta funcionalidad permite a las operaciones que realizan envíos de email poder hacer los envíos asincronicamente, esto significa que la operación puede continuar y el usuario puede seguir operando en el sistema mientras que en un segundo plano se envían los emails sin detener el funcionamiento del sistema.
 +
 
 +
La cola de mensajes se almacena temporalmente en la base de datos de negocios en un schema llamado '''queue''' en una tabla llamada '''queue'''.
 +
 
 +
==== Inicializar cola de envíos ====
 +
 
 +
Al ejecutar el proceso de instalación o actualización del sistema, el instalador generará en el schema '''queue''', la tabla '''queue''' donde se almacenara la cola de mensajes para ser enviado de forma asíncrona.
 +
 
 +
==== Lanzar worker de cola de emails ====
 +
 
 +
Una vez finalizada la instalación o actualización del sistema, cada vez que una operación envía un email este se almacena en una cola de emails en una tabla en la base de datos. Para que esta cola de mensajes sea leída en forma asíncrona y realice los envíos se debe mantener corriendo el siguiente comando en el servidor:
 +
 
 +
<source lang="bash" enclose="div">
 +
 
 +
./pilaga.sh iniciar_workers_emails -p pilaga
 +
 
 +
</source>
 +
 
 +
Una vez ejecutado el comando este inicia un worker que queda en la espera de nuevos mails que se envían a la cola para tomar el mensaje y enviar mediante SMTP el correo electrónico relacionado con el mensaje de la cola al destinatario correspondiente.
 +
 
 +
'''''Importante:''' Este comando tiene que estar siempre activo para que se puedan enviar los mails.''
 +
 
 +
Una estrategia para asegurar que los workers están siempre en ejecución es hacerlo mediante un sistema de control de procesos como supervisord (http://supervisord.org/), este se encarga de que el proceso siempre este activo y si se reinicia el servidor el proceso también se inicie.
 +
 
 +
==== Logs ====
 +
 
 +
Por cada envió se genera un log con información de los mensajes enviados correctamente y los que se generaron un error al enviar, además registra log de si se genera alguna excepción en la ejecución del mismo. Este log se almacena el la carpeta del proyecto que está dentro del directorio de instalación, en el directorio de logs y el archivo tiene el nombre '''queue.log'''
 +
 
 +
==== Parámetro de sistema ====
 +
 
 +
El envío de cada email tiene configurado un retraso por defecto de 3000 milisegundos para evitar que se colapse el servidor SMTP al enviar de forma masiva una cierta cantidad de emails, si se necesita aumentar el valor del tiempo de retraso se debe hacer mediante la configuración de parámetros del sistema, modificando el parámetro llamado '''em_mensaje_retraso'''.
 +
 
 +
<br />
 +
[[Archivo:PIL_parametros_sistema_retraso_async.png|marco|centro]]
 
<br />
 
<br />
  
'''Configurar el parámetro motor_impresion''' con el '''valor JASPER''', esto hacerlo desde la aplicación usando la operación Configuración de parámetros
+
==== Bandeja de emails fallidos ====
 +
 
 +
En el caso que el envío de un email falle se almacenará cada email no enviado en una tabla ‘sau_em_mensaje_reenvio’, luego se puede visualizar un listado de los emails no enviados en la operación '''Bandeja de emails sin enviar''' que se encuentra dentro del menú de Administración y luego Opciones email.
 +
Desde esta operación se puede seleccionar uno o varios emails y volver a enviar, y en el caso de que vuelvan a fallar se volverán a registrar en la tabla de ‘sau_em_mensaje_reenvio’ para que en cualquier momento se vuelva a intentar el reenvío.
 +
En el caso de que no se quiera volver a enviar se puede seleccionar uno o varios emails del listado y eliminarlos definitivamente.
 +
 
 
<br />
 
<br />
[[Archivo:PIL-parametro-motor-impresion|marco|centro|parámetro motor impresión]]
+
[[Archivo:PIL_bandeja_emails_sin_enviar.png|marco|centro]]
 +
<br />
 +
 
 
----
 
----
  
 
[[SIU-Pilaga/version3.4.0|<Volver]]
 
[[SIU-Pilaga/version3.4.0|<Volver]]

Revisión actual del 18:30 5 sep 2019

Siu-pilaga iso.png

Consideraciones técnicas

Conectar SIU-Pilagá con otros sistemas

Para permitir que otros sistemas puedan acceder a los servicios que SIU-Pilagá tiene disponible

  1. Se debe configurar el archivo servidor.ini ubicado en la siguiente ruta
    SIU-Pilaga/instalacion/i__produccion/p__pilaga/rest/servidor.ini
    El contenido de dicho archivo debe ser similar a lo siguiente, quedando configurados los usuarios que se utilizarán desde SIU-Pilagá. Este archivo puede contener otros usuarios para otros sistemas.
    autenticacion = digest

    ;;
    ;;Opciones que recibe la librería - > rest/rest.php
    ;;
    [settings]
    formato_respuesta = json
    url_protegida = /.*/
  2. También se debe configurar el archivo servidor_usuarios.ini ubicado en la siguiente ruta
    SIU-Pilaga/instalacion/i__produccion/p__pilaga/rest/servidor_usuarios.ini
    El contenido de dicho archivo debe ser similar a lo siguiente, quedando configurados los usuarios que se utilizarán desde SIU-Pilagá. Este archivo puede contener otros usuarios para otros sistemas.
    [toba] *** (es el nombre del usuario que se puso en el archivo cliente.ini)
    password = toba *** (es el password del usuario que se puso en el archivo cliente.ini)
    api_key= toba

Conectar SIU-Pilagá con SIU-Diaguita

  • En SIU-Pilagá
Para permitir el acceso externo a recursos de SIU-Diaguita, se debe tener en cuenta las siguientes configuraciones:
  1. Crear una carpeta con el nombre diaguita (en minúsculas) en el directorio:
    SIU-Pilaga/instalacion/i__produccion/p__pilaga/rest
    Dentro de esta carpeta crear un archivo llamado cliente.ini, que va a contener lo siguiente:
    [conexion]
    ;;Recuerde dejar una barra (/) al finalizar la URL
    to = "http://localhost/diaguita/trunk/rest/" ***(es donde apunta la instalación Diaguita sumado del “/rest”)

    auth_tipo = digest ***(tipo de autorización)
    auth_usuario = toba ***(nombre del usuario)
    auth_password = toba ***(password del usuario)
  2. Por ultimo se debe delimitar los siguientes parámetros en la base de datos de Pilagá:
    controla_comprobant_imputacion ---> Activada (Valor por defecto Activada)
    conexion_diaguita ----------------> Activada (Valor por defecto Desactivada)
    Se puede configurar desde la base de datos o funcionalmente a través de la siguiente ruta: Administración / Configuración de parámetros


Conectar SIU-Pilagá con SIU-Mapuche

  • En SIU-Pilagá
Para permitir el acceso externo a recursos de SIU-Mapuche, se debe tener en cuenta las siguientes configuraciones:
  1. Crear una carpeta con el nombre mapuche (en minúsculas) en el directorio:
    SIU-Pilaga/instalacion/i__produccion/p__pilaga/rest
    Dentro de esta carpeta crear un archivo llamado cliente.ini, que va a contener lo siguiente:
    [conexion]
    ;;Recuerde dejar una barra (/) al finalizar la URL
    to = "http://localhost/mapuche/trunk/rest/" ***(es donde apunta la instalación Diaguita sumado del “/rest”)

    auth_tipo = digest ***(tipo de autorización)
    auth_usuario = toba ***(nombre del usuario)
    auth_password = toba ***(password del usuario)

Conectar SIU-Pilagá con SIU-Arai Proveedores

Configuración de la base de datos de Arai Proveedores

Para configurar el SIU - Araí Proveedores se debe configurar los parámetros de conexión a la base de datos de Araí Proveedores en el archivo instalador.env

###### CONFIG DE BASE DE DATOS ARAI PROVEEDORES ######
ARAI_PROV_DB_HOST=localhost
ARAI_PROV_DB_PORT=5432
ARAI_PROV_DB_DBNAME=db_arai_proveedores
ARAI_PROV_DB_USERNAME=postgres
ARAI_PROV_DB_PASSWORD=postgres
ARAI_PROV_DB_SCHEMA=public
ARAI_PROV_DB_ENCODING=UTF8
Variable de entorno Descripción
ARAI_PROV_DB_HOST el host/ip del equipo donde corre la base de datos
ARAI_PROV_DB_PORT el puerto donde corre la base de datos
ARAI_PROV_DB_DBNAME el nombre de la base de datos de proveedores
ARAI_PROV_DB_USERNAME el usuario para la conectarse a la base de datos
ARAI_PROV_DB_PASSWORD la clave del usuario para conectarse a la base de datos
ARAI_PROV_DB_SCHEMA el nombre del esquema dentro de la base de datos
ARAI_PROV_DB_ENCODING la codificación de caracteres de la base de datos. (UTF8 por defecto)

Una vez configurado los parámetros, al ejecutar el proceso de instalación o actualización automáticamente genera la base de datos central de Araí Proveedores con la estructura de datos actualizada y configura la conexión en SIU-Pilagá.

Para obtener mayor información acerca de la sincronización podrán encontrar los pasos para | ejecutar la sincronización por linea de comandos

Estados de Sincronización

El cambio de los estados se puede hacer manualmente desde los parámetros del sistema, para modificarlo vamos a:

Administración/Configuración de Parámetros (aplicar_sincronizacion_arai_prov)

ARAI conf.png

Modo conectado (valor sí): cada cambio que se realice se sincroniza automáticamente con la base de Araí Proveedores.

Modo desconectado (valor desconectado): si por algún motivo se cae la conexión con la red, se tendrá que poner este estado para poder cargar proveedores y seguir operando. Una vez que se restablezca la conexión, pedirá que se realice una sincronización inicial.

(Valor no): no se utiliza la funcionalidad Araí (en Pilagá), se carga personas/proveedores sin sincronizarse de manera normal.

Conectar SIU-Pilagá con la AFIP

Los pasos que se describen a continuación permiten configurar el acceso a recursos de la AFIP expuestos mediante servicios web.

Uso

En primer lugar para poder utilizar el servicio es necesario generar un certificado y una clave desde los servicios de AFIP.

Una vez generado el certificado se debe autorizar el servicio: Servicio Consulta Padron A4 (ws_sr_padron_a4).

Para obtener información de como obtener el certificado y la clave para utilizar el servicio ir a | Documentación Técnica de los WS de AFIP

Configuración

Una vez generado el certificado y la clave en Afip se debe proceder a configurar en el archivo instalador.env los parámetros de configuración de la Api.

###### CONFIG AFIP WS ######
AFIP_WS_CUIT=cuit
AFIP_WS_CERT=/ruta/a/cert
AFIP_WS_KEY=/ruta/a/key
AFIP_WS_TOKEN_DIR=/ruta/a/generacion/token

Parámetros de configuración disponibles

Parametro Descripcion
AFIP_WS_CUIT (int) El CUIT a usar en los Web Services.
AFIP_WS_CERT (string)Ruta absoluta donde se encuentra el certificado
AFIP_WS_KEY (string)Ruta absoluta donde se encuentra la clave
AFIP_WS_TOKEN_DIR (string)Ruta absoluta donde la lib genera el token (requiere permisos de escritura)

Una vez configurado los parámetros, al ejecutar el proceso de instalación o actualización automáticamente genera la configuración en SIU-Pilagá y una vez finalizada la instalación ya se podrá usar el servicio de Afip en el sistema.

Anonimizar la Base de datos

Backup Anonimizado

Éste es un comando nuevo incorporado a partir de la versión 3.4.0 y está pensado para que cuando necesiten enviar su base de datos, por algún problema, lo hagan de forma que los datos no contengan valores reales de las personas.
La forma de utilizar este comando es la siguiente:
Acceder por línea de comandos a la carpeta bin del sistema y ejecutar

Para Linux

sh pilaga.sh base anonimizar_base

Para Windows

pilaga.bat base anonimizar_base


El backup anonimizado será exportado dentro de la carpeta que se especifica en el archivo ../bin/pilaga.sh o ../bin/pilaga.bat para la variable "pilaga_directorio_exportacion"
Cuando se corre el comando para exportar la base, lo que está haciendo el comando es ejecutar un pg_dump y luego pasarle esos datos a un ejecutable llamado mask.
Éste ejecutable compilado en C recorre la salida del pg_dump y compara los datos con un archivo llamado mask.conf.pilaga.
En ese archivo lo que se tiene es el esquema, tabla, campo y función para anonimizar, entonces devuelve un campo anónimo según la función utilizada.

Configuración para utilizar comprobantes Jasper/PDF

Requisitos previos

Tener instalado, Java Runtime Environment 1.8.x (se requiere JRE debido a que se utiliza la tecnología JasperReports para realizar la generación de todos los documentos/comprobantes emitidos por el sistema)

Configuración de parámetros

Configurar el parámetro motor_impresion con el valor JASPER, esto hacerlo desde la aplicación usando la operación Configuración de parámetros

parámetro motor impresión


Ejecución del motor jasper

Iniciar el servidor de JasperReports, situándose en .../SIU-Pilaga/bin, y ejecutar el siguiente comando:

sudo pilaga_reportes.sh start

Importante: Este comando tiene que estar siempre activo para que se puedan generar los comprobantes en jasper.

Una estrategia para asegurar que el motor de jasper esté siempre en ejecución es hacerlo mediante un sistema de control de procesos como supervisord (http://supervisord.org/), este se encarga de que el proceso siempre este activo y si se reinicia el servidor el proceso también se inicie.

Envíos de email de forma asíncrona

Esta funcionalidad permite a las operaciones que realizan envíos de email poder hacer los envíos asincronicamente, esto significa que la operación puede continuar y el usuario puede seguir operando en el sistema mientras que en un segundo plano se envían los emails sin detener el funcionamiento del sistema.

La cola de mensajes se almacena temporalmente en la base de datos de negocios en un schema llamado queue en una tabla llamada queue.

Inicializar cola de envíos

Al ejecutar el proceso de instalación o actualización del sistema, el instalador generará en el schema queue, la tabla queue donde se almacenara la cola de mensajes para ser enviado de forma asíncrona.

Lanzar worker de cola de emails

Una vez finalizada la instalación o actualización del sistema, cada vez que una operación envía un email este se almacena en una cola de emails en una tabla en la base de datos. Para que esta cola de mensajes sea leída en forma asíncrona y realice los envíos se debe mantener corriendo el siguiente comando en el servidor:

./pilaga.sh iniciar_workers_emails -p pilaga

Una vez ejecutado el comando este inicia un worker que queda en la espera de nuevos mails que se envían a la cola para tomar el mensaje y enviar mediante SMTP el correo electrónico relacionado con el mensaje de la cola al destinatario correspondiente.

Importante: Este comando tiene que estar siempre activo para que se puedan enviar los mails.

Una estrategia para asegurar que los workers están siempre en ejecución es hacerlo mediante un sistema de control de procesos como supervisord (http://supervisord.org/), este se encarga de que el proceso siempre este activo y si se reinicia el servidor el proceso también se inicie.

Logs

Por cada envió se genera un log con información de los mensajes enviados correctamente y los que se generaron un error al enviar, además registra log de si se genera alguna excepción en la ejecución del mismo. Este log se almacena el la carpeta del proyecto que está dentro del directorio de instalación, en el directorio de logs y el archivo tiene el nombre queue.log

Parámetro de sistema

El envío de cada email tiene configurado un retraso por defecto de 3000 milisegundos para evitar que se colapse el servidor SMTP al enviar de forma masiva una cierta cantidad de emails, si se necesita aumentar el valor del tiempo de retraso se debe hacer mediante la configuración de parámetros del sistema, modificando el parámetro llamado em_mensaje_retraso.


PIL parametros sistema retraso async.png


Bandeja de emails fallidos

En el caso que el envío de un email falle se almacenará cada email no enviado en una tabla ‘sau_em_mensaje_reenvio’, luego se puede visualizar un listado de los emails no enviados en la operación Bandeja de emails sin enviar que se encuentra dentro del menú de Administración y luego Opciones email. Desde esta operación se puede seleccionar uno o varios emails y volver a enviar, y en el caso de que vuelvan a fallar se volverán a registrar en la tabla de ‘sau_em_mensaje_reenvio’ para que en cualquier momento se vuelva a intentar el reenvío. En el caso de que no se quiera volver a enviar se puede seleccionar uno o varios emails del listado y eliminarlos definitivamente.


PIL bandeja emails sin enviar.png



<Volver