Ottimizzazione delle prestazioni del servizio Forms optimizing-the-performance-of-theforms-service

Gli esempi e gli esempi contenuti in questo documento sono solo per l’ambiente AEM Forms su JEE.

Ottimizzazione delle prestazioni del servizio Forms optimizing-the-performance-of-the-forms-service

Durante il rendering di un modulo è possibile impostare opzioni di runtime che ottimizzano le prestazioni del servizio Forms. Un'altra attività che è possibile eseguire per migliorare le prestazioni del servizio Forms consiste nell'archiviare i file XDP nell'archivio. Tuttavia, questa sezione non descrive come eseguire questa attività. (vedere Richiamare un servizio utilizzando una libreria client Java.)

NOTE
Per ulteriori informazioni sul servizio Forms, consulta Guida di riferimento dei servizi per AEM Forms.

Riepilogo dei passaggi summary-of-steps

Per ottimizzare le prestazioni del servizio Forms durante il rendering di un modulo, eseguire le operazioni seguenti:

  1. Includi file di progetto.
  2. Crea un oggetto API client di Forms.
  3. Impostare le opzioni di runtime delle prestazioni.
  4. Eseguire il rendering del modulo.
  5. Scrivere il flusso di dati del modulo nel browser Web client.

Includi file di progetto

Includi i file necessari nel progetto di sviluppo. Se stai creando un’applicazione client utilizzando Java, includi i file JAR necessari. Se utilizzi i servizi web, accertati di includere i file proxy.

Creare un oggetto API client di Forms

Prima di poter eseguire a livello di programmazione un'operazione API client del servizio Forms, è necessario creare un client del servizio Forms. Se utilizzi l’API Java, crea un’ FormsServiceClient oggetto. Se utilizzi l’API del servizio web Forms, crea un’ FormsService oggetto.

Impostazione delle opzioni di runtime delle prestazioni

Per migliorare le prestazioni del servizio Forms, è possibile impostare le seguenti opzioni di runtime delle prestazioni:

  • Memorizzazione nella cache dei moduli: è possibile memorizzare in cache un modulo di cui è stato eseguito il rendering come PDF nella cache del server. Ogni modulo viene memorizzato nella cache dopo essere stato generato per la prima volta. In un rendering successivo, se il modulo memorizzato in cache è più recente della marca temporale del progetto del modulo, il modulo viene recuperato dalla cache. La memorizzazione nella cache dei moduli migliora le prestazioni del servizio Forms in quanto non è necessario recuperare la struttura del modulo da un archivio.
  • Il rendering delle guide dei moduli (obsoleto) potrebbe richiedere più tempo rispetto ad altri tipi di trasformazione. È consigliabile memorizzare nella cache le guide dei moduli (obsoleto) per migliorare le prestazioni.
  • Opzione autonoma: se non è necessario che il servizio Forms esegua calcoli lato server, è possibile impostare l’opzione Standalone su true, che comporta il rendering dei moduli senza informazioni sullo stato. Le informazioni sullo stato sono necessarie se si desidera eseguire il rendering di un modulo interattivo a un utente finale che immette le informazioni nel modulo e lo invia nuovamente al servizio Forms. Il servizio Forms esegue quindi un'operazione di calcolo e restituisce il modulo all'utente con i risultati visualizzati nel modulo. Se un modulo senza informazioni sullo stato viene inviato nuovamente al servizio Forms, saranno disponibili solo i dati XML e non verranno eseguiti calcoli lato server.
  • Linearized PDF: file PDF linearizzato organizzato per consentire un accesso incrementale efficiente in un ambiente di rete. Il file PDF è un PDF valido sotto tutti gli aspetti ed è compatibile con tutti i visualizzatori esistenti e con altre applicazioni PDF. In altre parole, un PDF linearizzato può essere visualizzato mentre è ancora in fase di download.
  • Questa opzione non migliora le prestazioni quando viene eseguito il rendering di un modulo PDF sul client.
  • Opzione GuideRSL: abilita la generazione della Guida ai moduli (obsoleta) utilizzando le librerie condivise in fase di esecuzione. Ciò significa che la prima richiesta scaricherà un file SWF più piccolo, oltre a librerie condivise più grandi memorizzate nella cache del browser. Per ulteriori informazioni, consulta RSL nella documentazione di Flex.
  • Puoi anche migliorare le prestazioni del servizio Forms eseguendo il rendering di un modulo sul client. (vedere Rendering di Forms nel client.)

