Contenitore servizio service-container

Gli esempi e gli esempi contenuti in questo documento sono solo per AEM Forms in ambiente JEE.

I servizi AEM Forms nel contenitore di servizi (inclusi i servizi standard come il servizio di crittografia, i processi di lunga durata e quelli di breve durata) possono essere richiamati utilizzando vari provider, ad esempio un provider EJB. Un provider EJB consente di richiamare i servizi AEM Forms tramite RMI/IIOP. Un provider di servizi Web espone i servizi come servizi Web (generazione WSDL) utilizzando standard quali SOAP/HTTP e SOAP/JMS.

La tabella seguente descrive i diversi modi in cui è possibile richiamare a livello di programmazione i servizi di AEM Forms.

Metodo di chiamata
Descrizione
Integrazione remota
L'integrazione remota consente ai client Flex di richiamare le operazioni del servizio. (Vedi Chiamata di AEM Forms tramite (obsoleto per i moduli AEM) AEM Forms Remoting.)
API Java
Un’API Java può richiamare un servizio AEM Forms. L’API Java è organizzata in librerie client e API Java Invocation. (Vedi Richiamare AEM Forms utilizzando l'API Java.)
Servizi web

AEM Forms supporta gli standard dei servizi web come SOAP/HTTP. Un servizio può essere esposto come servizio web, con il WSDL conforme agli standard di servizio web definiti dal W3C.

Un servizio può essere richiamato da qualsiasi stack di servizi Web, inclusi .NET Framework e Sun™ Web Services SDK. (Vedi Chiamata di AEM Forms tramite servizi Web.)

Richieste REST
AEM Forms supporta le richieste REST. Un servizio può essere richiamato direttamente da una pagina HTML. (Vedi Richiamo di AEM Forms tramite richieste REST.)

L’illustrazione seguente fornisce una rappresentazione visiva dei diversi modi in cui i servizi AEM Forms possono essere richiamati a livello di programmazione.

NOTE
Oltre a utilizzare l’SDK di AEM Forms per creare applicazioni client che possono richiamare i servizi AEM Forms, puoi anche creare componenti che possono essere distribuiti nel contenitore di servizi. È ad esempio possibile creare un componente Banca contenente tipi di dati personalizzati che possono essere utilizzati nei processi. In altre parole, è possibile creare un tipo di dati come com.adobe.idp.BankAccount. Puoi quindi creare com.adobe.idp.BankAccount istanze nelle applicazioni client.

Il contenitore di servizi fornisce le funzionalità seguenti:

  • Consente di richiamare i servizi AEM Forms utilizzando metodi diversi. Puoi configurare un servizio impostando gli endpoint in modo che possano essere richiamati utilizzando tutti i metodi: Remoting, API Java, servizi web e REST. (Vedi Gestione programmatica degli endpoint.)

  • Converte un messaggio in un formato normalizzato denominato richiesta di chiamata. Viene inviata una richiesta di chiamata da un'applicazione client (o da un altro servizio) a un servizio nel contenitore del servizio. Una richiesta di chiamata contiene informazioni quali il nome del servizio da richiamare e i valori dei dati necessari per eseguire l'operazione. Molti servizi richiedono un documento per eseguire un'operazione. Pertanto, una richiesta di chiamata contiene in genere un documento, che può essere costituito da dati PDF, dati XDP, dati XML e così via.

  • Indirizza le richieste di chiamata ai servizi appropriati (il nome del servizio da richiamare fa parte della richiesta di chiamata).

  • Esegue attività quali determinare se il chiamante dispone dell'autorizzazione per richiamare l'operazione di servizio specificata. La richiesta di chiamata deve contenere un nome utente e una password validi per i moduli AEM.

    Esistono diversi modi per inviare una richiesta di chiamata a un servizio. Inoltre, esistono diversi modi per inviare i valori di input richiesti al servizio. Si supponga, ad esempio, di utilizzare l'API Java per richiamare un servizio che richiede un documento PDF. Il metodo Java corrispondente contiene un parametro che accetta un documento PDF. In questa situazione, il tipo di dati del parametro è com.adobe.idp.Document. (Vedi Trasmissione di dati ai servizi AEM Forms tramite l'API Java.)

    Se richiami un servizio utilizzando cartelle controllate, viene inviata una richiesta di chiamata quando inserisci un file in una cartella controllata configurata. Se si richiama un servizio tramite posta elettronica, viene inviata una richiesta di chiamata a un servizio quando un messaggio di posta elettronica arriva in una casella in entrata configurata.

    Il contenitore del servizio invia una risposta di chiamata una volta eseguita l'operazione. Una risposta alla chiamata contiene informazioni quali i risultati dell'operazione. Se, ad esempio, l'operazione modifica un documento PDF, la risposta alla chiamata contiene il documento PDF modificato. Se l'operazione non è riuscita, la risposta alla chiamata contiene un messaggio di errore.

    È possibile recuperare una risposta di chiamata nello stesso modo in cui viene inviata una richiesta di chiamata. In altre parole, se la richiesta di chiamata viene inviata utilizzando l’API Java, è possibile recuperare una risposta di chiamata utilizzando l’API Java. Si supponga, ad esempio, che un'operazione modifichi un documento PDF. È possibile recuperare il documento PDF modificato ottenendo il valore restituito dal metodo Java che ha richiamato il servizio.

    Quando si richiama un processo di lunga durata, una risposta di chiamata contiene un valore di identificatore associato alla richiesta di chiamata. Utilizzando questo valore di identificatore, puoi controllare lo stato del processo in un secondo momento. Ad esempio, si consideri il servizio di lunga durata di MortgageLoan. Utilizzando il valore dell’identificatore, puoi verificare se il processo è stato completato correttamente. (Vedi Richiamare Processi A Lunga Durata Incentrati Sull'Uomo.)

    Il diagramma seguente mostra un’applicazione client (che utilizza l’API Java) che richiama un servizio.

    Quando un'applicazione client richiama un servizio, si verificano tre eventi:

    1. Un'applicazione client invia una richiesta di chiamata a un servizio.
    2. Il servizio esegue l'operazione specificata nella richiesta di chiamata.
    3. Il contenitore del servizio restituisce una risposta di chiamata all'applicazione client.

Consulta anche

Informazioni sui processi di AEM Forms

Richiamare AEM Forms tramite (obsoleto per i moduli AEM) AEM Forms Remoting

Richiamare AEM Forms tramite l’API Java

Richiamare AEM Forms tramite servizi Web

Richiamare processi a lunga durata incentrati sull'uomo

Richiamare AEM Forms tramite richieste REST

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2