Uso de procesos web apropiativos
El servidor web de 4D le permite aprovechar al máximo los ordenadores multinúcleo utilizando procesos web apropiativos en sus aplicaciones. Puede configurar su código relacionado con la web, incluyendo las etiquetas 4D, los métodos base Web o las funciones de clase REST de ORDA para que se ejecuten simultáneamente en tantos núcleos como sea posible.
Para obtener información detallada sobre el proceso apropiativo en 4D, por favor consulte la sección Procesos apropiativos.
Disponibilidad del modo apropiativo para los procesos web
La siguiente tabla indica si el modo apropiativo se utiliza o está disponible, dependiendo del contexto de ejecución:
4D Server | Interpretado (asociado al depurador) | Interpretado (no asociado al depurador) | Compilado |
---|---|---|---|
Servidor REST | cooperativo | apropiativo | apropiativo |
Servidor Web | cooperativo | cooperativo | configuración web |
Servidor Web Services | cooperativo | cooperativo | configuración web |
4D remoto/monopuesto | Interpretado | Compilado |
---|---|---|
Servidor REST | cooperativo | apropiativo |
Servidor Web | cooperativo | configuración web |
Servidor Web Services | cooperativo | configuración web |
- Servidor REST: gestiona las funciones de clase del modelo de datos ORDA
- Servidor web: maneja las plantillas web, 4DACTION y los métodos base
- Servidor de servicios web: gestiona las peticiones SOAP
- web setting significa que el modo apropiativo depende de un valor de configuración:
- cuando se selecciona la opción de sesiones escalables, el modo apropiativo se utiliza automáticamente para los procesos web.
- en caso contrario, se tendrá en cuenta la opción Utilizar procesos apropiativos.
- en lo que respecta a los procesos de servicios web (servidor o cliente), se soporta el modo apropiativo a nivel del método. Sólo tiene que seleccionar la propiedad "Puede ejecutarse en procesos apropiativos" para los métodos del servidor SOAP publicados (ver Publicación de un servicio web con 4D) o los métodos del cliente proxy (ver Suscripción a un servicio web en 4D) y asegurarse de que el compilador confirme que son hilo seguro.
Escribir código servidor web hilo seguro
Todo el código 4D ejecutado por el servidor web debe ser hilo seguro si quiere que sus procesos web se ejecuten en modo apropiativo. Cuando el modo apropiativo está activo, las siguientes partes de la aplicación serán evaluadas automáticamente por el compilador 4D:
-
Todos los métodos base relacionados con la web:
-
El método proyecto
compilador_web
(independientemente de su propiedad real "Modo de ejecución"); -
Básicamente cualquier código procesado por el comando
PROCESS 4D TAGS
en el contexto web, por ejemplo a través de páginas .shtml -
Todo método proyecto con el atributo "Disponible a través de etiquetas 4D y URLs (
4DACTION
, etc.) -
Triggers para tablas con el atributo "Exponer como recurso REST"
-
funciones de clase del modelo de datos ORDA llamadas vía REST
Para cada uno de estos métodos y partes de código, el compilador comprobará si se respetan las reglas de seguridad de hilos, y devolverá errores en caso de que haya problemas. Para más información sobre las reglas hilo seguro, consulte el párrafo Escribir un método hilo seguro en el capítulo Procesos del manual de Lenguaje 4D.
Código web 4D hilo seguro
La mayoría de los comandos y funciones 4D relacionados con la web, los métodos base y las URL son hilo seguro y pueden utilizarse en modo apropiativo.
Comandos 4D y métodos base
Todos los comandos 4D relativos a la web son hilo seguro, es decir:
- todos los comandos del tema Servidor Web,
- todos los comandos del tema Cliente HTTP.
Los métodos base relacionados con la web son hilo seguro y pueden utilizarse en modo apropiativo (ver arriba): On Web Authentication
, On Web Connection
, On REST Authentication
...).
Por supuesto, el código ejecutado por estos métodos también debe ser hilo seguro.
URLs del servidor web
Las siguientes URLs 4D Web Server son hilo seguro y pueden ser utilizadas en modo apropiativo:
- 4daction/ (el método proyecto llamado también debe ser hilo seguro)
- 4dcgi/ (los métodos base llamados también deben ser hilo seguro)
- 4dwebtest/
- 4dblank/
- 4dstats/
- 4dhtmlstats/
- 4dcacheclear/
- rest/
- 4dimgfield/ (generado por
PROCESS 4D TAGS
para peticiones web en campos imagen) - 4dimg/ (generado por
PROCESS 4D TAGS
para la petición web en las variables imagen)
Icono de proceso web apropiativo
Tanto el Explorador de ejecución como la ventana de administración de 4D Server muestran un icono específico para los procesos web apropiativos:
Tipo de proceso | Icono |
---|---|
Método Web (proceso apropiativo) |