Show Menu
ARGOMENTI×

Service container

I servizi AEM Forms che si trovano nel contenitore di servizi (compresi i servizi standard quali il servizio di cifratura, i processi di lunga durata e di breve durata) possono essere invocati tramite diversi fornitori, 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.
Nella tabella seguente sono descritti i diversi modi in cui è possibile invocare i servizi AEM Forms a livello di programmazione.
Metodo di incitamento
Descrizione
Integrazione remota
L'integrazione remota consente ai client Flex di richiamare le operazioni di servizio. (consultate Richiamo di moduli AEM tramite (obsoleto per i moduli AEM) AEM Forms Remoting .)
API Java
Un'API Java può richiamare un servizio AEM Forms. L'API Java è organizzata nelle librerie client e nell'API Java Invocation. (consultate Attivazione di moduli AEM tramite l'API Java.)
Servizi Web
AEM Forms supporta gli standard di servizi Web quali SOAP/HTTP. Un servizio può essere esposto come servizio Web, con il WSDL conforme agli standard di servizio Web definiti da W3C.
È possibile richiamare un servizio da qualsiasi stack di servizi Web, incluso .NET Framework e Sun™ Web Services SDK. (consultate Attivazione di moduli AEM tramite i servizi Web.)
Richieste REST
AEM Forms supporta le richieste REST. Un servizio può essere richiamato direttamente da una pagina HTML. (consultate Attivazione di moduli AEM tramite richieste REST.)
L'illustrazione seguente fornisce una rappresentazione visiva dei diversi modi in cui i servizi AEM Forms possono essere invocati a livello di programmazione.
Oltre a utilizzare AEM Forms SDK per creare applicazioni client in grado di richiamare i servizi AEM Forms, puoi anche creare componenti che possono essere distribuiti nel contenitore di servizi. Ad esempio, è possibile creare un componente Banca che contiene tipi di dati personalizzati utilizzabili nei processi. È quindi possibile creare un tipo di dati come com.adobe.idp.BankAccount . Potete quindi creare com.adobe.idp.BankAccount istanze nelle applicazioni client.
Il contenitore del servizio fornisce le seguenti funzionalità:
  • Consente di richiamare i servizi AEM Forms con metodi diversi. Potete configurare un servizio impostando gli endpoint in modo che possa essere invocato utilizzando tutti i metodi: Remoto, API Java, servizi Web e REST. (Vedere Gestione programmatica degli endpoint .)
  • Converte un messaggio in un formato normalizzato denominato richiesta di chiamata. Una richiesta di chiamata viene inviata da un'applicazione client (o da un altro servizio) a un servizio situato 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. Di conseguenza, una richiesta di chiamata in genere contiene un documento, che può essere dati PDF, dati XDP, dati XML e così via.
  • Invia 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 del 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. Ad esempio, si supponga 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 . (consultate Trasmissione di dati ai servizi AEM Forms tramite l'API Java).
    Se richiamate un servizio utilizzando le cartelle esaminate, quando inserite un file in una cartella esaminata configurata viene inviata una richiesta di chiamata. Se richiamate un servizio tramite e-mail, una richiesta di chiamata viene inviata a un servizio quando un messaggio e-mail arriva in una inbox configurata.
    Il contenitore del servizio invia una risposta di chiamata una volta eseguita l'operazione. Una risposta di chiamata contiene informazioni quali i risultati dell'operazione. Ad esempio, se l'operazione modifica un documento PDF, la risposta di chiamata contiene il documento PDF modificato. Se l'operazione non ha avuto esito positivo, la risposta di chiamata contiene un messaggio di errore.
    Una risposta di chiamata può essere recuperata 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 viene richiamato un processo di lunga durata, una risposta di chiamata contiene un valore di identificatore associato alla richiesta di chiamata. Utilizzando questo valore di identificatore, potete controllare lo stato del processo in un secondo momento. Ad esempio, si consideri il servizio di lunga durata di mutuo ipotecario. Utilizzando il valore dell'identificatore, potete verificare se il processo è stato completato correttamente. (Vedete Richiamo Di Processi Lunghi Orientati All’Umano.)
    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