Show Menu
ARGOMENTI×

Ottimizzazione delle prestazioni del servizio Forms

Ottimizzazione delle prestazioni del servizio Forms

Durante il rendering di un modulo, è possibile impostare opzioni di esecuzione che ottimizzino 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, in questa sezione non viene descritto come eseguire questa attività. (Vedete Chiamata di un servizio tramite una libreria client Java.)
Per ulteriori informazioni sul servizio Forms, consultate Riferimento servizi per AEM Forms .

Riepilogo dei passaggi

Per ottimizzare le prestazioni del servizio Forms durante il rendering di un modulo, effettuare le seguenti operazioni:
  1. Includere i file di progetto.
  2. Creare un oggetto API client Forms.
  3. Impostare le opzioni di esecuzione delle prestazioni.
  4. Eseguire il rendering del modulo.
  5. Scrivere il flusso di dati del modulo nel browser Web del client.
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate i servizi Web, accertatevi di includere i file proxy.
Creare un oggetto API client Forms
Prima di eseguire un'operazione API client del servizio Forms a livello di programmazione, è necessario creare un client del servizio Forms. Se utilizzate l'API Java, create un FormsServiceClient oggetto. Se si utilizza l'API del servizio Web Forms, creare un FormsService oggetto.
Impostazione delle opzioni di esecuzione delle prestazioni
Per migliorare le prestazioni del servizio Forms è possibile impostare le seguenti opzioni di esecuzione delle prestazioni:
  • Memorizzazione nella cache del modulo: È possibile memorizzare nella cache del server un modulo rappresentato come PDF. Ciascun modulo viene memorizzato nella cache dopo che è stato generato per la prima volta. In un rendering successivo, se il modulo memorizzato nella cache è più recente della marca temporale della struttura del modulo, il modulo viene recuperato dalla cache. La memorizzazione nella cache dei moduli consente di migliorare le prestazioni del servizio Forms, in quanto non è necessario recuperare la struttura del modulo da un archivio.
  • Il rendering delle guide modulo (obsoleto) potrebbe richiedere più tempo rispetto ad altri tipi di trasformazione. È consigliabile memorizzare nella cache le guide dei moduli (non approvato) per migliorare le prestazioni.
  • Opzione Standalone: Se non è necessario che il servizio Forms esegua i calcoli sul lato server, è possibile impostare l'opzione Standalone su true , che consente di eseguire il rendering dei moduli senza informazioni sullo stato. Le informazioni sullo stato sono necessarie se si desidera eseguire il rendering di un modulo interattivo per un utente finale che immette quindi informazioni nel modulo e lo invia nuovamente al servizio Forms. Il servizio Forms esegue quindi un'operazione di calcolo ed esegue il rendering del modulo per l'utente, con i risultati visualizzati nel modulo. Se un modulo senza informazioni sullo stato viene inviato nuovamente al servizio Forms, sono disponibili solo i dati XML e i calcoli sul lato server non vengono eseguiti.
  • PDF lineare: Un file PDF linearizzato è organizzato per consentire un accesso incrementale efficiente in un ambiente di rete. Il file 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 durante il rendering di un modulo PDF sul client.
  • Opzione GuideRSL: Abilita la generazione della guida del modulo (obsoleta) tramite librerie condivise in fase di esecuzione. Ciò significa che la prima richiesta scaricherà un file SWF più piccolo, più librerie condivise più grandi memorizzate nella cache del browser. Per ulteriori informazioni, consultate RSL nella documentazione Flex.
  • È inoltre possibile migliorare le prestazioni del servizio Forms eseguendo il rendering di un modulo sul client. (Vedere Rendering dei moduli in Client .)
Eseguire il rendering del modulo
Per eseguire il rendering del modulo dopo aver impostato le opzioni di prestazioni, è necessario utilizzare la stessa logica applicativa utilizzata per eseguire il rendering di un modulo senza opzioni di prestazioni.
Scrivere il flusso di dati del modulo nel browser Web del client
Dopo il rendering di un modulo da parte del servizio Forms, viene restituito un flusso di dati del modulo che è necessario scrivere nel browser Web del client. Una volta scritto nel browser Web del client, il modulo è visibile all'utente.
Consulta anche

Ottimizzate le prestazioni mediante l'API Java

