Optimiser les performances du service Forms optimizing-the-performance-of-theforms-service
Les exemples et les échantillons de ce document sont réservés à l’environnement AEM Forms sur JEE.
Optimiser les performances du service Forms optimizing-the-performance-of-the-forms-service
Lors du rendu d’un formulaire, vous pouvez définir des options d’exécution afin dʼoptimiser les performances du service Forms. Le stockage des fichiers XDP dans le référentiel permet également dʼaméliorer les performances du service Forms. Toutefois, cette procédure nʼest pas abordée dans cette section. (Consultez la section Appeler un service à l’aide d’une bibliothèque client Java).
Résumé des étapes summary-of-steps
Pour optimiser les performances du service Forms lors du rendu d’un formulaire, procédez comme suit :
- Incluez les fichiers de projet.
- Créez un objet API client Forms.
- Définissez les options d’exécution des performances.
- Restituer le formulaire
- Écrivez le flux de données du formulaire dans le navigateur web du client.
Inclure les fichiers de projet
Incluez les fichiers nécessaires dans votre projet de développement. Si vous créez une application cliente à l’aide de Java, incluez les fichiers JAR nécessaires. Si vous utilisez des services Web, veillez à inclure les fichiers proxy.
Créer un objet API client Forms
Avant d’effectuer par programmation une opération d’API client de service Forms, vous devez créer un client de service Forms. Si vous utilisez l’API Java, créez un objet FormsServiceClient
. Si vous utilisez l’API du service web Forms, créez un objet FormsService
.
Définir les options d’exécution des performances
Vous pouvez définir les options d’exécution de performances suivantes afin d’améliorer les performances du service Forms :
- Mettre les formulaires en cache: vous pouvez mettre en cache un formulaire rendu en tant que PDF dans le cache du serveur. Chaque formulaire est mis en cache après avoir été généré pour la première fois. Lors d’un rendu ultérieur, si le formulaire mis en cache est plus récent que l’horodatage de la conception de formulaire, le formulaire est récupéré dans le cache. En mettant en cache des formulaires, vous améliorez les performances du service Forms car il n’a pas besoin de récupérer la conception de formulaire dans un référentiel.
- Le rendu des guides de formulaire (obsolète) peut prendre plus de temps que les autres types de transformation. Il est recommandé de mettre en cache les guides de formulaires (obsolète) afin d’améliorer les performances.
- Option autonome : si vous n’avez pas besoin du service Forms pour effectuer des calculs côté serveur, vous pouvez définir l’option Autonome sur
true
, ce qui entraîne la génération de formulaires sans informations d’état. Les informations d’état sont nécessaires si vous souhaitez générer un formulaire interactif à un utilisateur final qui saisit ensuite les informations dans le formulaire et le renvoie au service Forms. Le service Forms effectue ensuite une opération de calcul et renvoie le formulaire à l’utilisateur avec les résultats affichés dans le formulaire. Si un formulaire sans informations d’état est renvoyé au service Forms, seules les données XML sont disponibles et les calculs côté serveur ne sont pas effectués. - PDF linéarisé : un document PDF linéarisé est organisé pour autoriser l’accès incrémental efficace dans un environnement réseau. Le fichier PDF est un PDF valide à tous les égards et est compatible avec toutes les visionneuses et autres applications de PDF existantes. En d’autres termes, un PDF linéarisé peut être affiché pendant son téléchargement.
- Cette option n’améliore pas les performances lorsqu’un formulaire PDF est rendu sur le client.
- Option GuideRSL : active la génération du guide de formulaire (obsolète) à l’aide de bibliothèques d’exécutions partagées. Cela signifie que la première demande téléchargera un fichier SWF plus petit, ainsi que des bibliothèques partagées plus volumineuses qui sont stockées dans le cache du navigateur. Pour plus d’informations, consultez la section dédiée à RSL dans la documentation de Flex.
- Vous pouvez également améliorer les performances du service Forms en effectuant le rendu d’un formulaire sur le client. (Consultez la section Renvoyer des formulaires au client).
Rendre le formulaire
Pour générer le formulaire après avoir défini les options de performances, utilisez la même logique d’application que pour générer un formulaire sans options de performances.
Écrire le flux de données de formulaire dans le navigateur web client
Une fois que le service Forms a rendu un formulaire, il renvoie un flux de données de formulaire que vous devez écrire dans le navigateur web client. Lorsqu’il est écrit dans le navigateur web client, le formulaire est visible par l’utilisateur.
Voir également
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Démarrages rapides de l’API Forms Service
Effectuer le rendu de formulaires PDF interactifs
Optimiser les performances à l’aide de l’API Java optimize-the-performance-using-the-java-api
Pour générer un formulaire avec des performances optimisées à l’aide de l’API Forms (Java), procédez comme suit :
-
Inclure les fichiers du projet
Incluez les fichiers clients JAR, tels qu’adobe-forms-client.jar, dans votre projet Java Classpath.
-
Créer un objet API Forms client
- Créez un objet
ServiceClientFactory
qui contient des propriétés de connexion. - Créez un objet
FormsServiceClient
en utilisant son constructeur et en transmettant l’objetServiceClientFactory
.
- Créez un objet
-
Définir les options d’exécution des performances
- Créez un objet
PDFFormRenderSpec
en utilisant son constructeur. - Définissez l’option de cache de formulaire en appelant la méthode
setCacheEnabled
de l’objetPDFFormRenderSpec
et en transmettanttrue
. - Définissez l’option linéarisée en appelant la méthode
setLinearizedPDF
de l’objetPDFFormRenderSpec
et en transmettanttrue.
.
- Créez un objet
-
Restituer le formulaire
Appelez la méthode
renderPDFForm
de l’objetFormsServiceClient
et transmettez les valeurs suivantes :- Une valeur de chaîne qui spécifie le nom de la conception de formulaire, y compris l’extension du nom de fichier.
- Un objet
com.adobe.idp.Document
contenant les données à fusionner avec le formulaire. Si vous ne souhaitez pas fusionner les données, transmettez un objetcom.adobe.idp.Document
. - Un objet
PDFFormRenderSpec
prévu pour stocker les options dʼexécution afin dʼaméliorer les performances. - Un objet
URLSpec
contenant les valeurs URI requises par le service Forms. - Un objet
java.util.HashMap
qui stocke les pièces jointes. Ce paramètre est facultatif et vous pouvez spécifiernull
si vous ne souhaitez pas joindre de fichiers au formulaire.
La méthode
renderPDFForm
renvoie un objetFormsResult
contenant un flux de données de formulaire qui doit être écrit dans le navigateur web client. -
Écrire le flux de données de formulaire dans le navigateur web client
- Créez un objet
javax.servlet.ServletOutputStream
utilisé pour envoyer un flux de données de formulaire au navigateur web du client. - Créez un objet
com.adobe.idp.Document
en appelant la méthodegetOutputContent
de l’objetFormsResult
. - Créez un objet
java.io.InputStream
en appelant la méthodegetInputStream
de lʼobjetcom.adobe.idp.Document
. - Créez un tableau d’octets et renseignez-le avec le flux de données de formulaire en appelant la méthode
read
de lʼobjetInputStream
et en transmettant le tableau d’octets comme argument. - Appelez la méthode
write
de lʼobjetjavax.servlet.ServletOutputStream
pour envoyer le flux de données de formulaire au navigateur web du client. Transmettez le tableau d’octets à la méthodewrite
.
- Créez un objet
Voir également
Démarrage rapide (mode SOAP) : optimiser les performances à l’aide de l’API Java
Optimiser les performances à l’aide de l’API de service web optimize-the-performance-using-the-web-service-api
Restituer un formulaire avec des performances optimisées à l’aide de l’API Forms (service web) :
-
Inclure les fichiers du projet
- Créez des classes proxy Java qui utilisent le service WSDL de Forms.
- Incluez les classes proxy Java dans le chemin d’accès de classe.
-
Créer un objet API Forms client
Créez un objet
FormsService
et définissez les valeurs d’authentification. -
Définir les options d’exécution des performances
- Créez un objet
PDFFormRenderSpec
en utilisant son constructeur. - Définissez l’option de mise en cache du formulaire en appelant la méthode
PDFFormRenderSpec
de lʼobjetsetCacheEnabled
et en transmettant la valeur « true ». - Définissez l’option autonome en appelant la méthode
setStandAlone
de lʼobjetPDFFormRenderSpec
et en transmettant la valeur « true ». - Définissez l’option linéaire en appelant la méthode
setLinearizedPDF
de lʼobjetPDFFormRenderSpec
et en transmettant la valeur « true ».
- Créez un objet
-
Restituer le formulaire
Appelez la méthode
renderPDFForm
de l’objetFormsService
et transmettez les valeurs suivantes :- Une valeur de chaîne qui spécifie le nom de la conception de formulaire, y compris l’extension du nom de fichier.
- Un objet
BLOB
contenant les données à fusionner avec le formulaire. Si vous ne souhaitez pas fusionner les données, transmetteznull
. - Un objet
PDFFormRenderSpecc
prévu pour stocker les options d’exécution. - Un objet
URLSpec
contenant des valeurs URI requises par le service Forms. - Un objet
java.util.HashMap
qui stocke les pièces jointes. Il sʼagit dʼun paramètre facultatif. Vous pouvez indiquernull
si vous ne souhaitez pas joindre de fichier au formulaire. - Un objet
com.adobe.idp.services.holders.BLOBHolder
vide qui est renseigné par la méthode. Il permet de stocker le formulaire PDF rendu. - Un objet
javax.xml.rpc.holders.LongHolder
vide qui est renseigné par la méthode. (Cet argument permet de stocker le nombre de pages du formulaire). - Un objet
javax.xml.rpc.holders.StringHolder
vide qui est renseigné par la méthode. (Cet argument permet de stocker la valeur du paramètre régional). - Un objet
com.adobe.idp.services.holders.FormsResultHolder
vide qui contiendra les résultats de cette opération.
La méthode
renderPDFForm
renseigne l’objetcom.adobe.idp.services.holders.FormsResultHolder
qui est transmis en tant que dernière valeur d’argument avec un flux de données de formulaire qui doit être écrit dans le navigateur web client. -
Écrire le flux de données de formulaire dans le navigateur web client
- Créez un objet
FormResult
en obtenant la valeur du membre de donnéesvalue
de lʼobjetcom.adobe.idp.services.holders.FormsResultHolder
. - Créez un objet
javax.servlet.ServletOutputStream
utilisé pour envoyer un flux de données de formulaire au navigateur web du client. - Créez un objet
BLOB
qui contient les données du formulaire en appelant la méthodegetOutputContent
de l’objetFormsResult
. - Créez un tableau d’octets et remplissez-le en appelant la méthode
getBinaryData
de lʼobjetBLOB
. Cette tâche affecte le contenu de l’objetFormsResult
au tableau d’octets. - Appelez la méthode
write
de l’objetjavax.servlet.http.HttpServletResponse
pour envoyer le flux de données de formulaire au navigateur web client. Transmettez le tableau d’octets à la méthodewrite
.
- Créez un objet
Voir également
Appeler AEM Forms en utilisant le codage Base64