Rendering del modulo

Per eseguire il rendering del modulo dopo aver impostato le opzioni relative alle prestazioni, è necessario utilizzare la stessa logica di applicazione utilizzata per il rendering di un modulo senza le opzioni relative alle prestazioni.

Scrivere il flusso di dati del modulo nel browser Web client

Dopo che il servizio Forms esegue il rendering di un modulo, restituisce un flusso di dati del modulo che è necessario scrivere nel browser Web client. Quando viene scritto nel browser Web client, il modulo è visibile all'utente.

Consulta anche

Inclusione dei file della libreria Java di AEM Forms

Impostazione delle proprietà di connessione

Guida introduttiva all’API di servizio Forms

Rendering dei PDF forms interattivi

Rendering di Forms come HTML

Creazione di applicazioni Web per il rendering di Forms

Ottimizzare le prestazioni utilizzando l’API Java optimize-the-performance-using-the-java-api

Esegui il rendering di un modulo con prestazioni ottimizzate utilizzando l’API Forms (Java):

  1. Includi file di progetto

    Includi i file JAR client, ad esempio adobe-forms-client.jar, nel percorso di classe del progetto Java.

  2. Creare un oggetto API client di Forms

    • Creare un ServiceClientFactory oggetto che contiene proprietà di connessione.
    • Creare un FormsServiceClient mediante il costruttore e passando il ServiceClientFactory oggetto.
  3. Impostazione delle opzioni di runtime delle prestazioni

    • Creare un PDFFormRenderSpec mediante il costruttore.
    • Imposta l’opzione cache del modulo richiamando PDFFormRenderSpec dell'oggetto setCacheEnabled metodo e passaggio true.
    • Impostare l'opzione linearizzato richiamando PDFFormRenderSpec dell'oggetto setLinearizedPDF metodo e passaggio true.
  4. Rendering del modulo

    Richiama FormsServiceClient dell'oggetto renderPDFForm e trasmettere i seguenti valori:

    • Valore stringa che specifica il nome della struttura del modulo, inclusa l'estensione del nome file.
    • A com.adobe.idp.Document oggetto contenente dati da unire con il modulo. Se non desideri unire i dati, passa un campo vuoto com.adobe.idp.Document oggetto.
    • A PDFFormRenderSpec oggetto che memorizza le opzioni di runtime per migliorare le prestazioni.
    • A URLSpec oggetto contenente valori URI richiesti dal servizio Forms.
    • A java.util.HashMap oggetto che memorizza gli allegati. Questo è un parametro facoltativo e puoi specificare null se non si desidera allegare file al modulo.

    Il renderPDFForm il metodo restituisce un FormsResult oggetto contenente un flusso di dati modulo che deve essere scritto nel browser web client.

  5. Scrivere il flusso di dati del modulo nel browser Web client

    • Creare un javax.servlet.ServletOutputStream oggetto utilizzato per inviare un flusso di dati modulo al browser web client.
    • Creare un com.adobe.idp.Document oggetto richiamando il FormsResult oggetto "s getOutputContent metodo.
    • Creare un java.io.InputStream oggetto richiamando il com.adobe.idp.Document dell'oggetto getInputStream metodo.
    • Creare una matrice di byte e popolarla con il flusso di dati del modulo richiamando InputStream dell'oggetto reade passando la matrice di byte come argomento.
    • Richiama javax.servlet.ServletOutputStream dell'oggetto write metodo per inviare il flusso di dati del modulo al browser web client. Passare la matrice di byte al write metodo.

