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
ServiceClientFactoryoggetto contenente le proprietà di connessione. - Crea un
FormsServiceClientutilizzando il relativo costruttore e passandoServiceClientFactoryoggetto.
- Crea un
-
Impostare le opzioni di runtime delle prestazioni
- Crea un
PDFFormRenderSpecutilizzando il relativo costruttore. - Impostare l’opzione della cache del modulo richiamando il
PDFFormRenderSpecdell’oggettosetCacheEnabledmetodo e passaggiotrue. - Imposta l’opzione linearizzata richiamando il
PDFFormRenderSpecdell’oggettosetLinearizedPDFmetodo e passaggiotrue.
- Crea un
-
Rendering del modulo
Richiama il
FormsServiceClientdell’oggettorenderPDFForme passare i seguenti valori:- Valore stringa che specifica il nome della struttura del modulo, inclusa l'estensione del nome file.
- A
com.adobe.idp.Documentoggetto contenente i dati da unire al modulo. Se non si desidera unire i dati, passare un valore vuotocom.adobe.idp.Documentoggetto. - A
PDFFormRenderSpecoggetto che memorizza le opzioni di esecuzione per migliorare le prestazioni. - A
URLSpecoggetto che contiene i valori URI richiesti dal servizio Forms. - A
java.util.HashMapoggetto che memorizza gli allegati di file. Si tratta di un parametro facoltativo ed è possibile specificarenullse non si desidera allegare file al modulo.
La
renderPDFFormrestituisce unFormsResultoggetto 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.ServletOutputStreamoggetto utilizzato per inviare un flusso di dati del modulo al browser Web client. - Crea un
com.adobe.idp.Documentrichiamando l'oggettoFormsResultoggetto ‘sgetOutputContentmetodo . - Crea un
java.io.InputStreamrichiamando l'oggettocom.adobe.idp.Documentdell’oggettogetInputStreammetodo . - Creare un array di byte e compilarlo con il flusso di dati del modulo richiamando il
InputStreamdell’oggettoreade passare l'array di byte come argomento. - Richiama il
javax.servlet.ServletOutputStreamdell’oggettowriteper inviare il flusso di dati del modulo al browser Web client. Passa l'array di byte alwritemetodo .
- 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
FormsServicee impostare i valori di autenticazione. -
Impostare le opzioni di runtime delle prestazioni
- Crea un
PDFFormRenderSpecutilizzando il relativo costruttore. - Impostare l’opzione della cache del modulo richiamando il
PDFFormRenderSpecdell’oggettosetCacheEnablede passare true. - Imposta l'opzione autonoma richiamando il
PDFFormRenderSpecdell’oggettosetStandAlonee passare true. - Imposta l’opzione linearizzata richiamando il
PDFFormRenderSpecdell’oggettosetLinearizedPDFe passare true.
- Crea un
-
Rendering del modulo
Richiama il
FormsServicedell’oggettorenderPDFForme passare i seguenti valori:- Valore stringa che specifica il nome della struttura del modulo, inclusa l'estensione del nome file.
- A
BLOBoggetto contenente i dati da unire al modulo. Se non si desidera unire i dati, passarenull. - A
PDFFormRenderSpeccoggetto che memorizza le opzioni di esecuzione. - A
URLSpecoggetto che contiene i valori URI richiesti dal servizio Forms. - A
java.util.HashMapoggetto che memorizza gli allegati di file. Si tratta di un parametro facoltativo ed è possibile specificarenullse non si desidera allegare file al modulo. - Un vuoto
com.adobe.idp.services.holders.BLOBHolderoggetto popolato dal metodo . Viene utilizzato per memorizzare il modulo PDF di cui è stato eseguito il rendering. - Un vuoto
javax.xml.rpc.holders.LongHolderoggetto popolato dal metodo . Questo argomento memorizza il numero di pagine nel modulo. - Un vuoto
javax.xml.rpc.holders.StringHolderoggetto popolato dal metodo . (Questo argomento memorizza il valore delle impostazioni internazionali). - Un vuoto
com.adobe.idp.services.holders.FormsResultHolderoggetto che conterrà i risultati dell'operazione.
La
renderPDFFormpopola ilcom.adobe.idp.services.holders.FormsResultHolderoggetto 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
FormResultottenendo il valore delcom.adobe.idp.services.holders.FormsResultHolderdell’oggettovaluemembro dati. - Crea un
javax.servlet.ServletOutputStreamoggetto utilizzato per inviare un flusso di dati del modulo al browser Web client. - Crea un
BLOBoggetto che contiene i dati del modulo richiamando ilFormsResultdell’oggettogetOutputContentmetodo . - Creare un array di byte e compilarlo richiamando il
BLOBdell’oggettogetBinaryDatametodo . Questa attività assegna il contenuto delFormsResultall'array di byte. - Richiama il
javax.servlet.http.HttpServletResponsedell’oggettowriteper inviare il flusso di dati del modulo al browser Web client. Passa l'array di byte alwritemetodo .
- Crea un
Consulta anche
Richiamo di AEM Forms con codifica Base64