Optimización del rendimiento del servicio de Forms optimizing-the-performance-of-theforms-service
Las muestras y los ejemplos de este documento solo son para AEM Forms en un entorno JEE.
Optimización del rendimiento del servicio de Forms optimizing-the-performance-of-the-forms-service
Al procesar un formulario, puede establecer opciones en tiempo de ejecución que optimicen el rendimiento del servicio de Forms. Otra tarea que puede realizar para mejorar el rendimiento del servicio Forms es almacenar los archivos XDP en el repositorio. Sin embargo, esta sección no describe cómo realizar esta tarea. (Consulte Invocar un servicio mediante una biblioteca de cliente Java).
Resumen de los pasos summary-of-steps
Para optimizar el rendimiento del servicio Forms al procesar un formulario, realice las siguientes tareas:
- Incluir archivos de proyecto.
- Cree un objeto de API de cliente de Forms.
- Establecer opciones de rendimiento en tiempo de ejecución.
- Procese el formulario.
- Escriba el flujo de datos del formulario en el explorador web del cliente.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Crear un objeto de API de cliente de Forms
Para poder realizar mediante programación una operación de API de cliente de servicio de Forms, debe crear un cliente de servicio de Forms. Si está usando la API de Java, cree un objeto FormsServiceClient
. Si está usando la API del servicio web de Forms, cree un objeto FormsService
.
Establecer opciones de tiempo de ejecución de rendimiento
Puede establecer las siguientes opciones de tiempo de ejecución de rendimiento para mejorar el rendimiento del servicio de Forms:
- Almacenamiento en caché de formularios: puede almacenar en caché un formulario que se represente como PDF en la memoria caché del servidor. Cada formulario se almacena en caché después de generarse por primera vez. En un procesamiento posterior, si el formulario en caché es más reciente que la marca de tiempo del diseño de formulario, el formulario se recuperará de la caché. Al almacenar en caché los formularios, se mejora el rendimiento del servicio de Forms porque no tiene que recuperar el diseño de formulario de un repositorio.
- Las guías del formulario (obsoletas) pueden tardar más en procesarse que otros tipos de transformación. Se recomienda almacenar en caché las guías del formulario (obsoletas) para mejorar el rendimiento.
- Opción independiente: si no necesita que el servicio Forms realice cálculos del lado del servidor, puede establecer la opción Independiente en
true
, lo que hace que los formularios se representen sin información de estado. La información de estado es necesaria si desea procesar un formulario interactivo para un usuario final que luego introduzca información en el formulario y lo envíe de nuevo al servicio de Forms. A continuación, el servicio Forms realiza una operación de cálculo y devuelve el formulario al usuario con los resultados mostrados en el formulario. Si se devuelve un formulario sin información de estado al servicio Forms, solo estarán disponibles los datos XML y no se realizarán cálculos en el servidor. - PDF linearizado: se organiza un archivo de PDF linearizado para habilitar el acceso incremental eficiente en un entorno de red. El archivo de PDF es un PDF válido en todos los aspectos y es compatible con todos los visores existentes y otras aplicaciones de PDF. Es decir, se puede ver un PDF linealizado mientras se sigue descargando.
- Esta opción no mejora el rendimiento cuando se procesa un formulario de PDF en el cliente.
- Opción GuideRSL: habilita la generación de guías de formulario (obsoleta) mediante bibliotecas compartidas en tiempo de ejecución. Esto significa que la primera solicitud descargará un archivo de SWF más pequeño, además de bibliotecas compartidas más grandes almacenadas en la caché del explorador. Para obtener más información, consulte RSL en la documentación de Flex.
- También puede mejorar el rendimiento del servicio Forms al procesar un formulario en el cliente. (Consulte Renderización de Forms en el cliente).
Procesar el formulario
Para procesar el formulario después de establecer las opciones de rendimiento, utilice la misma lógica de aplicación que para procesar un formulario sin opciones de rendimiento.
Escriba el flujo de datos del formulario en el explorador web del cliente
Una vez que el servicio Forms procesa un formulario, devuelve un flujo de datos de formulario que debe escribir en el explorador web del cliente. Cuando se escribe en el explorador web del cliente, el formulario es visible para el usuario.
Consulte también
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión
Inicio rápido de la API del servicio de Forms
Procesar formularios PDF interactivos
Optimizar el rendimiento mediante la API de Java optimize-the-performance-using-the-java-api
Procese un formulario con un rendimiento optimizado mediante la API de Forms (Java):
-
Incluir archivos de proyecto
Incluya archivos JAR de cliente, como adobe-forms-client.jar, en la ruta de clase del proyecto Java.
-
Crear un objeto de API de cliente de Forms
- Cree un objeto
ServiceClientFactory
que contenga propiedades de conexión. - Cree un objeto
FormsServiceClient
utilizando su constructor y pasando el objetoServiceClientFactory
.
- Cree un objeto
-
Establecer opciones de rendimiento en tiempo de ejecución
- Crear un objeto
PDFFormRenderSpec
mediante su constructor. - Establezca la opción de caché del formulario invocando el método
setCacheEnabled
del objetoPDFFormRenderSpec
y pasandotrue
. - Establezca la opción linealizada invocando el método
setLinearizedPDF
del objetoPDFFormRenderSpec
y pasandotrue.
- Crear un objeto
-
Procesar el formulario
Invoque el método
renderPDFForm
del objetoFormsServiceClient
y pase los siguientes valores:- Un valor de cadena que especifica el nombre del diseño del formulario, incluida la extensión del nombre de archivo.
- Objeto
com.adobe.idp.Document
que contiene datos para combinar con el formulario. Si no desea combinar datos, pase un objetocom.adobe.idp.Document
vacío. - Objeto
PDFFormRenderSpec
que almacena opciones en tiempo de ejecución para mejorar el rendimiento. - Un objeto
URLSpec
que contiene valores de URI requeridos por el servicio Forms. - Objeto
java.util.HashMap
que almacena datos adjuntos de archivos. Este es un parámetro opcional y puede especificarnull
si no desea adjuntar archivos al formulario.
El método
renderPDFForm
devuelve un objetoFormsResult
que contiene una secuencia de datos de formulario que debe escribirse en el explorador web del cliente. -
Escribir el flujo de datos del formulario en el explorador web del cliente
- Cree un objeto
javax.servlet.ServletOutputStream
que se use para enviar un flujo de datos de formulario al explorador web del cliente. - Cree un objeto
com.adobe.idp.Document
invocando el métodogetOutputContent
del objetoFormsResult
. - Cree un objeto
java.io.InputStream
invocando el métodogetInputStream
del objetocom.adobe.idp.Document
. - Cree una matriz de bytes y rellénela con la secuencia de datos de formulario invocando el método
read
del objetoInputStream
y pasando la matriz de bytes como argumento. - Invoque el método
write
del objetojavax.servlet.ServletOutputStream
para enviar el flujo de datos de formulario al explorador web del cliente. Pase la matriz de bytes al métodowrite
.
- Cree un objeto
Consulte también
SOAP Inicio rápido (modo de): Optimización del rendimiento mediante la API de Java
Optimizar el rendimiento mediante la API de servicio web optimize-the-performance-using-the-web-service-api
Procese un formulario con un rendimiento optimizado mediante la API de Forms (servicio web):
-
Incluir archivos de proyecto
- Cree clases de proxy Java que consuman el WSDL del servicio Forms.
- Incluya las clases de proxy Java en la ruta de clase.
-
Crear un objeto de API de cliente de Forms
Cree un objeto
FormsService
y establezca los valores de autenticación. -
Establecer opciones de rendimiento en tiempo de ejecución
- Crear un objeto
PDFFormRenderSpec
mediante su constructor. - Establezca la opción de caché del formulario invocando el método
setCacheEnabled
del objetoPDFFormRenderSpec
y pasando true. - Establezca la opción independiente invocando el método
setStandAlone
del objetoPDFFormRenderSpec
y pasando true. - Establezca la opción linealizada invocando el método
setLinearizedPDF
del objetoPDFFormRenderSpec
y pasando true.
- Crear un objeto
-
Procesar el formulario
Invoque el método
renderPDFForm
del objetoFormsService
y pase los siguientes valores:- Un valor de cadena que especifica el nombre del diseño del formulario, incluida la extensión del nombre de archivo.
- Objeto
BLOB
que contiene datos para combinar con el formulario. Si no desea combinar datos, pasenull
. - Objeto
PDFFormRenderSpecc
que almacena opciones en tiempo de ejecución. - Un objeto
URLSpec
que contiene valores de URI requeridos por el servicio Forms. - Objeto
java.util.HashMap
que almacena datos adjuntos de archivos. Este es un parámetro opcional y puede especificarnull
si no desea adjuntar archivos al formulario. - Un objeto
com.adobe.idp.services.holders.BLOBHolder
vacío que ha rellenado el método. Se utiliza para almacenar el formulario de PDF procesado. - Un objeto
javax.xml.rpc.holders.LongHolder
vacío que ha rellenado el método. (Este argumento almacenará el número de páginas en el formulario). - Un objeto
javax.xml.rpc.holders.StringHolder
vacío que ha rellenado el método. (Este argumento almacenará el valor de configuración regional). - Un objeto
com.adobe.idp.services.holders.FormsResultHolder
vacío que contendrá los resultados de esta operación.
El método
renderPDFForm
rellena el objetocom.adobe.idp.services.holders.FormsResultHolder
que se pasa como el último valor de argumento con una secuencia de datos de formulario que debe escribirse en el explorador web del cliente. -
Escribir el flujo de datos del formulario en el explorador web del cliente
- Cree un objeto
FormResult
obteniendo el valor del miembro de datosvalue
del objetocom.adobe.idp.services.holders.FormsResultHolder
. - Cree un objeto
javax.servlet.ServletOutputStream
que se use para enviar un flujo de datos de formulario al explorador web del cliente. - Cree un objeto
BLOB
que contenga datos de formulario invocando el métodogetOutputContent
del objetoFormsResult
. - Cree una matriz de bytes y rellénela invocando el método
getBinaryData
del objetoBLOB
. Esta tarea asigna el contenido del objetoFormsResult
a la matriz de bytes. - Invoque el método
write
del objetojavax.servlet.http.HttpServletResponse
para enviar el flujo de datos de formulario al explorador web del cliente. Pase la matriz de bytes al métodowrite
.
- Cree un objeto
Consulte también
Invocar AEM Forms con codificación Base64