Altova FlowForce Server 2023 Advanced Edition

Almacenar resultados del trabajo en memoria caché

Inicio Anterior Inicio Siguiente

Este ejemplo explica cómo almacenar en caché el resultado de un trabajo (el llamado productor de caché) y utilizarlo en otro trabajo (el llamado consumidor de caché). Ambos trabajos se expondrán como servicios web con este comportamiento:

 

Cuando se invoque el servicio web productor de caché, enumerará recursivamente el contenido del directorio, creará o actualizará la memoria caché y generará el resultado en el explorador web.

Cuando se invoque el servicio web consumidor de caché, leerá la memoria caché creada por el servicio productor de caché y generará el resultado en el explorador web.

 

El objetivo es comparar el tiempo de ejecución de ambos trabajos y comprobar que el segundo trabajo se ejecuta con bastante más rapidez que el primero, porque consume datos almacenados en caché.

 

Requisitos

Licencias necesarias: FlowForce Server.

Los servicios FlowForce Web Server y FlowForce Server deben escuchar en la en la dirección de red y en el puerto configurados previamente.

Debe tener una cuenta de usuario de FlowForce Server con permisos para uno de los contenedores (en este ejemplo se usa el contenedor /public porque está automáticamente abierto a todos los usuarios autenticados).

 

Nota:aunque en este ejemplo se utilizan rutas de acceso y comandos Windows, también puede probarlo en otros sistemas operativos. Basta con ajustar las rutas de acceso y los comandos según corresponda.

 

Configurar el trabajo

1.Abra la página Configuración y navegue hasta el contenedor /public/Examples. Este contenedor ya existe si lo creó en los ejemplos anteriores; de lo contrario puede crearlo con el comando Crear | Crear contenedor.

2.Haga clic en Crear y después seleccione Crear trabajo.

3.En el campo Nombre del trabajo escriba CachedResult.

4.En la sección Pasos de ejecución añada un paso de ejecución nuevo con esta configuración:

 

Ejecutar función

Busque y seleccione la función /system/shell/commandline

Comando

Escriba este comando shell:

 

dir /s

 

En Windows este comando enumera recursivamente el contenido del directorio de trabajo (ver siguiente opción).

Directorio de trabajo

El valor debe ser una ubicación actual del equipo donde se ejecuta FlowForce Server.

 

Por ejemplo C:\

 

Si quiere usar un directorio distinto, elija uno que sea lo suficientemente grande como para que lleve al menos 20-30 segundos cargar la lista de contenidos del directorio de forma recursiva.

Asignar el resultado de este paso a

Más adelante necesitaremos hacer referencia al valor que devuelve este paso de ejecución en otro paso. Por ello hace falta asignarle un nombre. En este ejemplo vamos a asignarle el valor dir.

 

5.En la sección Pasos de ejecución añada un paso de ejecución nuevo con esta configuración:

 

Ejecutar función

Busque y seleccione la función /system/compute

Expresión

Escriba esta expresión de FlowForce Server:

 

stdout(dir)

 

La función stdout convierte el resultado sin procesar que devuelve el paso de ejecución anterior en una secuencia de datos (véase Funciones para resultados de los pasos).

 

6.En la sección Resultado de la ejecución establezca un tipo devuelto secuencia. Es decir, establecemos el mismo tipo de datos que devuelve el último paso de ejecución del trabajo.

fs_cache_example_01

7.En la sección Almacenar resultado en caché marque la casilla Almacenar el resultado en caché.

8.Después marque la casilla Crear automáticamente un trabajo consumidor de caché y escriba ListaDirectoriosEnCaché como nombre del servicio web.

fs_cache_example_02

9.En la sección Servicio marque la casilla Permitir acceso a este trabajo por HTTP en la dirección URL y escriba ListaDirectorios como nombre del servicio web.

Llegados a este punto el trabajo tendrá este aspecto (si es que no usó rutas de acceso ni comandos distintos a los de las instrucciones).

fs_cache_example_03

10. En la sección Credenciales seleccione un registro de credencial actual o indique una credencial local.

11. Haga clic en Guardar para terminar.

 

 

Ejecutar el trabajo

Con los pasos anteriores ha completado la configuración de los trabajos productor y consumidor de caché. Para probar el servicio sin caché (DirectoryListingService) en el explorador puede ejecutar el trabajo de varias formas:

 

Vaya a Inicio y haga clic en Ver los desencadenadores y servicios activos. Después haga clic en la URL del trabajo que aparece en la columna "Información".

Introduzca http://127.0.0.1:4646/service/DirectoryListingService en la barra de direcciones del explorador. Tenga en cuenta que esta URL solo funciona si el servicio FlowForce Server escucha en la dirección host y el nombre de puerto predeterminados. Si su puerto y host tienen otra configuración vaya a la Configuration page y cambie la dirección.

Si configura el campo Nombre de host de FlowForce Server desde la página de configuración puede ejecutar la llamada al servicio web directamente desde la página de configuración del trabajo. Para ello haga clic en el botón fs_ic_call_ws que hay junto a la casilla Permitir acceso a este trabajo por HTTP. Este botón solo se habilita si configura este campo Nombre de host. Si no lo ha hecho, puede llamar al servicio web escribiendo la URL manualmente en la barra de dirección.

 

Si la aplicación le pide credenciales al acceder al servicio web, use las mismas que usó para acceder a FlowForce Server.

 

Recomendamos usar las credenciales de FlowForce Server para la autenticación HTTP solo en casos de prueba. Para producción es mejor crear un usuario nuevo, darle el permiso Servicio - Uso en el contenedor en el que está el trabajo y después acceder al servicio web con esa cuenta. Para desactivar la autenticación HTTP y hacer público el servicio web debe dar el permiso Servicio - Uso al usuario Anónimo, véase ¿Cómo funcionan los permisos?.

 

El trabajo está configurado para que muestre una lista del contenido del directorio C:\ de forma recursiva, por lo que puede tardar unos minutos. Consulte el registro del trabajo para ver cuánto tiempo se tardó en completar el trabajo, véase Vista de registro.

 

Para probar el servicio consumidor de caché (DirectoryListingService) introduzca http://127.0.0.1:4646/service/DirectoryListingCachedService (o la URL equivalente si su nombre de host y puerto tienen una configuración distinta) en la barra de direcciones del explorador. Este servicio consume la memoria caché en lugar de ejecutar el listado del directorio, por lo que debería tardar mucho menos tiempo.

© 2017-2023 Altova GmbH