Requisitos Previos:
Versión Sispro 9.21.X.X. o superior
Windows Server 2008 R2 o superior (hasta 2018).
Node.js (https://nodejs.org/es/).
versión 8.12.0 a 13.14.0 si Windows Server 2008 R2
versión 14.0.0 o superior si Windows Server 2012 R2 o superior
GIT (https://git-scm.com/).
Abrir puerto TCP y redireccionarlo al puerto del servidor donde se instala Node.js. Por ejemplo abrir el puerto 4000 y redireccionarlo al puerto 4000 del servidor.
Abrir puerto TCP:
Significa que debes permitir el tráfico a través de un puerto específico (en este caso, el puerto 4000) en el firewall del servidor. El puerto TCP es un canal por el cual los datos pueden entrar o salir del servidor. Si el puerto está cerrado, el servidor no podrá recibir ni enviar datos a través de ese puerto.
Un puerto TCP (Transmission Control Protocol) es un número lógico que identifica una conexión específica entre dos dispositivos a través de una red que utiliza el protocolo TCP. Este puerto cumple la función de "puerta" a través de la cual la información entra o sale de un dispositivo, como un servidor o un ordenador personal, durante una comunicación de red.
Los puertos TCP permiten que múltiples aplicaciones en un mismo dispositivo puedan utilizar la red simultáneamente sin interferir entre sí. El protocolo TCP es responsable de garantizar que los datos enviados a través de la red lleguen de manera confiable y en el orden correcto.
Redireccionarlo al puerto del servidor donde se instala Node.js: Una vez abierto el puerto en el firewall, debes asegurarte de que el tráfico entrante por ese puerto sea redirigido al servidor en el puerto donde está corriendo tu aplicación Node.js. En este caso, la redirección ocurre cuando un cliente intenta conectarse al puerto 4000, y hacemos que esa conexión llegue al puerto 4000 del servidor donde Node.js está en funcionamiento.
Este tipo de redireccionamiento se suele hacer con una regla en el firewall o en un router, dependiendo de la infraestructura que estés usando. Por ejemplo, si tu servidor está detrás de un router, deberías configurar el router para redirigir el tráfico del puerto 4000 al servidor interno donde está instalada la aplicación Node.js en el mismo puerto.
Esencialmente, la idea es que desde el exterior se pueda acceder al puerto 4000 del servidor para interactuar con la aplicación Node.js que está corriendo allí.
Nota: puede ser cualquier puerto que se encuentre sin uso. Para fines del ejemplo se utilizó el 5001.
Instalar Node.js
Instalar (siguiente, siguiente, siguiente)
Verificar la instalación en una consola de Windows con el comando “node -v”. Si devuelve el número de la versión instalada, se realizó correctamente la misma. Es importante abrir la consola de Windows luego de terminar la instalación para que tome las variables de entorno que registró.
2. Instalar GIT
2.1. Instalar (siguiente, siguiente, siguiente)
2.2. Verificar la instalación en una consola de Windows con el comando “git --version”. Si devuelve el número de la versión instalada, se realizó correctamente la misma. Es importante abrir la consola de Windows luego de terminar la instalación para que tome las variables de entorno que registró.
3. Crear un directorio para SisproMobile, por ejemplo: \\servidor\sispro\SisproMobile\ y bajar los archivos InstalarSisproMobile.bat, ActualizarSisproMobile.bat, IniciarSisproMobile.bat,
4. CrearServicioSisproMobile.bat y Config.js en este nuevo directorio. Los archivos están en Drive en la carpeta UpSoftware\Instaladores\Sispro Mobile\bats .
5. Instalar archivos del servidor web.
6. Ejecutar el archivo InstalarSisproMobile.bat.
7. Editar configuración de base de datos y puerto para servidor node.js
8. Ir a \\servidor\sispro\SisproMobile\config.js y editar el archivo. Cambiar los datos de puerto y base de datos.
9. Para crear las tablas, funciones y procedimientos almacenados iniciar el servidor con el archivo IniciarSisproMobile.bat
10. Completar la tabla SisproMBOPCampos con el nombre del campo de la tabla OP para cada uno de los campos que se utilizan en los SP. La fecha de ot es necesaria.
11. Por si no existen los campos:
Alter table SisproMBOPCampos
Add versionServidor varchar(50) NULL DEFAULT (NULL)
--Add versionActualizacion int NULL DEFAULT ((0))
12. En la tabla Parametros existe un campo llamado MobileDetalleProcesos, allí se debe colocar una de las tres opciones que siguen: Procesos, Maquina o vacío. Esto sirve para saber cómo agrupar en el SP SisproMBOTDetalleProcesos. Procesos agrupa por nombre de proceso, este valor está colocado por defecto al crear el campo. Para poder agrupar por proceso es necesario que la empresa disponga de los procesos cargados. Máquina agrupa por nombre de máquina. Si queda vacío agrupa por tipo de máquina.
update Parametros set MobileDetalleProcesos = 'Procesos'
13. Crear servicio que levanta el servidor Node.js en caso de reinicio.
13.1. Ejecutar el archivo CrearServicioSisproMobile.bat
13.2.Pregunta por el nombre que queremos darle al servicio, escribir por ejemplo SisproMobile. Si en un cliente hay más de un servidor web en el mismo servidor windows, los servicios deben tener nombres distintos, por ejemplo. SisproMobileOffset y SisproMobileFlexo
13.3. Se va a crear un servicio y se abrirá una pantalla como la siguiente:
14. En el campo path debe ir la ruta al archivo IniciarSisproMobile.bat, para ello hacer click en el botón con tres puntos y buscar la ruta. Al finalizar, presionar el botón “Install service”.
15. Ir a la pantalla de servicios de windows y buscar el servicio creado (SisproMobile). Iniciarlo con botón derecho 🡪 iniciar.
16. crear una excepción en el firewall de windows para el puerto que se seleccionó.
17. Para probar el servidor Node.js abrir Chrome y colocar http://localhost:{puerto}/v22/ , en {puerto} debe ir el puerto configurado, en este ejemplo 4002. Quedaría http://localhost:4002/v22/ y debería responder como la siguiente imagen:
Esto indica que el servidor está funcionando en la computadora local. Para que funcione en la web y fuera de la empresa deben abrir en el router el puerto elegido y redireccionarlo a este servidor. Normalmente si el puerto es el 4002, deben redirigirlo al puerto 4002 del servidor donde está Node.js. Hace falta colocar una excepción en el firewall de windows para este puerto.
ERROR: Failed to connect to SQLEXPRESS in 15000ms
Fijarse que el servicio SQL Server Browser esté corriendo:
18. Crear tarea programada de Windows para actualizar automáticamente el servidor node.js cuando tenga cambios.
18.1. Ir a programador de tareas
18.2. Crear tarea básica con el nombre SisproMobileActualizacion y presionar Siguiente
18.3. Seleccionar la opción Diariamente
18.4 Seleccionar la hora 23:00
18.5 Seleccionar la opción iniciar programa
18.6 Seleccionar el archivo ActualizarSisproMobile.bat
18.7 Finalizar tarea
Si algún cliente requiere personalizar algún Stored Procedure o algún cálculo (por ejemplo velocidad promedio) se debe agregar el nombre del SP o Función en la tabla SisproMBActualizaciones. De esta manera cuando se ejecute la actualización verifica en esa tabla cuales son los SP o Funciones que NO DEBE actualizar.