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.)
Riepilogo dei passaggi summary-of-steps
Per ottimizzare le prestazioni del servizio Forms durante il rendering di un modulo, eseguire le operazioni seguenti:
- Includi file di progetto.
- Crea un oggetto API client di Forms.
- Impostare le opzioni di runtime delle prestazioni.
- Eseguire il rendering del modulo.
- 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
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):
-
Includi file di progetto
Includi i file JAR client, ad esempio adobe-forms-client.jar, nel percorso di classe del progetto Java.
-
Creare un oggetto API client di Forms
- Creare un
ServiceClientFactory
oggetto che contiene proprietà di connessione. - Creare un
FormsServiceClient
mediante il costruttore e passando ilServiceClientFactory
oggetto.
- Creare un
-
Impostazione delle opzioni di runtime delle prestazioni
- Creare un
PDFFormRenderSpec
mediante il costruttore. - Imposta l’opzione cache del modulo richiamando
PDFFormRenderSpec
dell'oggettosetCacheEnabled
metodo e passaggiotrue
. - Impostare l'opzione linearizzato richiamando
PDFFormRenderSpec
dell'oggettosetLinearizedPDF
metodo e passaggiotrue.
- Creare un
-
Rendering del modulo
Richiama
FormsServiceClient
dell'oggettorenderPDFForm
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 vuotocom.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 specificarenull
se non si desidera allegare file al modulo.
Il
renderPDFForm
il metodo restituisce unFormsResult
oggetto contenente un flusso di dati modulo che deve essere scritto nel browser web client. -
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 ilFormsResult
oggetto "sgetOutputContent
metodo. - Creare un
java.io.InputStream
oggetto richiamando ilcom.adobe.idp.Document
dell'oggettogetInputStream
metodo. - Creare una matrice di byte e popolarla con il flusso di dati del modulo richiamando
InputStream
dell'oggettoread
e passando la matrice di byte come argomento. - Richiama
javax.servlet.ServletOutputStream
dell'oggettowrite
metodo per inviare il flusso di dati del modulo al browser web client. Passare la matrice di byte alwrite
metodo.
- Creare un
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):
-
Includi file di progetto
- Creare classi proxy Java che utilizzano il servizio Forms WSDL.
- Includi le classi proxy Java nel percorso della classe.
-
Creare un oggetto API client di Forms
Creare un
FormsService
e impostare i valori di autenticazione. -
Impostazione delle opzioni di runtime delle prestazioni
- Creare un
PDFFormRenderSpec
mediante il costruttore. - Imposta l’opzione cache del modulo richiamando
PDFFormRenderSpec
dell'oggettosetCacheEnabled
e passando true. - Impostare l'opzione autonoma richiamando
PDFFormRenderSpec
dell'oggettosetStandAlone
e passando true. - Impostare l'opzione linearizzato richiamando
PDFFormRenderSpec
dell'oggettosetLinearizedPDF
e passando true.
- Creare un
-
Rendering del modulo
Richiama
FormsService
dell'oggettorenderPDFForm
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, passarenull
. - 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 specificarenull
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 compilacom.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. -
Scrivere il flusso di dati del modulo nel browser Web client
- Creare un
FormResult
dell'oggetto ottenendo il valore delcom.adobe.idp.services.holders.FormsResultHolder
dell'oggettovalue
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 richiamandoFormsResult
dell'oggettogetOutputContent
metodo. - Creare una matrice di byte e popolarla richiamando il
BLOB
dell'oggettogetBinaryData
metodo. Questa attività assegna il contenuto delFormsResult
alla matrice di byte. - Richiama
javax.servlet.http.HttpServletResponse
dell'oggettowrite
metodo per inviare il flusso di dati del modulo al browser web client. Passare la matrice di byte alwrite
metodo.
- Creare un
Consulta anche
Richiamare AEM Forms utilizzando la codifica Base64