Optimización del rendimiento del servicio de Forms

Optimización del rendimiento del servicio de Forms

Al procesar un formulario, puede definir opciones en tiempo de ejecución que optimizarán el rendimiento del servicio de Forms. Otra tarea que puede realizar para mejorar el rendimiento del servicio Forms es almacenar archivos XDP en el repositorio. Sin embargo, esta sección no describe cómo realizar esta tarea. (Consulte Invocación de un servicio mediante una biblioteca de cliente Java).

NOTA

Para obtener más información sobre el servicio Forms, consulte Referencia de servicios para AEM Forms.

Resumen de los pasos

Para optimizar el rendimiento del servicio Forms al procesar un formulario, realice las siguientes tareas:

  1. Incluir archivos de proyecto.
  2. Cree un objeto de API de cliente de Forms.
  3. Configure las opciones de rendimiento en tiempo de ejecución.
  4. Representar el formulario.
  5. Escriba la secuencia de datos del formulario en el navegador web del cliente.

Incluir archivos de proyecto

Incluya los archivos necesarios en el proyecto de desarrollo. Si va a crear una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios Web, asegúrese de incluir los archivos proxy.

Creación de un objeto de API de Forms Client

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 utiliza la API de Java, cree un objeto FormsServiceClient. Si utiliza la API de servicio Web de Forms, cree un objeto FormsService.

Configurar las opciones de tiempo de ejecución del rendimiento

Puede definir las siguientes opciones de rendimiento en tiempo de ejecución para mejorar el rendimiento del servicio Forms:

  • Procesamiento de formularios en la caché: Puede almacenar en caché un formulario procesado como PDF en la caché del servidor. Cada formulario se almacena en la caché una vez que se genera 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 recupera de la caché. Al almacenar los formularios en la caché, se mejora el rendimiento del servicio Forms porque no tiene que recuperar el diseño de formulario de un repositorio.
  • Las guías de formulario (obsoletas) pueden tardar más en procesarse que otros tipos de transformación. Se recomienda guardar en caché las guías de formulario (obsoletas) para mejorar el rendimiento.
  • Opción independiente: Si no necesita que el servicio Forms realice cálculos en el servidor, puede establecer la opción Independiente en true, lo que resulta en que los formularios se procesen sin información de estado. La información de estado es necesaria si desea procesar un formulario interactivo para un usuario final que, a continuación, introduce información en el formulario y lo envía 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 de Forms, solo estarán disponibles los datos XML y no se realizarán cálculos en el servidor.
  • PDF linealizado: Un archivo PDF linealizado está organizado para permitir un acceso incremental eficiente en un entorno de red. El archivo PDF es válido en todos los aspectos y es compatible con todos los visores existentes y otras aplicaciones PDF. Es decir, se puede ver un PDF linealizado mientras se está descargando.
  • Esta opción no mejora el rendimiento cuando se procesa un formulario PDF en el cliente.
  • GuideRSL, opción: Habilita la generación de guías de formulario (desaprobada) mediante bibliotecas compartidas en tiempo de ejecución. Esto significa que la primera solicitud descargará un archivo SWF más pequeño, además de bibliotecas compartidas más grandes que se almacenan 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 de Forms procesando un formulario en el cliente. (Consulte Representación de Forms en el cliente).

Representar el formulario

Para procesar el formulario después de definir las opciones de rendimiento, se utiliza la misma lógica de aplicación que para procesar un formulario sin opciones de rendimiento.

Escribir el flujo de datos del formulario en el navegador web del cliente

Una vez que el servicio Forms procesa un formulario, devuelve una secuencia de datos de formulario que debe escribir en el explorador web del cliente. Cuando se escribe en el navegador web del cliente, el formulario es visible para el usuario.

Consulte también

Inclusión de archivos de biblioteca Java de AEM Forms

Configuración de las propiedades de conexión

Inicios rápidos de la API de servicio de Forms

Representación de PDF forms interactivos

Representación de Forms como HTML

Creación de Aplicaciones web que procesan Forms

Optimizar el rendimiento mediante la API de Java