Eseguire il rendering di un modulo con prestazioni ottimizzate utilizzando l'API Forms (Java):
  1. Includi file di progetto
    Includete file JAR client, ad esempio adobe-forms-client.jar, nel percorso di classe del progetto Java.
  2. Creare un oggetto API client Forms
    • Creare un ServiceClientFactory oggetto che contenga proprietà di connessione.
    • Creare un FormsServiceClient oggetto utilizzando il relativo costruttore e passando l' ServiceClientFactory oggetto.
  3. Impostazione delle opzioni di esecuzione delle prestazioni
    • Creare un PDFFormRenderSpec oggetto utilizzando il relativo costruttore.
    • Impostare l'opzione della cache del modulo richiamando il PDFFormRenderSpec metodo dell' setCacheEnabled oggetto e passando true .
    • Impostare l'opzione linearizzata richiamando il metodo dell' PDFFormRenderSpec oggetto setLinearizedPDF e passando true.
  4. Eseguire il rendering del modulo
    Richiama il metodo dell’ FormsServiceClient oggetto renderPDFForm e passa i seguenti valori:
    • Una stringa che specifica il nome della struttura del modulo, inclusa l'estensione del nome file.
    • Un com.adobe.idp.Document oggetto che contiene i dati da unire al modulo. Se non si desidera unire i dati, passare un com.adobe.idp.Document oggetto vuoto.
    • Un PDFFormRenderSpec oggetto che memorizza le opzioni di esecuzione per migliorare le prestazioni.
    • Un URLSpec oggetto che contiene valori URI richiesti dal servizio Forms.
    • Un java.util.HashMap oggetto che memorizza gli allegati. Si tratta di un parametro facoltativo e potete specificare null se non desiderate allegare file al modulo. Il renderPDFForm metodo restituisce un FormsResult oggetto che contiene un flusso di dati del modulo da scrivere nel browser Web del client.
  5. Scrivere il flusso di dati del modulo nel browser Web del client
    • Creare un javax.servlet.ServletOutputStream oggetto utilizzato per inviare un flusso di dati del modulo al browser Web del client.
    • Creare un com.adobe.idp.Document oggetto richiamando il FormsResult metodo ‘s getOutputContent .
    • Creare un java.io.InputStream oggetto richiamando il com.adobe.idp.Document metodo dell' getInputStream oggetto.
    • Creare un array di byte e compilarlo con il flusso di dati del modulo richiamando il InputStream read metodo dell'oggetto e passando l'array di byte come argomento.
    • Richiamare il metodo dell' javax.servlet.ServletOutputStream oggetto write per inviare il flusso di dati del modulo al browser Web del client. Passa l'array di byte al write metodo.
Consulta anche

Ottimizzare le prestazioni mediante l'API del servizio Web

Eseguire 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 WSDL del servizio Forms.
    • Includete le classi proxy Java nel percorso della classe.
  2. Creare un oggetto API client Forms
    Creare un FormsService oggetto e impostare i valori di autenticazione.
  3. Impostazione delle opzioni di esecuzione delle prestazioni
    • Creare un PDFFormRenderSpec oggetto utilizzando il relativo costruttore.
    • Impostare l'opzione della cache del modulo richiamando il metodo dell' PDFFormRenderSpec oggetto setCacheEnabled e passando true.
    • Impostare l'opzione standalone richiamando il metodo dell' PDFFormRenderSpec oggetto setStandAlone e passando true.
    • Impostare l'opzione linearizzata richiamando il metodo dell' PDFFormRenderSpec oggetto setLinearizedPDF e passando true.
  4. Eseguire il rendering del modulo
    Richiama il metodo dell’ FormsService oggetto renderPDFForm e passa i seguenti valori:
    • Una stringa che specifica il nome della struttura del modulo, inclusa l'estensione del nome file.
    • Un BLOB oggetto che contiene i dati da unire al modulo. Se non si desidera unire i dati, passare null .
    • Un PDFFormRenderSpecc oggetto che memorizza le opzioni di esecuzione.
    • Un URLSpec oggetto che contiene valori URI richiesti dal servizio Forms.
    • Un java.util.HashMap oggetto che memorizza gli allegati. Si tratta di un parametro facoltativo e potete specificare null se non desiderate allegare file al modulo.
    • Un oggetto vuoto com.adobe.idp.services.holders.BLOBHolder compilato dal metodo. Viene utilizzato per memorizzare il modulo PDF di cui è stato effettuato il rendering.
    • Un oggetto vuoto javax.xml.rpc.holders.LongHolder compilato dal metodo. (Questo argomento memorizza il numero di pagine nel modulo).
    • Un oggetto vuoto javax.xml.rpc.holders.StringHolder compilato dal metodo. (Questo argomento memorizza il valore delle impostazioni internazionali).
    • Un oggetto vuoto com.adobe.idp.services.holders.FormsResultHolder che conterrà i risultati dell'operazione. Il renderPDFForm metodo compila l' com.adobe.idp.services.holders.FormsResultHolder oggetto passato come ultimo valore argomento con un flusso di dati del modulo che deve essere scritto nel browser Web del client.
  5. Scrivere il flusso di dati del modulo nel browser Web del client
    • Creare un FormResult oggetto ottenendo il valore del membro com.adobe.idp.services.holders.FormsResultHolder dati dell' value oggetto.
    • Creare un javax.servlet.ServletOutputStream oggetto utilizzato per inviare un flusso di dati del modulo al browser Web del client.
    • Creare un BLOB oggetto che contenga dati del modulo richiamando il FormsResult metodo dell' getOutputContent oggetto.
    • Creare un array di byte e compilarlo richiamando il metodo dell' BLOB oggetto getBinaryData . Questa attività assegna il contenuto dell' FormsResult oggetto all'array di byte.
    • Richiamare il metodo dell' javax.servlet.http.HttpServletResponse oggetto write per inviare il flusso di dati del modulo al browser Web del client. Passa l'array di byte al write metodo.
Consulta anche