Show Menu
TEMAS×

Contenedor de servicio

Los servicios de AEM Forms ubicados en el contenedor de servicios (incluidos los servicios estándar como el servicio de cifrado, los procesos de larga duración y los de corta duración) se pueden invocar mediante varios proveedores, como un proveedor 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) mediante estándares como SOAP/HTTP y SOAP/JMS.
En la tabla siguiente se describen las distintas formas en que se pueden 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 formularios AEM mediante AEM Forms Remoting (obsoleto para formularios AEM)).
API de Java
Una API de Java puede invocar un servicio de AEM Forms. La API de Java está organizada en bibliotecas de clientes y la API de invocación de Java. (Consulte Invocación de formularios AEM mediante la API de Java).
Servicios Web
AEM Forms admite estándares de servicio web como SOAP/HTTP. Un servicio puede exponerse 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 servicios Web de Sun™. (Consulte Invocación de formularios AEM 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 formularios AEM mediante solicitudes REST).
En la siguiente ilustración se muestra una representación visual de las diferentes formas en que se pueden invocar los servicios de AEM Forms mediante programación.
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 los procesos. Es decir, puede crear un tipo de datos como com.adobe.idp.BankAccount . A continuación, puede crear com.adobe.idp.BankAccount instancias en las aplicaciones cliente.
El contenedor de servicios 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 con todos los métodos: Remoting, la API de Java, los servicios web y REST. (Consulte Administración programada de extremos ).
  • 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 suele contener 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 Paso de datos a los servicios de AEM Forms mediante la API de Java).
    Si invoca un servicio mediante carpetas vigiladas, se envía una solicitud de invocación al colocar 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 un mensaje de correo electrónico llega a una bandeja de entrada configurada.
    El contenedor de servicios devuelve una respuesta de invocación una vez que se realiza 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.
    Una respuesta de invocación se puede recuperar 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 a la solicitud de invocación. Con este valor de identificador, puede comprobar el estado del proceso más adelante. Por ejemplo, consideremos el servicio de larga duración de MortgageLoan. Mediante el valor del identificador, puede comprobar si el proceso se ha completado correctamente. (Consulte Invocación De Procesos Largos Centrados En El Hombre).
    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 servicios devuelve una respuesta de invocación a la aplicación cliente.
Consulte también