Suscribirse

PCSoft

Simplificando el Desarrollo de Servicios: Windev en Windows y Linux

En el ámbito del desarrollo de software, la creación de servicios backend que sean eficientes, confiables y multiplataforma es esencial para el soporte de aplicaciones modernas.

Este post forma parte de mi historial técnico sobre PCSoft. Lo mantengo publicado porque puede seguir siendo útil para quienes trabajan con ese ecosistema.

En el ámbito del desarrollo de software, la creación de servicios backend que sean eficientes, confiables y multiplataforma es esencial para el soporte de aplicaciones modernas. Gracias a herramientas como Windev, este proceso no solo se ha simplificado sino que también se ha hecho accesible para desarrolladores que buscan desplegar sus soluciones en distintos entornos operativos. En nuestro último tutorial, exploramos cómo Windev facilita este proceso, con un enfoque particular en Windows y Linux.

Nuestro viaje comienza con la clase csPersistence, una implementación sencilla pero poderosa diseñada para registrar eventos en un archivo de log. Mediante el método logDate, esta clase captura el momento exacto en que se ejecuta y lo almacena en un archivo de texto. Este ejemplo práctico no solo demuestra la facilidad con la que se pueden manejar archivos en Windev sino que también sienta las bases para la creación de servicios más complejos.

Windev brilla especialmente cuando se trata de desarrollar y desplegar servicios en Windows. La integración nativa y las herramientas visuales permiten una configuración sencilla y un despliegue sin complicaciones. A lo largo del recorrido, detallamos cada paso necesario para que tu servicio cobre vida en un entorno Windows, asegurando que incluso los desarrolladores menos experimentados puedan seguir el proceso sin problemas.

La verdadera magia surge cuando llevamos nuestro servicio a Linux. A pesar de las diferencias entre sistemas operativos, Windev permite una transición suave con mínimas modificaciones. Este segmento del tutorial es crucial para aquellos interesados en la compatibilidad multiplataforma, ya que demuestra que, con las herramientas adecuadas y un poco de ingenio, es posible desarrollar servicios que funcionen tanto en Windows como en Linux.

Este es el código de inicialización para adaptar el servicio a Linux.

gsServiceName is string = “logDate”

lsExePath is string = ExeInfo(exeName)

IF InServiceMode() = False AND InTestMode() = False THEN

IF ServiceExist(gsServiceName) = False THEN

Service.Startup = serviceStartupAutomatic

Service.DelayedStartup = False

Service.Type = serviceTypeSimple

Service.Description = “Servicio de persistencia de fechas en disco”

Service.LongDescription = “Servicio de persistencia de fechas en disco”

Service.StartupError = serviceErrorLog

Service.CommandLine = ExeInfo(exeName)

Service.User = AccountLocalSystem

Service.TimeoutBeforeActionOnFailure = (3 s)

Service.ReinitFailureCounter = 30

Service.NbActionOnFailure = 3

Service.ActionOnFailure[1] = serviceFailureRestartService

FOR nFailureNum = 2 TO 3

Service.ActionOnFailure[nFailureNum] = serviceFailureRestartService

END

ServiceInstall(gsServiceName)

ServiceStart(gsServiceName)

ELSE

nServiceStatus is int = ServiceStatus(gsServiceName)

SWITCH nServiceStatus

CASE -1

CASE serviceStatusStopped

ServiceStart(gsServiceName)

CASE serviceStatusStarted

ServiceStop(gsServiceName)

OTHER CASE

ServiceStart(gsServiceName)

END

EndProgram()

END

Este tutorial no solo es una guía para crear y desplegar servicios; es una demostración de cómo Windev empodera a los desarrolladores para llevar sus soluciones a múltiples plataformas. La capacidad de adaptar un proyecto de Windows a Linux con facilidad no solo es un testimonio de la flexibilidad de Windev sino también de la creciente necesidad de soluciones multiplataforma en el desarrollo de software.