Instructivo de Instalación y Uso:
Requerimientos:
● JRE Versión 8.
● Descomprimir el archivo zipeado y pegar en el directorio de Ejecución decidido por el cliente
● El Usuario encargado de realizar la instalación/ejecución del aplicativo, deberá garantizar que la aplicación tenga permisos de Lectura y escritura sobre los directorios de trabajos.
Diagrama Funcional y Arquitectura:

Descripción y Proceso
El cliente es responsable, ya sea mediante un proceso automático (tarea programada) o manual (operativamente ejecutada por un colaborador), deberá depositar según cronograma consensuado con Workia, todos los archivos de fichadas consolidadas en la carpeta ”C:\hcwork\input” (Windows) o “/home/hcwork/input” (Linux)
La aplicación automáticamente cada 1 minuto, buscará allí las fichadas y remitirá al repositorio de Objetos de HCWork en la plataforma de Amazon S3.
Posterior a esta instancia, los colaboradores de RRHH que posean permisos de tipo Administrador en sus perfiles de usuario, podrán ingresar a nuestra plataforma de HCWork y sobre el módulo de Tiempo y Asistencia, visualizar la totalidad de fichadas procesadas remitidas anteriormente.
Es una aplicación que apoya el envío de fichadas (archivo de texto plano) desde el entorno de los clientes hasta la infraestructura de HcWork, adicionalmente pueden realizar sus implementaciones custom usando las credenciales compartidas.
El cliente es responsable de custodiar la ejecución de la aplicación dentro de sus servidores, así como de garantizar la mayor estabilidad y conexión de red a los servicios de HcWork.
Configuración:
Dentro del archivo comprimido brindado por Workia, existe un archivo de texto plano que solo el personal técnico de HCWork deberá manipular, denominado “application.yml”
Dicho archivo, contiene una serie de parámetros técnicos privados que permitirán establecer la conexión hacia el repositorio compartido de Amazon S3 (sitio donde se disponibiliza los archivos para su procesamiento e importación hacia HCWork).

Sección:
workia:
● homePath: ruta principal donde se depositarán los archivos con las fichadas
● tenant: número de tenant donde se encuentra la compañía
awsCredentials:
● accessKey: Llave de acceso usuario del Bucket S3 asociado a cliente
● secretKey: Clave de acceso usuario del Bucket S3 asociado a cliente
companies
● id: id de la empresa en HCWork
● name: Nombre registrado de la compañía en HCWork
Ejecución Windows
El usuario root/administrador, deberá hacer “Doble Clic” sobre el archivo run.bat y proceder a minimizar la pantalla de la consola.
Importante: En caso de cerrar esta pantalla, la aplicación cortará su ejecución por lo que la
misma, debe permanecer abierta.
El aplicativo establecerá una conexión segura y estable hacia el repositorio compartido de Amazon S3. Cada 1 Minuto, la aplicación buscará archivos nuevos pendientes de envío y procesamiento en el siguiente directorio:
C:\hcwork\input
Ejecución Linux
Debe validar que el archivo run.sh exista y tenga permisos de ejecución, luego por consola iniciarlo, ejemplo:
$ ./run.sh

Importante: Ajustar de manera correcta la sección homePath del archivo application.yml, utilizando la correcta nomenclatura de directorios de Linux. Por ejemplo:
● homePath: /home/hworkSync
Puede visualizar este archivo y se dará cuenta que solo lanza la aplicación en background y la salida estándar de la aplicación, la redirecciona al archivo out.log

Cada administrador, puede realizar los ajustes que crea pertinentes dentro de su entorno.
Verificación de Log: Puede consultar el log a través del archivo out.log, que se debe generar en la carpeta Home del proyecto. Es importante mencionar que las rutas expuestas aquí son referenciales y cada entorno puede observar diferencias
Finalizar Proceso: puede usar cualquier utilidad que permita listar procesos activos, una vez identificado el Id, puede finalizarlo. Ejemplo
$ pstree -p

$ kill 3703
Flujo de HcWorkSync
El proceso de conversión de registros de reloj a fichadas comienza con la unificación de los archivos ubicados en la carpeta de entrada, de acuerdo con la configuración del aplicativo.
Una vez procesado, el archivo se transfiere a una carpeta específica en el servicio de almacenamiento S3, estructurada como "tenant_companyId". Es importante destacar que cada empresa solo puede acceder a la carpeta correspondiente utilizando sus credenciales asociadas a su tenant y companyId.
Al llegar al S3, se desencadena un evento que activa una función lambda, encargada de enviar el archivo al microservicio dedicado a interpretar los registros de reloj. Esta interpretación se realiza conforme a la configuración específica de la empresa, obtenida de la carpeta donde se almacenan los registros de reloj.
Posteriormente, las fichadas son enviadas a novedades para su persistencia, y se genera el reporte correspondiente.
FAQ’S
● ¿Se puede indicar a que IP o pool de IP y puerto se conecta el aplicativo?
La aplicación se conecta automáticamente a través de un identificador de recurso (ARN) y las credenciales correspondientes, eliminando la necesidad de exponer un puerto específico para la conexión. No se realiza una conexión directa a una IP o puerto, ya que la comunicación se gestiona a través de servicios de AWS, la aplicación cada 1 minuto, buscará las fichadas y las remitirá al bucket de HCWork en el servicio de Amazon S3.
● ¿Pueden filtrar las ejecuciones por IP?
Si bien no se implementa un almacenamiento de logs de acceso por consulta al bucket en este momento, se puede implementar para registrar las interacciones con el bucket de Amazon S3. Es importante destacar que estos registros no se utilizan para filtrar las ejecuciones por IP directamente. En su lugar, se almacenan los registros de acceso para futuras referencias. El filtrado de acceso se maneja a través de otro sistema, el Web Application Firewall (WAF), que tiene políticas para permitir o denegar el acceso no autorizado o de terceros. Por lo tanto, mientras que los registros de acceso (access log) proporcionan información detallada sobre las interacciones, las decisiones de filtrado se toman a nivel de políticas de seguridad en el WAF.
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo