Ottimizzazione delle prestazioni del servizio Forms optimizing-the-performance-of-theforms-service
Ottimizzazione delle prestazioni del servizio Forms optimizing-the-performance-of-the-forms-service
Quando si esegue il rendering di un modulo, è possibile impostare opzioni di esecuzione che ottimizzano le prestazioni del servizio Forms. Un'altra attività che è possibile eseguire per migliorare le prestazioni del servizio Forms è quella di memorizzare i file XDP nell'archivio. Tuttavia, questa sezione non descrive come eseguire questa attività. (Vedi Richiamo di un servizio tramite 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.
- Creare un oggetto API client Forms.
- Impostare le opzioni di esecuzione delle prestazioni.
- Eseguire il rendering del modulo.
- Scrivere il flusso di dati del modulo sul 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, assicurati di includere i file proxy.
Creare un oggetto API client Forms
Prima di poter eseguire programmaticamente un’operazione API client del servizio Forms, è necessario creare un client di servizio Forms. Se utilizzi l’API Java, crea un FormsServiceClient
oggetto. Se utilizzi l’API del servizio Web Forms, crea un FormsService
oggetto.
Impostare le opzioni di runtime delle prestazioni
Per migliorare le prestazioni del servizio Forms, puoi impostare le seguenti opzioni di esecuzione delle prestazioni:
- Memorizzazione in cache dei moduli: È possibile memorizzare nella cache del server un modulo di cui è stato eseguito il rendering come PDF. Ogni modulo viene memorizzato nella cache dopo essere 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 dei moduli (obsolete) potrebbe richiedere più tempo rispetto ad altri tipi di trasformazione. Per migliorare le prestazioni, è consigliabile memorizzare nella cache le guide dei moduli (obsolete).
- Opzione indipendente: Se non si richiede al servizio Forms di eseguire calcoli 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 quindi immette 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: Viene organizzato un file PDF linearizzato per consentire un accesso incrementale efficiente in un ambiente di rete. Il file PDF è un file PDF valido sotto tutti gli aspetti ed è compatibile con tutti i visualizzatori esistenti e con altre applicazioni PDF. In altre parole, è possibile visualizzare un PDF linearizzato mentre è ancora in corso il download.
- Questa opzione non migliora le prestazioni quando si esegue il rendering di un modulo PDF sul client.
- Opzione GuideRSL: Abilita la generazione della Guida ai moduli (obsoleta) tramite librerie condivise in fase di esecuzione. Ciò significa che la prima richiesta scaricherà un file SWF più piccolo, più librerie condivise di maggiori dimensioni memorizzate nella cache del browser. Per ulteriori informazioni, consulta RSL nella documentazione di Flex.
- È inoltre possibile migliorare le prestazioni del servizio Forms eseguendo il rendering di un modulo sul client. (Vedi Rendering di Forms sul client.)
Rendering del modulo
Per eseguire il rendering del modulo dopo aver impostato le opzioni di prestazioni, utilizzare la stessa logica applicativa del rendering di un modulo senza opzioni di prestazioni.
Scrivere il flusso di dati del modulo sul browser Web client
Dopo il rendering di un modulo da parte del servizio Forms, restituisce un flusso di dati del modulo che è necessario scrivere nel browser Web client. Una volta scritto nel browser Web client, il modulo è visibile all’utente.
Consulta anche
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API di Forms Service
Rendering di 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
Eseguire il rendering di un modulo con prestazioni ottimizzate utilizzando l’API Forms (Java):
-
Includi file di progetto
Includi file JAR client, come adobe-forms-client.jar, nel percorso di classe del progetto Java.
-
Creare un oggetto API client Forms
- Crea un
ServiceClientFactory
oggetto contenente le proprietà di connessione. - Crea un
FormsServiceClient
utilizzando il relativo costruttore e passandoServiceClientFactory
oggetto.
- Crea un
-
Impostare le opzioni di runtime delle prestazioni
- Crea un
PDFFormRenderSpec
utilizzando il relativo costruttore. - Impostare l’opzione della cache del modulo richiamando il
PDFFormRenderSpec
dell’oggettosetCacheEnabled
metodo e passaggiotrue
. - Imposta l’opzione linearizzata richiamando il
PDFFormRenderSpec
dell’oggettosetLinearizedPDF
metodo e passaggiotrue.
- Crea un
-
Rendering del modulo
Richiama il
FormsServiceClient
dell’oggettorenderPDFForm
e passare 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 i dati da unire al modulo. Se non si desidera unire i dati, passare un valore vuotocom.adobe.idp.Document
oggetto. - A
PDFFormRenderSpec
oggetto che memorizza le opzioni di esecuzione per migliorare le prestazioni. - A
URLSpec
oggetto che contiene i valori URI richiesti dal servizio Forms. - A
java.util.HashMap
oggetto che memorizza gli allegati di file. Si tratta di un parametro facoltativo ed è possibile specificarenull
se non si desidera allegare file al modulo.
La
renderPDFForm
restituisce unFormsResult
oggetto che contiene un flusso di dati del modulo che deve essere scritto nel browser Web client. -
Scrivere il flusso di dati del modulo sul browser Web client
- Crea un
javax.servlet.ServletOutputStream
oggetto utilizzato per inviare un flusso di dati del modulo al browser Web client. - Crea un
com.adobe.idp.Document
richiamando l'oggettoFormsResult
oggetto ‘sgetOutputContent
metodo . - Crea un
java.io.InputStream
richiamando l'oggettocom.adobe.idp.Document
dell’oggettogetInputStream
metodo . - Creare un array di byte e compilarlo con il flusso di dati del modulo richiamando il
InputStream
dell’oggettoread
e passare l'array di byte come argomento. - Richiama il
javax.servlet.ServletOutputStream
dell’oggettowrite
per inviare il flusso di dati del modulo al browser Web client. Passa l'array di byte alwrite
metodo .
- Crea un
Consulta anche
Avvio rapido (modalità SOAP): Ottimizzazione delle prestazioni tramite l’API Java
Inclusione dei file 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
Eseguire il rendering di un modulo con prestazioni ottimizzate utilizzando l’API Forms (servizio Web):
-
Includi file di progetto
- Creare classi proxy Java che utilizzano il servizio WSDL di Forms.
- Includi le classi proxy Java nel percorso della classe.
-
Creare un oggetto API client Forms
Crea un
FormsService
e impostare i valori di autenticazione. -
Impostare le opzioni di runtime delle prestazioni
- Crea un
PDFFormRenderSpec
utilizzando il relativo costruttore. - Impostare l’opzione della cache del modulo richiamando il
PDFFormRenderSpec
dell’oggettosetCacheEnabled
e passare true. - Imposta l'opzione autonoma richiamando il
PDFFormRenderSpec
dell’oggettosetStandAlone
e passare true. - Imposta l’opzione linearizzata richiamando il
PDFFormRenderSpec
dell’oggettosetLinearizedPDF
e passare true.
- Crea un
-
Rendering del modulo
Richiama il
FormsService
dell’oggettorenderPDFForm
e passare i seguenti valori:- Valore stringa che specifica il nome della struttura del modulo, inclusa l'estensione del nome file.
- A
BLOB
oggetto contenente i dati da unire al modulo. Se non si desidera unire i dati, passarenull
. - A
PDFFormRenderSpecc
oggetto che memorizza le opzioni di esecuzione. - A
URLSpec
oggetto che contiene i valori URI richiesti dal servizio Forms. - A
java.util.HashMap
oggetto che memorizza gli allegati di file. Si tratta di un parametro facoltativo ed è possibile specificarenull
se non si desidera allegare file al modulo. - Un 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 vuoto
javax.xml.rpc.holders.LongHolder
oggetto popolato dal metodo . Questo argomento memorizza il numero di pagine nel modulo. - Un vuoto
javax.xml.rpc.holders.StringHolder
oggetto popolato dal metodo . (Questo argomento memorizza il valore delle impostazioni internazionali). - Un vuoto
com.adobe.idp.services.holders.FormsResultHolder
oggetto che conterrà i risultati dell'operazione.
La
renderPDFForm
popola ilcom.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 client. -
Scrivere il flusso di dati del modulo sul browser Web client
- Crea un
FormResult
ottenendo il valore delcom.adobe.idp.services.holders.FormsResultHolder
dell’oggettovalue
membro dati. - Crea un
javax.servlet.ServletOutputStream
oggetto utilizzato per inviare un flusso di dati del modulo al browser Web client. - Crea un
BLOB
oggetto che contiene i dati del modulo richiamando ilFormsResult
dell’oggettogetOutputContent
metodo . - Creare un array di byte e compilarlo richiamando il
BLOB
dell’oggettogetBinaryData
metodo . Questa attività assegna il contenuto delFormsResult
all'array di byte. - Richiama il
javax.servlet.http.HttpServletResponse
dell’oggettowrite
per inviare il flusso di dati del modulo al browser Web client. Passa l'array di byte alwrite
metodo .
- Crea un
Consulta anche
Richiamo di AEM Forms con codifica Base64