Consulta anche

Quick Start (modalità SOAP): ottimizzazione delle prestazioni tramite l’API Java

Inclusione dei file della libreria Java di AEM Forms

Impostazione delle proprietà di connessione

Ottimizzare le prestazioni utilizzando l’API del servizio web optimize-the-performance-using-the-web-service-api

Esegui il rendering di un modulo con prestazioni ottimizzate utilizzando l’API di Forms (servizio web):

  1. Includi file di progetto

    • Creare classi proxy Java che utilizzano il servizio Forms WSDL.
    • Includi le classi proxy Java nel percorso della classe.
  2. Creare un oggetto API client di Forms

    Creare un FormsService e impostare i valori di autenticazione.

  3. Impostazione delle opzioni di runtime delle prestazioni

    • Creare un PDFFormRenderSpec mediante il costruttore.
    • Imposta l’opzione cache del modulo richiamando PDFFormRenderSpec dell'oggetto setCacheEnabled e passando true.
    • Impostare l'opzione autonoma richiamando PDFFormRenderSpec dell'oggetto setStandAlone e passando true.
    • Impostare l'opzione linearizzato richiamando PDFFormRenderSpec dell'oggetto setLinearizedPDF e passando true.
  4. Rendering del modulo

    Richiama FormsService dell'oggetto renderPDFForm e trasmettere i seguenti valori:

    • Valore stringa che specifica il nome della struttura del modulo, inclusa l'estensione del nome file.
    • A BLOB oggetto contenente dati da unire con il modulo. Se non si desidera unire i dati, passare null.
    • A PDFFormRenderSpecc oggetto che memorizza le opzioni di runtime.
    • A URLSpec oggetto contenente valori URI richiesti dal servizio Forms.
    • A java.util.HashMap oggetto che memorizza gli allegati. Questo è un parametro facoltativo e puoi specificare null se non si desidera allegare file al modulo.
    • Un campo vuoto com.adobe.idp.services.holders.BLOBHolder oggetto popolato dal metodo. Viene utilizzato per memorizzare il modulo PDF di cui è stato eseguito il rendering.
    • Un campo vuoto javax.xml.rpc.holders.LongHolder oggetto popolato dal metodo. Questo argomento consente di memorizzare il numero di pagine nel modulo.
    • Un campo vuoto javax.xml.rpc.holders.StringHolder oggetto popolato dal metodo. Questo argomento consente di memorizzare il valore delle impostazioni locali.
    • Un campo vuoto com.adobe.idp.services.holders.FormsResultHolder oggetto che conterrà i risultati dell'operazione.

    Il renderPDFForm il metodo compila com.adobe.idp.services.holders.FormsResultHolder oggetto passato come ultimo valore di argomento con un flusso di dati del modulo che deve essere scritto nel browser web client.

  5. Scrivere il flusso di dati del modulo nel browser Web client

    • Creare un FormResult dell'oggetto ottenendo il valore del com.adobe.idp.services.holders.FormsResultHolder dell'oggetto value membro dati.
    • Creare un javax.servlet.ServletOutputStream oggetto utilizzato per inviare un flusso di dati modulo al browser web client.
    • Creare un BLOB oggetto che contiene i dati del modulo richiamando FormsResult dell'oggetto getOutputContent metodo.
    • Creare una matrice di byte e popolarla richiamando il BLOB dell'oggetto getBinaryData metodo. Questa attività assegna il contenuto del FormsResult alla matrice di byte.
    • Richiama javax.servlet.http.HttpServletResponse dell'oggetto write metodo per inviare il flusso di dati del modulo al browser web client. Passare la matrice di byte al write metodo.

Consulta anche

Richiamare AEM Forms utilizzando la codifica Base64

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2