Contenedor de servicio

Los servicios de AEM Forms ubicados en el contenedor de servicios (incluidos servicios estándar como el servicio de cifrado, procesos de larga duración y de corta duración) se pueden invocar mediante varios proveedores, como un proveedor de EJB. Un proveedor de EJB permite que los servicios de AEM Forms se invoquen a través de RMI/IIOP. Un proveedor de servicios web expone los servicios como servicios web (generación WSDL) utilizando estándares como SOAP/HTTP y SOAP/JMS.

En la tabla siguiente se describen las distintas formas en que puede invocar los servicios de AEM Forms mediante programación.

Método de invocación

Descripción

Integración remota

La integración remota permite a los clientes de Flex invocar operaciones de servicio. (Consulte Invocación de AEM Forms mediante (obsoleto para AEM formularios) AEM Forms Remoting).

API de Java

Una API de Java puede invocar un servicio de AEM Forms. La API de Java está organizada en bibliotecas de cliente y en la API de invocación de Java. (Consulte Invocación de AEM Forms mediante la API de Java).

Servicios web

AEM Forms admite estándares de servicios web como SOAP/HTTP. Un servicio se puede exponer como un servicio web, con el WSDL cumpliendo con los estándares de servicio web definidos por W3C.

Se puede invocar un servicio desde cualquier pila de servicios web, incluidos .NET Framework y el SDK de los servicios web de Sun™. (Consulte Invocación de AEM Forms mediante servicios Web).

Solicitudes REST

AEM Forms admite solicitudes REST. Un servicio se puede invocar directamente desde una página HTML. (Consulte Invocación de AEM Forms mediante solicitudes REST).

La siguiente ilustración proporciona una representación visual de las diferentes formas en que se pueden invocar los servicios de AEM Forms mediante programación.

NOTA

Además de utilizar el SDK de AEM Forms para crear aplicaciones cliente que puedan invocar los servicios de AEM Forms, también puede crear componentes que se puedan implementar en el contenedor de servicios. Por ejemplo, puede crear un componente Banco que contenga tipos de datos personalizados que se puedan utilizar en procesos. Es decir, puede crear un tipo de datos como com.adobe.idp.BankAccount. A continuación, puede crear instancias com.adobe.idp.BankAccount en las aplicaciones cliente.

El contenedor de servicio proporciona la siguiente funcionalidad:

  • Permite que los servicios de AEM Forms se invoquen con métodos diferentes. Puede configurar un servicio estableciendo extremos para que se pueda invocar mediante todos los métodos: Remoting, la API de Java, los servicios web y REST. (Consulte Administración programática de puntos de conexión).

  • Convierte un mensaje en un formato normalizado denominado solicitud de invocación. Se envía una solicitud de invocación desde una aplicación cliente (u otro servicio) a un servicio ubicado en el contenedor de servicios. Una solicitud de invocación contiene información como el nombre del servicio que se va a invocar y los valores de datos necesarios para realizar la operación. Muchos servicios requieren un documento para realizar una operación. Por lo tanto, una solicitud de invocación generalmente contiene un documento, que puede ser datos PDF, datos XDP, datos XML, etc.

  • Envía solicitudes de invocación a servicios apropiados (el nombre del servicio que se va a invocar forma parte de la solicitud de invocación).

  • Realiza tareas como determinar si el llamador tiene permiso para invocar la operación de servicio especificada. La solicitud de invocación debe contener un nombre de usuario y una contraseña válidos para los formularios AEM.

    Existen diferentes maneras de enviar una solicitud de invocación a un servicio. Además, existen diferentes maneras de enviar los valores de entrada necesarios al servicio. Por ejemplo, supongamos que utiliza la API de Java para invocar un servicio que requiere un documento PDF. El método Java correspondiente contiene un parámetro que acepta un documento PDF. En este caso, el tipo de datos del parámetro es com.adobe.idp.Document. (Consulte Pasar datos a servicios de AEM Forms mediante la API de Java).

    Si invoca un servicio mediante carpetas vigiladas, se envía una solicitud de invocación cuando se coloca un archivo en una carpeta vigilada configurada. Si invoca un servicio mediante correo electrónico, se envía una solicitud de invocación a un servicio cuando llega un mensaje de correo electrónico a una bandeja de entrada configurada.

    El contenedor de servicio devuelve una respuesta de invocación una vez realizada la operación. Una respuesta de invocación contiene información como los resultados de la operación. Por ejemplo, si la operación modifica un documento PDF, la respuesta de invocación contiene el documento PDF modificado. Si la operación no se realizó correctamente, la respuesta de invocación contiene un mensaje de error.

    Se puede recuperar una respuesta de invocación del mismo modo en que se envía una solicitud de invocación. Es decir, si la solicitud de invocación se envía mediante la API de Java, se puede recuperar una respuesta de invocación mediante la API de Java. Supongamos, por ejemplo, que una operación modifica un documento PDF. Puede recuperar el documento PDF modificado obteniendo el valor devuelto del método Java que invocó el servicio.

    Cuando se invoca un proceso de larga duración, una respuesta de invocación contiene un valor de identificador asociado con la solicitud de invocación. Utilizando este valor de identificador, puede comprobar el estado del proceso en un momento posterior. Por ejemplo, consideremos el servicio de larga duración de MortgageLoan. Con el valor del identificador, puede comprobar si el proceso se completó correctamente. (Consulte Invocación de procesos de larga duración centrados en los humanos).

    El diagrama siguiente muestra una aplicación cliente (que utiliza la API de Java) que invoca un servicio.

    Cuando una aplicación cliente invoca un servicio, se producen tres eventos:

    1. Una aplicación cliente envía una solicitud de invocación a un servicio.
    2. El servicio realiza la operación especificada en la solicitud de invocación.
    3. El contenedor de servicio devuelve una respuesta de invocación a la aplicación cliente.

Consulte también

Explicación de los procesos de AEM Forms

Invocación de AEM Forms mediante AEM Forms Remoting (obsoleto para formularios AEM)

Invocación de AEM Forms mediante la API de Java

Invocación de AEM Forms mediante servicios web

Invocación de procesos de larga vida centrados en el ser humano

Invocación de AEM Forms mediante solicitudes REST

En esta página