Representar un formulario con rendimiento optimizado mediante la API de Forms (Java):

  1. Incluir archivos de proyecto

    Incluya archivos JAR de cliente, como adobe-forms-client.jar, en la ruta de clases del proyecto Java.

  2. Creación de un objeto de API de Forms Client

    • Cree un objeto ServiceClientFactory que contenga propiedades de conexión.
    • Cree un objeto FormsServiceClient utilizando su constructor y pasando el objeto ServiceClientFactory.
  3. Configurar las opciones de tiempo de ejecución del rendimiento

    • Cree un objeto PDFFormRenderSpec utilizando su constructor.
    • Configure la opción de caché de formularios invocando el método PDFFormRenderSpec del objeto setCacheEnabled y pasando true.
    • Configure la opción linealizada invocando el método PDFFormRenderSpec del objeto setLinearizedPDF y pasando true.
  4. Representar el formulario

    Invoque el método FormsServiceClient del objeto renderPDFForm y pase los siguientes valores:

    • Un valor de cadena que especifica el nombre del diseño de formulario, incluida la extensión del nombre de archivo.
    • Un objeto com.adobe.idp.Document que contiene datos para combinar con el formulario. Si no desea combinar datos, pase un objeto vacío com.adobe.idp.Document.
    • Un objeto PDFFormRenderSpec que almacena opciones en tiempo de ejecución para mejorar el rendimiento.
    • Un objeto URLSpec que contiene valores de URI necesarios para el servicio de Forms.
    • Objeto java.util.HashMap que almacena archivos adjuntos. Es un parámetro opcional y puede especificar null si no desea adjuntar archivos al formulario.

    El método renderPDFForm devuelve un objeto FormsResult que contiene una secuencia de datos de formulario que debe escribirse en el explorador Web del cliente.

  5. Escribir el flujo de datos del formulario en el navegador web del cliente

    • Cree un objeto javax.servlet.ServletOutputStream que se utilice para enviar una secuencia de datos de formulario al explorador Web del cliente.
    • Cree un objeto com.adobe.idp.Document invocando el método FormsResult del objeto ‘s getOutputContent.
    • Cree un objeto java.io.InputStream invocando el método com.adobe.idp.Document del objeto getInputStream.
    • Cree una matriz de bytes y rellénela con la secuencia de datos del formulario invocando el método InputStream del objeto ready pasando la matriz de bytes como argumento.
    • Invoque el método javax.servlet.ServletOutputStream del objeto write para enviar la secuencia de datos del formulario al explorador Web del cliente. Pase la matriz de bytes al método write.

Consulte también

Inicio rápido (modo SOAP): Optimización del rendimiento mediante la API de Java

Inclusión de archivos de biblioteca Java de AEM Forms

Configuración de las propiedades de conexión

Optimizar el rendimiento mediante la API de servicio Web

Representar un formulario con rendimiento optimizado mediante la API de Forms (servicio web):

  1. Incluir archivos de proyecto

    • Cree clases proxy de Java que consuman el WSDL del servicio de Forms.
    • Incluya las clases proxy de Java en la ruta de clases.
  2. Creación de un objeto de API de Forms Client

    Cree un objeto FormsService y defina los valores de autenticación.

  3. Configurar las opciones de tiempo de ejecución del rendimiento

    • Cree un objeto PDFFormRenderSpec utilizando su constructor.
    • Configure la opción de caché de formularios invocando el método PDFFormRenderSpec del objeto setCacheEnabled y pasando true.
    • Establezca la opción independiente invocando el método PDFFormRenderSpec del objeto setStandAlone y pasando true.
    • Configure la opción linealizada invocando el método PDFFormRenderSpec del objeto setLinearizedPDF y pasando true.
  4. Representar el formulario

    Invoque el método FormsService del objeto renderPDFForm y pase los siguientes valores:

    • Un valor de cadena que especifica el nombre del diseño de formulario, incluida la extensión del nombre de archivo.
    • Un objeto BLOB que contiene datos para combinar con el formulario. Si no desea combinar datos, pase null.
    • Un objeto PDFFormRenderSpecc que almacena opciones de tiempo de ejecución.
    • Un objeto URLSpec que contiene valores de URI necesarios para el servicio de Forms.
    • Objeto java.util.HashMap que almacena archivos adjuntos. Es un parámetro opcional y puede especificar null si no desea adjuntar archivos al formulario.
    • Un objeto vacío com.adobe.idp.services.holders.BLOBHolder que se rellena con el método. Se utiliza para almacenar el formulario PDF procesado.
    • Un objeto vacío javax.xml.rpc.holders.LongHolder que se rellena con el método. (Este argumento almacenará el número de páginas del formulario).
    • Un objeto vacío javax.xml.rpc.holders.StringHolder que se rellena con el método. (Este argumento almacenará el valor de configuración regional).
    • Un objeto vacío com.adobe.idp.services.holders.FormsResultHolder que contendrá los resultados de esta operación.

    El método renderPDFForm rellena el objeto com.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.

  5. Escribir el flujo de datos del formulario en el navegador web del cliente

    • Cree un objeto FormResult obteniendo el valor del miembro de datos com.adobe.idp.services.holders.FormsResultHolder del objeto value.
    • Cree un objeto javax.servlet.ServletOutputStream que se utilice para enviar una secuencia de datos de formulario al explorador Web del cliente.
    • Cree un objeto BLOB que contenga datos de formulario invocando el método FormsResult del objeto getOutputContent.
    • Cree una matriz de bytes y rellénela invocando el método BLOB del objeto getBinaryData. Esta tarea asigna el contenido del objeto FormsResult a la matriz de bytes.
    • Invoque el método javax.servlet.http.HttpServletResponse del objeto write para enviar la secuencia de datos del formulario al explorador Web del cliente. Pase la matriz de bytes al método write.

Consulte también

Invocación de AEM Forms mediante codificación Base64

En esta página