Optimera prestandan för Forms-tjänsten optimizing-the-performance-of-theforms-service
Exempel och exempel i det här dokumentet är bara för AEM Forms i JEE-miljö.
Optimera prestandan för Forms-tjänsten optimizing-the-performance-of-the-forms-service
När du återger ett formulär kan du ange körningsalternativ som optimerar prestanda för Forms-tjänsten. En annan uppgift som du kan utföra för att förbättra prestandan för Forms-tjänsten är att lagra XDP-filer i databasen. I det här avsnittet beskrivs dock inte hur du utför den här uppgiften. (Se Anropa en tjänst med ett Java-klientbibliotek.)
Sammanfattning av steg summary-of-steps
Så här optimerar du prestanda för Forms-tjänsten när du återger ett formulär:
- Inkludera projektfiler.
- Skapa ett Forms Client API-objekt.
- Ange alternativ för prestanda vid körning.
- Återge formuläret.
- Skriv formulärdataströmmen till klientens webbläsare.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java, inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du inkludera proxyfilerna.
Skapa ett Forms Client API-objekt
Innan du programmässigt kan utföra en API-åtgärd för Forms-tjänstklienten måste du skapa en Forms-tjänstklient. Om du använder Java API skapar du en FormsServiceClient
-objekt. Om du använder Forms webbtjänst-API skapar du en FormsService
-objekt.
Ange alternativ för prestanda vid körning
Du kan ställa in följande alternativ för prestandakörning för att förbättra prestandan för Forms-tjänsten:
- Cache-lagring av formulär: Du kan cachelagra ett formulär som återges som PDF i servercachen. Varje formulär cachelagras när det har skapats för första gången. Om det cachelagrade formuläret vid en efterföljande återgivning är nyare än formulärdesignens tidsstämpel hämtas formuläret från cachen. Genom att cache-lagra formulär förbättrar du prestanda för Forms-tjänsten eftersom den inte behöver hämta formulärdesignen från en databas.
- Det kan ta längre tid att återge formulärstödlinjer (inaktuella) än andra omformningstyper. Vi rekommenderar att du cache-lagrar formulärguider (borttagna) för att förbättra prestandan.
- Fristående alternativ: Om du inte behöver Forms-tjänsten för att utföra beräkningar på serversidan kan du ange alternativet Fristående till
true
, vilket resulterar i att formulär återges utan lägesinformation. Lägesinformation är nödvändig om du vill återge ett interaktivt formulär till en slutanvändare som sedan anger information i formuläret och skickar tillbaka formuläret till Forms. Forms-tjänsten utför sedan en beräkningsåtgärd och återger formuläret till användaren med de resultat som visas i formuläret. Om ett formulär utan statusinformation skickas tillbaka till Forms-tjänsten är endast XML-data tillgängliga och serversidesberäkningar utförs inte. - Linjäriserad PDF: En linjäriserad PDF-fil ordnas för att möjliggöra effektiv inkrementell åtkomst i en nätverksmiljö. PDF-filen är giltig PDF i alla avseenden och kompatibel med alla befintliga visningsprogram och andra PDF-program. Det vill säga att en linjär PDF kan visas medan den fortfarande hämtas.
- Det här alternativet förbättrar inte prestanda när ett PDF-formulär återges på klienten.
- GuideRSL, alternativ: Aktiverar generering av formulärguiden (borttagen) med hjälp av delade bibliotek vid körning. Det innebär att den första begäran hämtar en mindre SWF-fil, plus större delade bibliotek som lagras i webbläsarens cache. Mer information finns i RSL i Flex-dokumentationen.
- Du kan även förbättra prestanda för Forms-tjänsten genom att återge ett formulär på klienten. (Se Återger Forms på klienten.)
Återge formuläret
Om du vill återge formuläret efter att du har angett prestandaalternativ använder du samma programlogik som att återge ett formulär utan prestandaalternativ.
Skriv formulärdataströmmen till klientens webbläsare
När Forms-tjänsten återger ett formulär returneras en formulärdataström som du måste skriva till klientens webbläsare. När formuläret skrivs till webbläsaren visas det för användaren.
Se även
Inkludera AEM Forms Java-biblioteksfiler
Snabbstart för Forms Service API
Skapa webbprogram som återger Forms
Optimera prestanda med Java API optimize-the-performance-using-the-java-api
Rendera ett formulär med optimerade prestanda med hjälp av Forms API (Java):
-
Inkludera projektfiler
Inkludera JAR-klientfiler, t.ex. adobe-forms-client.jar, i Java-projektets klassökväg.
-
Skapa ett Forms Client API-objekt
- Skapa en
ServiceClientFactory
objekt som innehåller anslutningsegenskaper. - Skapa en
FormsServiceClient
genom att använda konstruktorn och skickaServiceClientFactory
-objekt.
- Skapa en
-
Ange alternativ för prestanda vid körning
- Skapa en
PDFFormRenderSpec
genom att använda dess konstruktor. - Ange alternativet för formulärcache genom att anropa
PDFFormRenderSpec
objektetssetCacheEnabled
metod och att skickatrue
. - Ange alternativet linjär genom att anropa
PDFFormRenderSpec
objektetssetLinearizedPDF
metod och att skickatrue.
- Skapa en
-
Återge formuläret
Anropa
FormsServiceClient
objektetsrenderPDFForm
och skicka följande värden:- Ett strängvärde som anger formulärdesignens namn, inklusive filnamnstillägget.
- A
com.adobe.idp.Document
objekt som innehåller data som ska sammanfogas med formuläret. Om du inte vill sammanfoga data skickar du en tomcom.adobe.idp.Document
-objekt. - A
PDFFormRenderSpec
objekt som lagrar körningsalternativ för att förbättra prestandan. - A
URLSpec
objekt som innehåller URI-värden som krävs av Forms-tjänsten. - A
java.util.HashMap
objekt som lagrar bifogade filer. Det här är en valfri parameter och du kan angenull
om du inte vill bifoga filer till formuläret.
The
renderPDFForm
returnerar enFormsResult
objekt som innehåller en formulärdataström som måste skrivas till klientens webbläsare. -
Skriv formulärdataströmmen till klientens webbläsare
- Skapa en
javax.servlet.ServletOutputStream
som används för att skicka en formulärdataström till klientens webbläsare. - Skapa en
com.adobe.idp.Document
genom att anropaFormsResult
objekt"sgetOutputContent
-metod. - Skapa en
java.io.InputStream
genom att anropacom.adobe.idp.Document
objektetsgetInputStream
-metod. - Skapa en bytearray och fylla den med formulärdataströmmen genom att anropa
InputStream
objektetsread
och skicka bytearrayen som ett argument. - Anropa
javax.servlet.ServletOutputStream
objektetswrite
metod för att skicka formulärdataströmmen till klientens webbläsare. Skicka bytearrayen tillwrite
-metod.
- Skapa en
Se även
Snabbstart (SOAP-läge): Optimera prestanda med Java API
Inkludera AEM Forms Java-biblioteksfiler
Optimera prestanda med hjälp av webbtjänstens API optimize-the-performance-using-the-web-service-api
Rendera ett formulär med optimerade prestanda med Forms API (webbtjänst):
-
Inkludera projektfiler
- Skapa Java-proxyklasser som använder Forms tjänst-WSDL.
- Inkludera Java-proxyklasserna i klassökvägen.
-
Skapa ett Forms Client API-objekt
Skapa en
FormsService
och ange autentiseringsvärden. -
Ange alternativ för prestanda vid körning
- Skapa en
PDFFormRenderSpec
genom att använda dess konstruktor. - Ange alternativet för formulärcache genom att anropa
PDFFormRenderSpec
objektetssetCacheEnabled
och skickar true. - Ange det fristående alternativet genom att anropa
PDFFormRenderSpec
objektetssetStandAlone
och skickar true. - Ange alternativet linjär genom att anropa
PDFFormRenderSpec
objektetssetLinearizedPDF
och skickar true.
- Skapa en
-
Återge formuläret
Anropa
FormsService
objektetsrenderPDFForm
och skicka följande värden:- Ett strängvärde som anger formulärdesignens namn, inklusive filnamnstillägget.
- A
BLOB
objekt som innehåller data som ska sammanfogas med formuläret. Om du inte vill sammanfoga data skickar dunull
. - A
PDFFormRenderSpecc
objekt som lagrar körningsalternativ. - A
URLSpec
objekt som innehåller URI-värden som krävs av Forms-tjänsten. - A
java.util.HashMap
objekt som lagrar bifogade filer. Det här är en valfri parameter och du kan angenull
om du inte vill bifoga filer till formuläret. - En tom
com.adobe.idp.services.holders.BLOBHolder
objekt som fylls i av metoden. Det här används för att lagra det återgivna PDF-formuläret. - En tom
javax.xml.rpc.holders.LongHolder
objekt som fylls i av metoden. (Det här argumentet lagrar antalet sidor i formuläret). - En tom
javax.xml.rpc.holders.StringHolder
objekt som fylls i av metoden. (Det här argumentet lagrar språkets värde). - En tom
com.adobe.idp.services.holders.FormsResultHolder
objekt som innehåller resultatet av den här åtgärden.
The
renderPDFForm
metoden fyller icom.adobe.idp.services.holders.FormsResultHolder
objekt som skickas som det sista argumentvärdet med en formulärdataström som måste skrivas till klientens webbläsare. -
Skriv formulärdataströmmen till klientens webbläsare
- Skapa en
FormResult
genom att hämta värdet förcom.adobe.idp.services.holders.FormsResultHolder
objektetsvalue
datamedlem. - Skapa en
javax.servlet.ServletOutputStream
som används för att skicka en formulärdataström till klientens webbläsare. - Skapa en
BLOB
objekt som innehåller formulärdata genom att anropaFormsResult
objektetsgetOutputContent
-metod. - Skapa en bytearray och fylla i den genom att anropa
BLOB
objektetsgetBinaryData
-metod. Den här aktiviteten tilldelar innehållet iFormsResult
till bytearrayen. - Anropa
javax.servlet.http.HttpServletResponse
objektetswrite
metod för att skicka formulärdataströmmen till klientens webbläsare. Skicka bytearrayen tillwrite
-metod.
- Skapa en
Se även
Anropa AEM Forms med Base64-kodning