Tiempo aproximado de lectura: 00:10:00 min
Duda
¿Cuales son las consideraciones sobre cómo y cuándo utilizar cada tipo de REST?
Ambiente
FRAMEWORK - Framework (Línea Protheus) MI - SMARTCLIENT - Todas las versiones 12
Solución
El REST ADVPL se habilita exclusivamente a través de la configuración del archivo ini del AppServer a través de la clave [HTTPV11] que es leída por la función HTTP_START la cual es ejecutada por un trabajo desencadenado por el recurso OnStart del servidor.
La documentación completa de REST ADVPL está disponible en TDN en la siguiente dirección: https://tdn.totvs.com/display/framework/REST+ADVPL
La forma más sencilla de identificar cuál de las dos versiones se está ejecutando es mirando el mensaje que se muestra en la consola en el momento del arranque:
Sin embargo, si no es posible mirar la consola, también es posible verificar la versión a través del encabezado de respuesta de cualquier solicitud, ya que el encabezado FWRESTBUILD se envió en el REST ADVPL, y la ausencia de este encabezado también indica que el el servicio está actualizado. Un punto final simple que se puede usar en esta prueba podría ser / healthcheck.
La documentación sobre la configuración de REST sigue siendo la misma, disponible en https://tdn.totvs.com/pages/viewpage.action?pageId=185747842
Independientemente de si está utilizando la versión ADVPL o 2.0, el uso previsto en este caso es la creación / uso de API que acceden a los recursos de Protheus.
Su autenticación (ya sea básica o portadora) se basa en usuarios registrados en Protheus, así como en el control de tenantId basado en empresas registradas en Protheus. Por tanto, un servicio REST siempre está relacionado con la preparación y apertura de un ambiente con una empresa y una sucursal Protheus.
El tlppCore REST, por otro lado, es independiente de los recursos y se puede usar sin ningún vínculo con un entorno Protheus.
Su configuración se puede realizar a través del código ADVPL y / o TLPP y se puede ejecutar como se desee o también se puede realizar a través de la configuración en el archivo ini del AppServer.
Importante
No confunda las configuraciones de los dos modelos, ya que funcionan con claves muy similares pero diferentes. La clave principal en este modelo es [HTTPSERVER], y la documentación para esta sección y otras relacionadas están disponibles en el enlace: https://tdn.totvs.com/pages/viewpage.action?pageId=550117647
La documentación completa sobre tlppCore REST está disponible en TDN en https://tdn.totvs.com/display/tec/Rest
El uso previsto en este caso es la creación / uso de API que no conllevan la necesidad de utilizar recursos Protheus. Por lo tanto, tiene su propio control de autenticación que debe implementarse para su uso.
Se puede considerar como una buena opción del sistema, como lo sería la creación de API con Node.js, por ejemplo.
Resumiendo luego los modelos y recursos ambientales disponibles, tenemos la siguiente tabla:
Recurso |
ADVPL |
tlppCore |
2.0 |
Todas as API’s WSRESTFul compiladas no RPO |
sí |
No |
sí |
Todas las API con anotaciones compiladas en RPO |
No |
sí |
sí |
Entorno abierto (RpcSetEnv) |
sí |
No |
sí |
0 Comentarios